Note: This unit is an archived version! See Overview tab for delivered versions.

INFO1905: Data Structures (Advanced) (2017 - Semester 2)

Download UoS Outline

Unit: INFO1905: Data Structures (Advanced) (6 CP)
Mode: Normal-Day
On Offer: Yes
Level: Junior
Faculty/School: School of Computer Science
Unit Coordinator/s: Prof Fekete, Alan
Session options: Semester 2
Versions for this Unit:
Site(s) for this Unit:
Campus: Camperdown/Darlington
Pre-Requisites: INFO1103 OR INFO1903. Distinction-level performance in INFO1103 or INFO1903
Prohibitions: INFO1105.
Brief Handbook Description: The unit will teach some powerful ideas that are central to quality software: data abstraction and recursion. It will also show how one can analyse the scalability of algorithms using mathematical tools of asymptotic notation. Contents include: both external "interface" view, and internal "implementation" details, for commonly used data structures, including lists, stacks, queues, priority queues, search trees, hash tables, and graphs; asymptotic analysis of algorithm scalability, including use of recurrence relations to analyse recursive code. This unit covers the way information is represented in each structure, algorithms for manipulating the structure, and analysis of asymptotic complexity of the operations. Outcomes include: ability to write code that recursively performs an operation on a data structure; experience designing an algorithmic solution to a problem using appropriate data structures, coding the solution, and analysing its complexity.
Assumed Knowledge: To enter this unit, students need to possess programming knowledge skills at the level of INFO1103 or INFO1903. Expected knowledge includes use of the Java collections APIs and recursion. Chapters 1, 2, 3 and 9 of the textbook provide review material on these topics. Students who have passed similar units at other universities should apply for special permission to enrol.
Lecturer/s: Professor Hong, SeokHee
Prof Fekete, Alan
Timetable: INFO1905 Timetable
Time Commitment:
# Activity Name Hours per Week Sessions per Week Weeks per Semester
1 Lecture 2.00 1 13
2 Laboratory 3.00 1 13
3 Independent Study 7.00 13

Attributes listed here represent the key course goals (see Course Map tab) designated for this unit. The list below describes how these attributes are developed through practice in the unit. See Learning Outcomes and Assessment tabs for details of how these attributes are assessed.

Attribute Development Method Attribute Developed
Transfering problem statments into design, utilizing popular data structures and algorithms to solve problems. Design (Level 2)
Fundamental generic IT/computer science skills: the ability to analyse and manipulate data structures and the ability to design algorithms for this purpose. Engineering/IT Specialisation (Level 2)

For explanation of attributes and levels see Engineering & IT Graduate Outcomes Table.

Learning outcomes are the key abilities and knowledge that will be assessed in this unit. They are listed according to the course goal supported by each. See Assessment Tab for details how each outcome is assessed.

Design (Level 2)
1. Ability to analyse scalability of algorithms using mathematical tools of asymptotic notation. They will be able to analyse recursive structures by setting up and solving asymptotic recurrence relations.
Engineering/IT Specialisation (Level 2)
2. Understanding of commonly used data structures, including lists, stacks, queues, priority queues, search trees, hash tables, and graphs. This covers the way information is represented in each structure, algorithms for manipulating the structure, and analysis of asymptotic complexity of the operations.
3. Ability to write code that recursively performs an operation on a data structure.
4. Understanding of basic algorithms related to data structures, such as algorithms for sorting, tree traversals, and graph traversals.
5. Experience designing an algorithmic solution to a problem, coding it, and analysing its complexity.
Assessment Methods:
# Name Group Weight Due Week Outcomes
1 Quizzes No 5.00 Multiple Weeks 1, 2, 3, 4,
2 Weekly tasks No 10.00 Multiple Weeks 2, 3, 4,
3 Final Exam No 50.00 Exam Period 1, 2, 3, 4, 5,
4 Assignment 1 No 8.00 Week 8 (Friday, 5 pm) 1, 2, 4, 5,
5 Assignment 2 No 12.00 Week 12 (Friday, 5 pm) 1, 2, 3, 5,
6 AsstX No 5.00 Week 6 (Friday, 5 pm) 1, 2, 3, 4,
7 AsstY No 10.00 Week 11 (Friday, 5 pm) 1, 2, 3, 4,
Assessment Description: Quiz: Multiple quizzes during tutorial times throughout the semester. Each quiz may be computer-based or paper-based. In case of special consideration, extensions or alternative sittings will not be offered; instead, reweighting should be applied.

Tasks: Mulriple programming exercises throughout the semester, automatically graded.

Assignments: Practical individual work that may include the design, implementation and analysis of data structures. AsstX and AsstY deal with the additional advanced material.

Final Exam: Covering all aspects of the unit of study.
Grading:
Grade Type Description
Standards Based Assessment Final grades in this unit are awarded at levels of HD for High Distinction, DI (previously D) for Distinction, CR for Credit, PS (previously P) for Pass and FA (previously F) for Fail as defined by University of Sydney Assessment Policy. Details of the Assessment Policy are available on the Policies website at http://sydney.edu.au/policies . Standards for grades in individual assessment tasks and the summative method for obtaining a final mark in the unit will be set out in a marking guide supplied by the unit coordinator.
Minimum Pass Requirement It is a policy of the School of Computer Science that in order to pass this unit, a student must achieve at least 40% in the written examination. For subjects without a final exam, the 40% minimum requirement applies to the corresponding major assessment component specified by the lecturer. A student must also achieve an overall final mark of 50 or more. Any student not meeting these requirements may be given a maximum final mark of no more than 45 regardless of their average.
Policies & Procedures: IMPORTANT: School policy relating to Academic Dishonesty and Plagiarism.

In assessing a piece of submitted work, the School of IT may reproduce it entirely, may provide a copy to another member of faculty, and/or to an external plagiarism checking service or in-house computer program and may also maintain a copy of the assignment for future checking purposes and/or allow an external service to do so.

Other policies

See the policies page of the faculty website at http://sydney.edu.au/engineering/student-policies/ for information regarding university policies and local provisions and procedures within the Faculty of Engineering and Information Technologies.
Recommended Reference/s: Note: References are provided for guidance purposes only. Students are advised to consult these books in the university library. Purchase is not required.
Online Course Content: Sydney elearning site

Note that the "Weeks" referred to in this Schedule are those of the official university semester calendar https://web.timetable.usyd.edu.au/calendar.jsp

Week Description
Week 1 Introduction, Administrivia, Data Abstraction, Map and List
Week 2 Linked Lists; Iterators
Week 3 Stacks and queues; Describing scalability, analysis of scalability.
Week 4 Trees: definitions, traversals, implementation, recursive code
Week 5 Heaps and priority queues; sorting using Priority Queue
Week 6 Binary search trees
Assessment Due: AsstX
Week 7 Hashing; Sets
Week 8 Reasoning about scalability
Assessment Due: Assignment 1
Week 9 Graphs
Week 10 Graphs
Week 11 More sorting algorithms
Assessment Due: AsstY
Week 12 Spare for catch-up, revision or in-class practice exercise
Assessment Due: Assignment 2
Week 13 Unit of Study Review and Exam preparation
Exam Period Assessment Due: Final Exam

Course Relations

The following is a list of courses which have added this Unit to their structure.

Course Year(s) Offered
Aeronautical Engineering / Science 2011, 2012, 2013, 2014
Aeronautical Engineering (Space) / Science 2011, 2012, 2013, 2014
Biomedical Engineering / Science 2013, 2014
Chemical & Biomolecular Engineering / Science 2011, 2012, 2013, 2014
Civil Engineering / Science 2011, 2012, 2013, 2014
Electrical Engineering (Computer) / Science 2014
Aeronautical / Science 2015, 2016, 2017
Aeronautical (Space) / Science 2015
Biomedical /Science 2015, 2016, 2017
Chemical & Biomolecular / Science 2015
Civil / Science 2015
Mechanical / Science 2015, 2016, 2017
Mechanical (Space) / Science 2015
Mechatronic / Science 2015, 2016, 2017
Mechatronic (Space) / Science 2015
Mechanical Engineering (Biomedical) / Science 2011, 2012
Mechanical Engineering / Science 2011, 2012, 2013, 2014
Mechanical Engineering (Space) / Science 2011, 2012, 2013, 2014
Mechatronic Engineering / Science 2011, 2012, 2013, 2014
Mechatronic Engineering (Space) / Science 2011, 2012, 2013, 2014
Project Engineering and Management (Civil) / Science 2011
Flexible First Year (Stream A) / Science 2012, 2013, 2014
Bachelor of Computer Science and Technology 2015, 2016, 2017, 2025

Course Goals

This unit contributes to the achievement of the following course goals:

Attribute Practiced Assessed
Maths/Science Methods and Tools (Level 2) No 0%
Project and Team Skills (Level 2) No 0%
Design (Level 2) Yes 12.95%
Engineering/IT Specialisation (Level 2) Yes 87.05%
Information Seeking (Level 1) No 0%
Communication (Level 2) No 0%
Professional Conduct (Level 2) No 0%

These goals are selected from Engineering & IT Graduate Outcomes Table which defines overall goals for courses where this unit is primarily offered. See Engineering & IT Graduate Outcomes Table for details of the attributes and levels to be developed in the course as a whole. Percentage figures alongside each course goal provide a rough indication of their relative weighting in assessment for this unit. Note that not all goals are necessarily part of assessment. Some may be more about practice activity. See Learning outcomes for details of what is assessed in relation to each goal and Assessment for details of how the outcome is assessed. See Attributes for details of practice provided for each goal.