Course Code | COMP3121 |
Course Title | Algorithms and Programming Techniques |
Convenor | Raveen de Silva |
Admin | Song Fang |
Classes | Tuesday 16:00 - 18:00 and Thursday 16:00 - 18:00 |
Consultations |
Monday 14:00 - 15:00 and Friday 14:00 - 15:00
|
Units of Credit | 6 |
Course Website |
Moodle
|
Handbook Entry | http://www.handbook.unsw.edu.au/undergraduate/courses/current/COMP3121.html |
COMP3121 Algorithms and Programming Techniques (aka COMP9101 Design and Analysis of Algorithms, for postgraduate students) runs in all three terms each year. The extended version (COMP3821/9801) runs only in T1 each year. We recommend that top students take the extended course instead of this one.
To ensure that students are not penalised for taking the extended course:
Students will learn a variety of algorithm design techniques (greedy, dynamic programming, divide and conquer, etc). This will include famous algorithms using these ideas in graph problems, string matching, etc, but more importantly how to apply these ideas to develop correct and efficient algorithms to solve new problems. Students will develop their abilities in problem solving and analysis of algorithms, as well as in written communication as they express and argue for their ideas.
Role | Name | Office | |
Lecturer | Raveen de Silva | r.desilva@unsw.edu.au | K17 202 |
Course Admin | Song Fang | cs3121@cse.unsw.edu.au | N/A |
Lectures will be delivered in hybrid mode, so you can attend in-person or online.
Time | Lecturer | Room | Link |
---|---|---|---|
Tuesday 16:00 - 18:00 | Raveen | Keith Burrows Theatre (K-J14-G5) |
TBA
|
Thursday 16:00 - 18:00 | Raveen | Keith Burrows Theatre (K-J14-G5) |
TBA
|
Students are always welcome to ask questions before and after lectures. In addition, online consultation will be held at the following times. I am not usually at campus on days when I am not delivering lectures.
Time | Staff | Link |
---|---|---|
Monday 14:00 - 15:00 | Raveen |
TBA
|
Friday 14:00 - 15:00 | Raveen |
TBA
|
Consultations will be recorded. Please inform me at the time if you would like anything to be omitted from the recording.
Tutorials will consolidate lecture material by discussing practice problems and demonstrating the core competencies expected of students in the course.
Code | Time | Tutor | Room/Link |
---|---|---|---|
W11A | Wednesday 11:00 - 12:00 | Isaiah | Blockhouse G15 (K-G6-G15) |
W11B | Wednesday 11:00 - 12:00 | Liam | Online ( MS Teams ) |
W12A | Wednesday 12:00 - 13:00 | Steve | Red Centre Central Wing 1040 (K-H13-1040) |
W12B | Wednesday 12:00 - 13:00 | Hugh | Science & Engineering B26 (K-E8-B26) |
W14A | Wednesday 14:00 - 15:00 | Frank | Blockhouse G15 (K-G6-G15) |
W14B | Wednesday 14:00 - 15:00 | Zhizhou | Online ( MS Teams ) |
W15A | Wednesday 15:00 - 16:00 | Frank | Old Main Building 151 (K-K15-151) |
W15B | Wednesday 15:00 - 16:00 | Zhizhou | Online ( MS Teams ) |
W16A | Wednesday 16:00 - 17:00 | Laeeque | John Goodsell LG21 (K-F20-LG21) |
W16B | Wednesday 16:00 - 17:00 | Ryan S | Online ( MS Teams ) |
W17A | Wednesday 17:00 - 18:00 | Laeeque | Webster 302 (K-G14-302) |
W17B | Wednesday 17:00 - 18:00 | Rudy | Online ( MS Teams ) |
H14A | Thursday 14:00 - 15:00 | Gerald | Blockhouse G15 (K-G6-G15) |
H14B | Thursday 14:00 - 15:00 | Trina | Blockhouse G16 (K-G6-G16) |
H15A | Thursday 15:00 - 16:00 | Gerald | Ainsworth 201 (K-J17-201) |
H15B | Thursday 15:00 - 16:00 | Ryan O | Blockhouse G13 (K-G6-G13) |
F11A | Friday 11:00 - 12:00 | Anders | Civil Engineering G6 (K-H20-G6) |
In addition to the problems discussed in tutorials, you will be provided practice problems with detailed solutions. We encourage you to attempt these on your own and discuss these with other students and course staff.
Join the Ed forum using this sign-up link . You can post questions regarding all the material covered in lectures, tutorials and the practice problems. You can also ask for clarifications on the assignment problems,
Item | Weight |
---|---|
Take-home quiz | 5% |
Assignments | 45% |
Final Exam | 50% |
You will have a take-home quiz in week 1 worth 5% of your grade. You are expected to make a first attempt before your week 2 tutorial. This task is intended to confirm your understanding of the prerequisite material and to clarify our expectations for your later assignment responses. If your responses are deemed unsatisfactory, you will be able to amend your responses to address your tutor's feedback as many times as necessary. Completing this task to your tutor's satisfaction will earn the full 5%.
You will have three written assignments each worth 15% of your grade. Assignments will be released in weeks 1, 4 and 7 and due in weeks 3, 7 and 9 respectively.
You will also have an final exam worth 50%. The final exam will be held online and remotely using INSPERA. It will be a three hour exam consisting of eight multiple choice questions and four algorithm design problems. There is a hurdle requirement: you must achieve at least half the available marks in at least one of the four algorithm design problems in order to pass the course.
Bonus points will be added for forum participation (no more than 5%). Please refer to the welcome announcement for more details.
Some of the topics to be covered in COMP3121/9101 include:
Introduction:
Algorithm Analysis:
Divide-And-Conquer Method:
Network Flow Algorithms:
Dynamic Programming Method:
Linear Programming:
Intractable Problems and Approximation Algorithms:
Practicing problem-solving while having fun:
Week |
Tue Lecture
|
Thu Lecture
|
Tutorial |
Notes
|
---|---|---|---|---|
1 | Introduction |
Preliminaries
|
Revision of Data Structures and Algorithms
|
Take-home quiz: released Tuesday
Assignment 1: released Tuesday |
2 |
Divide and Conquer I
|
Divide and Conquer II
|
Divide and Conquer
|
Take-home quiz: first attempt by week 2 tutorial
|
3 |
The Greedy Method I
|
The Greedy Method II
|
The Greedy Method
|
Assignment 1: due Friday
|
4 |
The Greedy Method III
|
The Greedy Method IV
|
The Greedy Method (continued)
|
Assignment 2: released Tuesday
|
5 |
Flow Networks I
|
Flow Networks II
|
Flow Networks
|
|
6 |
TBC
|
TBC | No tutorials (flex week) |
|
7 |
Dynamic Programming I
|
Dynamic Programming II
|
Dynamic Programming
|
Assignment 2: due Monday
Assignment 3: released Tuesday |
8 |
Dynamic Programming III
|
String Matching
|
Dynamic Programming (continued)
|
|
9 |
Linear Programming
|
Intractability I
|
String Matching & Linear Programming
|
Assignment 3: due Friday
|
10 |
Intractability II
|
Exam Revision
|
Intractability & Exam Revision
|
This course is evaluated each session using the myExperience system.
In the previous offering of this course, students requested that weekly tutorials be scheduled in the timetable. They also reported that the assignment workload was too high, and that expectations were unclear at the start of term.
Based on their comments, we are introducing weekly scheduled tutorials. We have reduced the assignments from four sets of four problems each down to three sets of three problems each. We will also publish a Getting Started guide to Moodle and run a take-home quiz in week 1 so that students are aware of our expectations from the start of term and receive some feedback before the census date.
The Student Code of Conduct ( Information , Policy ) sets out what the University expects from students as members of the UNSW community. As well as the learning, teaching and research environment, the University aims to provide an environment that enables students to achieve their full potential and to provide an experience consistent with the University's values and guiding principles. A condition of enrolment is that students inform themselves of the University's rules and policies affecting them, and conduct themselves accordingly.
In particular, students have the responsibility to observe standards of equity and respect in dealing with every member of the University community. This applies to all activities on UNSW premises and all external activities related to study and research. This includes behaviour in person as well as behaviour on social media, for example Facebook groups set up for the purpose of discussing UNSW courses or course work. Behaviour that is considered in breach of the Student Code Policy as discriminatory, sexually inappropriate, bullying, harassing, invading another's privacy or causing any person to fear for their personal safety is serious misconduct and can lead to severe penalties, including suspension or exclusion from UNSW.
If you have any concerns, you may raise them with your lecturer, or approach the School Ethics Officer , Grievance Officer , or one of the student representatives.
UNSW has an ongoing commitment to fostering a culture of learning informed by academic integrity. All UNSW staff and students have a responsibility to adhere to this principle of academic integrity. Plagiarism is defined as using the words or ideas of others and presenting them as your own. Plagiarism undermines academic integrity and is not tolerated at UNSW. UNSW and CSE treat plagiarism as academic misconduct, which means that it carries penalties as severe as being excluded from further study at UNSW. There are several on-line sources to help you understand what plagiarism is and how it is dealt with at UNSW:
Make sure that you read and understand these. Ignorance is not accepted as an excuse for plagiarism. Note also that plagiarism includes paying or asking another person to do a piece of work for you and then submitting it as your own work.
In this course, you may discuss the quiz and assignment questions with other students.
The final exam is an entirely individual assessment.
Resource created Thursday 02 February 2023, 07:30:20 PM, last modified Thursday 09 March 2023, 12:30:30 PM.