COMP9024: Data Structures and Algorithms
COMP9024: Data Structures and
Algorithms
Course Outline
Hui Wu
Term 1, 2021
http://www.cse.unsw.edu.au/~cs9024
1
General Information (1/2)
• Lecturer in Charge
Hui Wu huiw@unsw.edu.au
• Lab tutors
Sidra Malik sidra.malik@unsw.edu.au
Muhammad Asif Ali muhammadasif.ali@unsw.edu.au
• Assignment marking
Yue Zhuo terry.zhuo@unsw.edu.au
• Lecture time
6-8pm Monday, online
4-6pm Thursday, online
• Consultation
3-5pm Friday on MS Teams
2
mailto:huiw@unsw.edu.au
mailto:sidra.malik@unsw.edu.au
mailto:muhammadasif.ali@unsw.edu.au
mailto:terry.zhuo@unsw.edu.au
General Information (2/2)
• Course websites
Main website (lecture notes, problem sets, assignments, online resources)
http://www.cse.unsw.edu.au/~cs9024 or
https://webcms3.cse.unsw.edu.au/COMP9024/21T1/
Moodle site (for exam only)
https://moodle.telt.unsw.edu.au/mod/forum/discuss.php?d=1300479
Team (lectures & labs)
To join the team, open MS Teams, click on “Join or create a team at the upper
right corner, and use the following code:
aisnmzt
• No lecture in Week 6
3
http://www.cse.unsw.edu.au/%7Ecs9024
https://webcms3.cse.unsw.edu.au/COMP9024/21T1/
https://moodle.telt.unsw.edu.au/mod/forum/discuss.php?d=1300479
Aims
The aims of this course are
• to introduce the basic data structures and algorithms, and
• to develop skills in the design and analysis of algorithms and data
structures.
4
Outcomes
If successfully completing this course, you will
understand the basic data structures and algorithms;
be able to analyse the complexities of software; and
be able to design and select appropriate data structures and algorithms for
applications.
5
Topics
• C Programming language
• Analysis of algorithms
• Priority queues and disjoint set union-find data structures
• Trees and search trees
• Text processing algorithms
• Graph algorithms
• Randomised algorithms
• Sorting algorithms
6
Assessment
• Assignments: 40 marks
• Final exam: 60 marks
• To pass the course, your final overall marks must be 50 or higher and
the final exam marks must be 25 or higher. Students who do not meet
these requirements but achieve the overall marks ≥45 can sit a
supplementary exam.
7
Assignments
• Three individual assignments
Assignment 1 (Weeks 2-4) (12 marks)
Assignment 2 (Weeks 5-7) (12 marks)
Assignment 3 (Weeks 8-10) (16 marks)
• Use C to write programs for all the assignments
8
Final Exam
• Three hours
• Online
• Two Parts
Part I: Basic data structures and algorithms
Part II: Design and analysis of algorithms.
• Use pseudo code to write algorithms.
9
Problem Sets
• At least one problem set every week.
• Problems are intended to help you understand the course material
and prepare for the final exam.
• You are strongly recommended to work out the solutions to all the
problems.
• Problem sets are NOT assessed. So you don’t submit them.
10
Labs ( Week 2 – Week 10)
• Start in Week 2
• Labs are intended to help students who have issues in C programming in
assignments
• Two tutors for each lab class
• Attendance is not required. Only those who need help go to a lab class.
• To attend a lab, go to the specific channel of the course team. Two tutors
will be there for help.
11
Textbooks
• The recommended textbooks for this course are
Robert Sedgewick, Algorithms in C, Parts 1—4 3rd edition, Addison Wesley.
Robert Sedgewick, Algorithms in C, Part 5 3rd edition, Addison Wesley.
• The following introduction to the C programming language is
recommended as a supplementary textbook:
Alistair Moffat, Programming, Problem Solving, and Abstraction with C , 5th
edition, Pearson, 2003.
12
IDE for C
• Visual Studio Code https://code.visualstudio.com/
13
https://code.visualstudio.com/
COMP9024: Data Structures and Algorithms
General Information (1/2)
General Information (2/2)
Aims
Outcomes
Topics
Assessment
Assignments
Final Exam
Problem Sets
Labs ( Week 2 – Week 10)
Textbooks
IDE for C