Skip to menu Skip to content Skip to footer
Course profile

Introduction to Software Engineering (CSSE7030)

Study period
Sem 2 2024
Location
St Lucia
Attendance mode
In Person

Course overview

Study period
Semester 2, 2024 (22/07/2024 - 18/11/2024)
Study level
Postgraduate Coursework
Location
St Lucia
Attendance mode
In Person
Units
2
Administrative campus
St Lucia
Coordinating unit
Elec Engineering & Comp Science School

Introduction to Software Engineering through programming with particular focus on the fundamentals of computing and programming, using an exploratory problem-based approach. Building abstractions with procedures, data and objects; data modelling; designing, coding and debugging programs of increasing complexity.

This course introduces fundamental concepts in software engineering, using the Python programming language. Emphasis is placed on problem solving using computational techniques, creating algorithms and designing classes.

Course requirements

Assumed background

No prior knowledge of programming is assumed.

Incompatible

You can't enrol in this course if you've already completed the following:

COMP1502, CSSE1001, ENGG1001

Course staff

Course coordinator

Lecturer

Dr Azin Janani

Timetable

The timetable for this course is available on the UQ Public Timetable.

Additional timetable information

Note that contact and practical sessions start in week 1 and week 2, respectively. You need to sign-on for one of the practical group streams and one of the contact session streams. Students may attend additional contact sessions, beyond the one to which they are allocated, if there are not too many students in the room for the demonstrators to manage, they may limit attendance to only those allocated to the session.

Practical sessions tend to become very crowded close to assignment due dates. Demonstrators may limit attendance to only those allocated to a practical session to ensure that the session is manageable.

Lectures will be recorded and available on the course Blackboard site. However, attendance at the physical lecture is strongly recommended, with recordings used to revise content.

An In-Semester Exam will be scheduled on one of the following dates: Saturday, 31 August (end of week 6) or Saturday, 7 September (end of week 7) or Saturday, 14 September (end of week 8) 

The exact date and time of the In-Semester Exam will be announced via email and on the course Blackboard site later during the semester.

Aims and outcomes

This course focuses on the organising ideas of software design and construction. Because software systems are highly complex structures, special effort and techniques are needed to control that complexity and make them understandable by humans, not simply machines. Taking this course will teach you such techniques, which are common to good software engineering design, independent of the programming language, and include building abstractions to hide details, separating specification from implementation and establishing conventional interfaces to allow the creation of standard modules. Programming practice is necessary to the course, and you'll be using Python as it is well-suited to understanding fundamental computing ideas and practices.

At course completionᅠyou will be able to analyse a problem and design and implement a computational solution to the problem.ᅠYou will make use of three major programming paradigms: structured, object-oriented and event-driven.

Learning outcomes

After successfully completing this course you should be able to:

LO1.

apply program constructs such as variables, selection, iteration and sub-routines,

LO2.

apply basic object-oriented concepts such as classes, instances and methods,

LO3.

read and analyse code written by others,

LO4.

analyse a problem and design an algorithmic solution to the problem,

LO5.

read and analyse a design and be able to translate the design into a working program,

LO6.

apply techniques for testing and debugging,

LO7.

design and implement simple GUIs

Assessment

Assessment summary

Category Assessment task Weight Due date
Computer Code Computer exercise (Assignment 1) 15%

23/08/2024 3:00 pm

Examination In-semester Exam
  • Identity Verified
  • In-person
20%

In-semester Saturday

31/08/2024 - 14/09/2024

An In-Semester Exam will be scheduled on one of the following Saturdays: 31 August (week 6) or 7 September (week 7) or 14 September (week 8) 

The exact date and time of the In-Semester Exam will be announced via email and on the course Blackboard site later during the semester.

Computer Code Computer exercise 2 (Assignment 2 and Shifoo)
  • Online
25% (Assignment 2 15% and Shifoo exercises 10%)

Assignment 2 25/10/2024 3:00 pm

Shifoo Exercise 1 29/07/2024 3:00 pm

Shifoo Exercise 2 5/08/2024 3:00 pm

Shifoo Exercise 3 12/08/2024 3:00 pm

Shifoo Exercise 4 19/08/2024 3:00 pm

Shifoo Exercise 5 26/08/2024 3:00 pm

Shifoo Exercise 6 2/09/2024 3:00 pm

Shifoo Exercise 7 9/09/2024 3:00 pm

Shifoo Exercise 8 16/09/2024 3:00 pm

Shifoo Exercise 9 30/09/2024 3:00 pm

Shifoo Exercise 10 8/10/2024 3:00 pm

Shifoo Exercise 11 14/10/2024 3:00 pm

Shifoo Exercise 12 21/10/2024 3:00 pm

Examination End of semester exam
  • Hurdle
  • Identity Verified
  • In-person
40%

End of Semester Exam Period

2/11/2024 - 16/11/2024

A hurdle is an assessment requirement that must be satisfied in order to receive a specific grade for the course. Check the assessment details for more information about hurdle requirements.

Assessment details

Computer exercise (Assignment 1)

Mode
Product/ Artefact/ Multimedia, Written
Category
Computer Code
Weight
15%
Due date

23/08/2024 3:00 pm

Learning outcomes
L01, L03, L04, L05, L06

Task description

Students will implement a small program based on a specification.

This assessment covers topics from teaching week one through four. 

Submission guidelines

Deferral or extension

You may be able to apply for an extension.

The maximum extension allowed is 7 days. Extensions are given in multiples of 24 hours.

Marked submissions with feedback and/or detailed solutions with feedback will be released to students within 7 days.

Late submission

Assignment submissions received after the due time (or any approved extended deadline) will be subject to a 100% late penalty. A one-hour grace period applies to the due time after which time (4:00pm) the 100% late penalty will be imposed. This grace period is designed to deal with issues that might arise during submission (e.g. delays with Blackboard or Gradescope) and should not be considered a shift of the due time.

In-semester Exam

  • Identity Verified
  • In-person
Mode
Written
Category
Examination
Weight
20%
Due date

In-semester Saturday

31/08/2024 - 14/09/2024

An In-Semester Exam will be scheduled on one of the following Saturdays: 31 August (week 6) or 7 September (week 7) or 14 September (week 8) 

The exact date and time of the In-Semester Exam will be announced via email and on the course Blackboard site later during the semester.

Learning outcomes
L01, L03, L04, L05

Task description

The exam will test understanding of the concepts covered over the first 5 or 6 weeks (depending to the scheduled date of the exam). 

Exam details

Planning time 10 minutes
Duration 90 minutes
Calculator options

(In person) Casio FX82 series or UQ approved , labelled calculator only

Open/closed book Closed Book examination - no written materials permitted
Exam platform Paper based
Invigilation

Invigilated in person

Submission guidelines

Deferral or extension

You may be able to defer this exam.

Computer exercise 2 (Assignment 2 and Shifoo)

  • Online
Mode
Product/ Artefact/ Multimedia, Written
Category
Computer Code
Weight
25% (Assignment 2 15% and Shifoo exercises 10%)
Due date

Assignment 2 25/10/2024 3:00 pm

Shifoo Exercise 1 29/07/2024 3:00 pm

Shifoo Exercise 2 5/08/2024 3:00 pm

Shifoo Exercise 3 12/08/2024 3:00 pm

Shifoo Exercise 4 19/08/2024 3:00 pm

Shifoo Exercise 5 26/08/2024 3:00 pm

Shifoo Exercise 6 2/09/2024 3:00 pm

Shifoo Exercise 7 9/09/2024 3:00 pm

Shifoo Exercise 8 16/09/2024 3:00 pm

Shifoo Exercise 9 30/09/2024 3:00 pm

Shifoo Exercise 10 8/10/2024 3:00 pm

Shifoo Exercise 11 14/10/2024 3:00 pm

Shifoo Exercise 12 21/10/2024 3:00 pm

Learning outcomes
L01, L02, L03, L04, L05, L06, L07

Task description

This task has two main components as following:

  1. Assignment 2: This component will pull together what you have learnt throughout the semester. You will create a more sophisticated program that makes use of a graphical user interface to enable a more flexible model of interaction with the user.
  2. Shifoo programming exercises: There are weekly sets of programming exercises to practice content of the week and to prepare yourself for Assignment 2. Best 10 out of 12 will be counted (1% each).

Submission guidelines

Deferral or extension

You may be able to apply for an extension.

Assignment 2

Maximum Extension: 7 days. Marked submissions with feedback and/or detailed solutions with feedback will be released to students within 7 days.

Late Penalty: 100% Late Penalty after 1 hour grace period. The one-hour grace period is recorded from the time the submission is due. 

Shifoo Exercises

No extensions available and 100% Late penalty applied for Shifoo exercises. To accommodate unforeseen circumstances such as illness, your score will be based on the best 10 out of 12 submissions.

End of semester exam

  • Hurdle
  • Identity Verified
  • In-person
Mode
Written
Category
Examination
Weight
40%
Due date

End of Semester Exam Period

2/11/2024 - 16/11/2024

Learning outcomes
L01, L02, L03, L04, L05, L06, L07

Task description

This is a closed book and identity verified examination that is written on campus.

The final exam is compulsory and covers the entire course. 

The final exam will be scheduled at a fixed time for all students.

Hurdle requirements

The minimum mark to pass the course is 50%.

Exam details

Planning time 10 minutes
Duration 120 minutes
Calculator options

(In person) Casio FX82 series or UQ approved , labelled calculator only

Open/closed book Closed Book examination - no written materials permitted
Exam platform Paper based
Invigilation

Invigilated in person

Submission guidelines

Deferral or extension

You may be able to defer this exam.

Course grading

Full criteria for each grade is available in the Assessment Procedure.

Grade Cut off Percent Description
1 (Low Fail) 0 - 10

Absence of evidence of achievement of course learning outcomes.

2 (Fail) 11 - 40

Minimal evidence of achievement of course learning outcomes.

3 (Marginal Fail) 41 - 50

Demonstrated evidence of developing achievement of course learning outcomes

4 (Pass) 51 - 60

Demonstrated evidence of functional achievement of course learning outcomes.

5 (Credit) 61 - 75

Demonstrated evidence of proficient achievement of course learning outcomes.

6 (Distinction) 76 - 90

Demonstrated evidence of advanced achievement of course learning outcomes.

7 (High Distinction) 91 - 100

Demonstrated evidence of exceptional achievement of course learning outcomes.

Additional course grading information

A mark in this course is calculated from the following four assessments in this course:

1. Assignment 1 (A1) 

2. In-semester exam (EM)

3. Assignment 2 + Shifoo (A2)

4. End-of-semester Exam (EF)

Supposing A1, EM, A2, EF are percentages in [0%, 100%] then your mark is MARK = MAX(M1, M2) where:

M1 = 15*A1 + 25*A2 + 20*EM + 40*EF

M2 = 15*A1 + 25*A2 +10*EM + 50*EF

This means that poor performance on the in-semester exam can be mitigated by performing well on the final exam.

Your mark will be computed using two digits precision, then rounded UP. At the discretion of the course coordinator, marks for the assessment items may be adjusted upwards (uniformly across the class), but not downwards.

End-of-semester Exam mark less than 50% means grade is capped at 3.

Supplementary assessment

Supplementary assessment is available for this course.

Additional assessment information

Generative AI and Machine Translation in Assessment

These assessment tasks evaluate students' abilities, skills and knowledge without the aid of generative Artificial Intelligence (AI) or Machine Translation (MT). Students are advised that the use of AI technologies to develop responses is strictly prohibited and may constitute student misconduct under the Student Code of Conduct.

Having Troubles?

If you are having difficulties with any aspect of the course material, you should seek help. Speak to your teaching team and/or the course coordinator.

If external circumstances are affecting your ability to work on the course, you should seek help as soon as possible. The University and UQ Union have organisations and staff who are able to help, for example, UQ Student Services are able to help with study and exam skills, tertiary learning skills, writing skills, financial assistance, personal issues, and disability services (among other things).

Complaints and criticisms should be directed in the first instance to the course coordinator. If you are not satisfied with the outcome, you may bring the matter to the attention of the EECS Director of Teaching & Learning.

Learning resources

You'll need the following resources to successfully complete the course. We've indicated below if you need a personal copy of the reading materials or your own item.

Library resources

Find the required and recommended resources for this course on the UQ Library website.

Additional learning resources information

Blackboard

There are extensive video modules, readings, examples, tutorial exercises, assignments and other resources that can be accessed via Blackboard.

Online Material

Lecture related notesᅠcan be accessed viaᅠBlackboard. Lectures will be example driven, demonstrating the application of the concepts covered in the weekly readings.ᅠYou need to be prepared for the lectures for this course by having read the weekly notesᅠbeforehand.

This course will make use of ShiFoo.ᅠShiFoo is a tutorial system that automatically checks your answers and gives you feedback.

Facilities

Practical work for this course will take place in the PC labs. Several slots have been booked for this course, when you will have priority in the lab. A demonstrator will be present to answer questions and help with any problems - this includes any problems you are having with any of the online material. You should be aware that you will need to do more work independently of the 2 hours per week that is set aside for practicals.

The required software, libraries and documentation are on the machines in the PC labs and instructions for downloading for home use can be accessed via Blackboard.

For details of the Occupational Health and Safety requirements of the labs, refer to the EECS Student Guide.

Handouts

Notes, assignments, solutions, etc. will be made available through Blackboard.

Distribution of Notices

Important notices will appear on Blackboard.

Ed discussion forum 

This course will use Ed Discussion forum.

Learning activities

The learning activities for this course are outlined below. Learn more about the learning outcomes that apply to this course.

Filter activity type by

Please select
Clear filters
Learning period Activity type Topic
Multiple weeks

From Week 1 To Week 13
(22 Jul - 27 Oct)

General contact hours

Contact Sessions

Learning outcomes: L01, L02, L03, L04, L05, L06, L07

Week 1

(22 Jul - 28 Jul)

Lecture

Week 1

Course introduction.
Arithmetic, types and variables in programming.

Learning outcomes: L01, L03

Multiple weeks

From Week 2 To Week 13
(29 Jul - 27 Oct)

Practical

Practicals

Learning outcomes: L01, L02, L03, L04, L05, L06, L07

Week 2

(29 Jul - 04 Aug)

Lecture

Week 2

Functions and Control Structures.

Learning outcomes: L01, L03, L04, L05, L06

Week 3

(05 Aug - 11 Aug)

Lecture

Week 3

Loops and Strings

Learning outcomes: L01, L03, L04, L05, L06

Week 4

(12 Aug - 18 Aug)

Lecture

Week 4

Tuples, Lists, and Dictionaries

Learning outcomes: L01

Week 5

(19 Aug - 25 Aug)

Lecture

Week 5

File IO and Testing

Learning outcomes: L01, L02, L03, L04, L05, L06

Week 6

(26 Aug - 01 Sep)

Lecture

Week 6

Scope and Intro to Object Oriented Programming

Learning outcomes: L01, L02, L03, L04, L05, L06

Week 7

(02 Sep - 08 Sep)

Lecture

Week 7

Exceptions, Inheritance and Polymorphism

Learning outcomes: L01, L02, L03, L04, L05, L06

Week 8

(09 Sep - 15 Sep)

Lecture

Week 8

Graphical User Interfaces 1: Basic Widgets

Learning outcomes: L01, L02, L03, L05, L06, L07

Week 9

(16 Sep - 22 Sep)

Lecture

Week 9

Graphical User Interface 2: Frames, Events and Canvas

Learning outcomes: L01, L02, L03, L05, L06, L07

Week 10

(30 Sep - 06 Oct)

Lecture

Week 10

Graphical User Interface 3: Menus and File Dialog

Introduction to Functional Programming

Learning outcomes: L01, L02, L03, L05, L06, L07

Week 12

(14 Oct - 20 Oct)

Lecture

Week 12

Functional Programming and Recursion

Learning outcomes: L01, L03, L04, L05, L06

Week 13

(21 Oct - 27 Oct)

Lecture

Week 13

Revision.

Learning outcomes: L01, L02, L03, L04, L05, L06, L07

Policies and procedures

University policies and procedures apply to all aspects of student life. As a UQ student, you must comply with University-wide and program-specific requirements, including the:

Learn more about UQ policies on my.UQ and the Policy and Procedure Library.

School guidelines

Your school has additional guidelines you'll need to follow for this course: