Note: This unit is an archived version! See Overview tab for delivered versions.
COMP5105: Foundations of Data Structures (2013 - Semester 2)
Unit: | COMP5105: Foundations of Data Structures (6 CP) |
Mode: | Normal-Day |
On Offer: | Yes |
Level: | Postgraduate |
Faculty/School: | School of Computer Science |
Unit Coordinator/s: |
Dr Viglas, Anastasios
|
Session options: | Semester 2 |
Versions for this Unit: | |
Site(s) for this Unit: |
https://elearning.sydney.edu.au/ |
Campus: | Camperdown/Darlington |
Pre-Requisites: | None. |
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 basic programming knowledge skills. Expected knowledge includes use of the Java collections APIs and recursion. |
Department Permission | Department permission is required for enrollment in this session. |
Lecturer/s: |
Dr Viglas, Anastasios
|
||||||||||||||||||||
Timetable: | COMP5105 Timetable | ||||||||||||||||||||
Time Commitment: |
|
||||||||||||||||||||
T&L Activities: | Lecture: covers all aspects of the unit Laboratory: 1 hour supervised by tutor |
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 3) |
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 3)Assessment Methods: |
|
||||||||||||||||||||||||||||||
Assessment Description: |
Quiz: Paper-based individual tasks (similar to possible exam questions) covering the first 5 weeks Assignment: Assignment 1. Practical individual work on a simulation problem. Assignment: Assignment 2. Practical individual work to code a given tree-based data structure (including providing documentation which expresses the asymptotic cost of operations). Final Exam: Covering all aspects of the unit of study. It will test the candidates’ knowledge of data structures and the ability to apply the knowledge learnt during the course to specific practical situations. Duration of the examination will be two hours. |
||||||||||||||||||||||||||||||
Grading: |
|
||||||||||||||||||||||||||||||
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. |
Prescribed Text/s: |
Note: Students are expected to have a personal copy of all books listed.
|
Online Course Content: | Available on eLearning : https://elearning.sydney.edu.au/ |
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 + Data Abstraction (CP ch 4) |
Week 2 | Linked Lists (CP ch 5) |
Week 3 | Queues (CP ch 8) |
Week 4 | Stacks (CP ch 7) |
Week 5 | Algorithm Efficiency + Sorting (CP ch 10) |
Assessment Due: Quiz | |
Week 6 | Trees (start) (CP ch 11) |
Assessment Due: Assignment | |
Week 7 | Trees (continued) |
Week 8 | Tables + Priority Queues (CP ch 12) |
Week 9 | Hashing (CP ch 13.2) |
Week 10 | Graphs (start) (CP ch 14) |
Week 11 | Graphs (continued) |
Assessment Due: Assignment | |
Week 12 | spare for public holiday or extra guest lectures |
Week 13 | Unit of Study Review |
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 |
Course Goals
This unit contributes to the achievement of the following course goals:
Attribute | Practiced | Assessed |
Design (Level 3) | Yes | 14% |
Engineering/IT Specialisation (Level 2) | Yes | 86.01% |
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.