Course overview
- Study period
- Semester 2, 2025 (28/07/2025 - 22/11/2025)
- Study level
- Undergraduate
- Location
- St Lucia
- Attendance mode
- In Person
- Units
- 2
- Administrative campus
- St Lucia
- Coordinating unit
- Elec Engineering & Comp Science School
Data structures and types, mapping of abstract information structures into representations on primary and secondary storage. Analysis of time and space complexity of algorithms. Sequences. Lists. Stacks. Queues. Sets, multisets, tables. Trees. Sorting. Hash tables. Priority queues. Graphs. String algorithms.
This course will introduce data structures and algorithms that are important for designing computer programs with performance guarantees and constitute the basis of complex software systems. Broadly speaking, this course will teach you to think - and to solve problems - like a computer scientist. The course will also cover a set of analytical techniques that are fundamental for advanced studies in theoretical computer science.
Changes to this offering include:
- Re-weighting both assignments to be 20% each (from 15% and 25% respectively);
- Moving from Python to Java as the primary programming language used throughout the course;
- Introducing problem sets in an effort to increase exposure to problem solving tasks;
- Increasing the end-of-semester examination to 180 minutes; and
- Minor improvements to course material including lecture slides, tutorial questions, and practical examples.
Course requirements
Assumed background
Prior programming experience in an object-oriented language (e.g. Python, Java, C++, C#, etc.),ᅠwith a good understanding of the principle of encapsulation,ᅠis assumed.
Prerequisites
You'll need to complete the following courses before enrolling in this one:
CSSE2002 and (MATH1061 or (CSSE2010 and STAT2202))
Incompatible
You can't enrol in this course if you've already completed the following:
COMP2502 or COMP7505
Jointly taught details
This course is jointly-taught with:
- COMP7505
All learning activities are jointly taught.
Course contact
Course staff
Lecturer
Timetable
The timetable for this course is available on the UQ Public Timetable.
Aims and outcomes
This course will build an understanding of how the architecture of a computer impacts the construction of programs and how data structures and algorithms can be constructed to efficiently perform desired functionality. The goal of this course is to build enough understanding of data structures and associated algorithms so that an appropriate set can be selected in the design of new software. The students should develop an understanding of:
- How computer data structures impact the performance of complex software;
- Fundamental algorithms and data structuresᅠincluding their time and space requirements;
- How to select appropriate data structures and algorithms to settle practical problems;
- Mathematical techniques for designing and analysing algorithms with performance guarantees.
Assessment
Assessment summary
Category | Assessment task | Weight | Due date |
---|---|---|---|
Tutorial/ Problem Set | Problem Sets | 10% (Best 4 of 5) |
15/08/2025 4:00 pm 29/08/2025 4:00 pm 19/09/2025 4:00 pm 10/10/2025 4:00 pm 31/10/2025 4:00 pm |
Computer Code | Assignment 1 | 20% |
5/09/2025 4:00 pm |
Computer Code | Assignment 2 | 20% |
24/10/2025 4:00 pm |
Examination |
Final Exam
|
50% |
End of Semester Exam Period 8/11/2025 - 22/11/2025 |
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
Problem Sets
- Mode
- Written
- Category
- Tutorial/ Problem Set
- Weight
- 10% (Best 4 of 5)
- Due date
15/08/2025 4:00 pm
29/08/2025 4:00 pm
19/09/2025 4:00 pm
10/10/2025 4:00 pm
31/10/2025 4:00 pm
Task description
Problem sets are designed to consolidate the knowledge of the course material, demonstrate your ability to understand data structures, solve simple algorithmic problems, compute the time and space complexity of algorithms, and optimize their computational complexity. These activities are designed to keep students engaged with the week-by-week teaching material.
The best 4 of 5 submissions will be used to calculate a student's mark, with each submission weighted equally. Each problem set will be accompanied by a detailed specification sheet uploaded to Blackboard.
Artificial Intelligence (AI) and Machine Translation (MT) tools may be used for this assignment. See additional assessment information below for more information.
Submission guidelines
The assessment will be submitted online via the Gradescope platform. Detailed instructions will be provided in the task specification.
Deferral or extension
You cannot defer or apply for an extension for this assessment.
Because only the best 4 of 5 problem sets will contribute to the mark for this assessment item and results/answers are released soon after the due date, no extensions are permitted.
If a student - who has had valid reasons for an extension - has not submitted at least 4 problem sets by the end of semester, they will have their quiz score weighted at n * 2.5% (where n is the number of problem sets submitted), and their final exam weight will be increased by (4-n) * 2.5%.
Late submission
You will receive a mark of 0 if this assessment is submitted late.
Because the results/answers are released soon after the due date, and only the best 4 of 5 will contribute to the mark for this assessment item, a 100% penalty will be applied to late submissions. This has been approved by the Associate Dean (Academic).
Assignment 1
- Mode
- Written
- Category
- Computer Code
- Weight
- 20%
- Due date
5/09/2025 4:00 pm
Task description
In the first assignment, you will demonstrate your ability to translate theory to practice by implementing fundamental data structures to solve a range of algorithmic problems. Artificial Intelligence (AI) and Machine Translation (MT) tools may be used for this assignment. See additional assessment information below for more information.
Submission guidelines
The assessment will be submitted online via the Gradescope platform. Detailed instructions will be provided in the task specification.
Deferral or extension
You may be able to apply for an extension.
The maximum extension allowed is 7 days as feedback will be provided within 14 days. Extensions are given in multiples of 24 hours.
Late submission
A penalty of 10% of the maximum possible mark will be deducted per 24 hours from time submission is due for up to 7 days. After 7 days, you will receive a mark of 0.
Assignment 2
- Mode
- Written
- Category
- Computer Code
- Weight
- 20%
- Due date
24/10/2025 4:00 pm
Task description
In the second assignment, you will demonstrate your ability to design, implement and apply complex data structures and algorithms to solve advanced computing problems. Artificial Intelligence (AI) and Machine Translation (MT) tools may be used for this assignment. See additional assessment information below for more information.
Submission guidelines
The assessment will be submitted online via the Gradescope platform. Detailed instructions will be provided in the task specification.
Deferral or extension
You may be able to apply for an extension.
The maximum extension allowed is 7 days as feedback will be provided within 14 days. Extensions are given in multiples of 24 hours.
Late submission
A penalty of 10% of the maximum possible mark will be deducted per 24 hours from time submission is due for up to 7 days. After 7 days, you will receive a mark of 0.
Final Exam
- Hurdle
- In-person
- Mode
- Written
- Category
- Examination
- Weight
- 50%
- Due date
End of Semester Exam Period
8/11/2025 - 22/11/2025
- Other conditions
- Secure.
Task description
A three-hour invigilated final examination will be held during the final examination period. It aims to test the students' understanding of topics covered by the whole course. The examination is centrally timetabled.
This assessment task is to be completed in-person. The use of generative Artificial Intelligence (AI) or Machine Translation (MT) tools will not be permitted. Any attempted use of AI or MT may constitute student misconduct under the Student Code of Conduct.
Hurdle requirements
Students must achieve at least 50% on the final exam in order to pass this course. If you achieve less than 50% in the final examination, your overall final mark will be capped at 49, and your final grade will be capped at 3.Exam details
Planning time | 10 minutes |
---|---|
Duration | 180 minutes |
Calculator options | (In person) Casio FX82 series only or UQ approved and labelled calculator |
Open/closed book | Closed book examination - specified 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 - 19 |
Absence of evidence of achievement of course learning outcomes. |
2 (Fail) | 20 - 46 |
Minimal evidence of achievement of course learning outcomes. |
3 (Marginal Fail) | 47 - 49 |
Demonstrated evidence of developing achievement of course learning outcomes |
4 (Pass) | 50 - 64 |
Demonstrated evidence of functional achievement of course learning outcomes. |
5 (Credit) | 65 - 74 |
Demonstrated evidence of proficient achievement of course learning outcomes. |
6 (Distinction) | 75 - 84 |
Demonstrated evidence of advanced achievement of course learning outcomes. |
7 (High Distinction) | 85 - 100 |
Demonstrated evidence of exceptional achievement of course learning outcomes. |
Additional course grading information
Students must achieve at least 50% on the final exam in order to pass this course. If you achieve less than 50% in the final examination, your overall final mark will be capped at 49, and your final grade will be capped at 3.
Supplementary assessment
Supplementary assessment is available for this course.
Additional assessment information
Artificial Intelligence Policy
All assignments are to be worked on individually and must be your own work except where the use of code written or provided by other entities (teaching staff, AI tools, etc.) is explicitly permitted by the assignment specification. Artificial Intelligence (AI) and Machine Translation (MT) tools are permitted to be used in the programming assignments in this course, but they are not required to be used and are not recommended to be used as they may inhibit learning and introduce bugs into your code. You must always follow the referencing requirements set out in the assignment specification and documents referenced from the assignment specification. Failure to appropriately reference the resources (tools and information sources) used in your work may result in misconduct allegations against you. You are encouraged to discuss the concepts behind the assignments but under no circumstances should you show your code to, or allow your code to be seen by, another student. You should not look at the code of any other student. You must sufficiently protect all electronic and paper copies of your code. All submitted code will be subject to electronic plagiarism and collusion detection. Assignments with no academic merit will be awarded a mark of zero. You may have to verbally answer questions about your submission as part of the assignment marking process.ᅠ
Programming Interviews
For the two programming assignments (assignment one, and assignment two), the teaching staff will conduct interviews with a subset of students about their submissions for the purpose of establishing genuine authorship. If you write your own code, you have nothing to fear from this process. If you legitimately use permitted code from other sources (following the usage/referencing requirements in the assignment specification), then you are expected to understand that code. If you are not able to adequately explain the design of your solution and/or adequately explain your submitted code (and/or earlier submitted versions) and/or be able to make simple modifications to your solution as requested at the interview, then your assignment mark will be scaled down based on the level of understanding you are able to demonstrate and/or your submission may be subject to a misconduct investigation where your interview responses form part of the evidence. Interview invitations will be issued by email to your student email account at any time up until the end of week one of the exam period. Failure to respond to an interview invitation by the deadline stated in the invitation (which will be at least one week after the invitation is sent) or failure to attend a scheduled interview will result in zero marks for the assignment unless exceptional circumstances can be demonstrated with supporting evidence. In the case of exceptional circumstances, the interview will be rescheduled.
Mark Rounding:
Course marks will be rounded to the nearest grade before application of grade cut-offs (eg: 74.4 becomes 74; 74.5 becomes 75).
Moderation
In accordance with the Assessment Procedure, marks may be moderated, and grade cutoffs may be lowered if academically justified.
Having Troubles? If you are having difficulties with any aspect of the course material you should seek help. Speak to the course teaching staff.
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 School of EECS Director of Teaching and 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
Facilities
There will be no special access to a computer lab for this course. ᅠPlease see the EECS Student Guide for information on expectations and requirements for the use of the computer labs.
Blackboard
Course material and announcements will appear on Blackboard at https://learn.uq.edu.au/. The Blackboard website should be checked for announcements regularly; at least once a week and more often in the week before assignments are due. Note that solutions or partial solutions to individual assignments should not be posted on any public forum. If you are uncertain about whether or not a post is appropriate, please contact the teaching staff for clarification. The blackboard will also contain links to other relevant tools such as the Ed discussion forum or Gradescope.
Sample exams
Some past exams are available from the library. See: http://www.library.uq.edu.au/exams/
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
Learning period | Activity type | Topic |
---|---|---|
Multiple weeks From Week 1 To Week 13 |
Lecture |
Lectures Lectures will be used to introduce the course material, focusing primarily on theoretical concepts with some practical examples. |
Multiple weeks From Week 2 To Week 13 |
Applied Class |
Applied Classes Applied classes will be used to consolidate understanding of the course material in a more practical nature such as (group) problem solving and discussions. |
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:
- Student Code of Conduct Policy
- Student Integrity and Misconduct Policy and Procedure
- Assessment Procedure
- Examinations Procedure
- Reasonable Adjustments for Students Policy and Procedure
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: