## COMP SCI 2004NA - Data Structures and Algorithms

### Ngee Ann Academy - Trimester 1 - 2014

Program development techniques including basic ideas of correctness and proof; Recursion. Approaches to Problem Solving. Notion of abstract data type, representation of lists, stacks, queues, sets, trees and hash tables. Notions of complexity and analysis; Choosing data structures

• General Course Information
##### Course Details
Course Code COMP SCI 2004NA Data Structures and Algorithms School of Computer Science Trimester 1 Undergraduate Ngee Ann Academy 3 Program development techniques including basic ideas of correctness and proof; Recursion. Approaches to Problem Solving. Notion of abstract data type, representation of lists, stacks, queues, sets, trees and hash tables. Notions of complexity and analysis; Choosing data structures
##### Course Staff

Course Coordinator: Dr Bradley Alexander

Lecturer: Dr Kwang Hua Lim
##### Course Timetable

The full timetable of all activities for this course can be accessed from Course Planner.

• Learning Outcomes
##### Course Learning Outcomes
1. Understanding of fundamental Data Structures including linked-lists, trees, binary search trees, AVL trees, stacks, queues, priority queues, and hash-tables and skiplists.
2. Understanding of fundamental abstract data types which can include: Maps, Sets and Vectors.
3. Ability to program data structures and use them in implementations of abstract data types.
4. Ability to devise novel solutions to small scale programming challenges involving data structures and and recursion.
5. Understanding of basic algorithmic complexity.
6. Ability to estimate the algorithmic complexity of simple, non-recursive programs
7. Ability to perform simple inductive proofs and proofs by contradiction and reason about program correctness and invariants.
8. Ability to sensibly select appropriate data structures and algorithms for problems and to justify that choice.
##### University Graduate Attributes

This course will provide students with an opportunity to develop the Graduate Attribute(s) specified below:

University Graduate Attribute Course Learning Outcome(s)
Knowledge and understanding of the content and techniques of a chosen discipline at advanced levels that are internationally recognised. 1,2,5,8
The ability to locate, analyse, evaluate and synthesise information from a wide variety of sources in a planned and timely manner. 6,7,8
An ability to apply effective, creative and innovative solutions, both independently and cooperatively, to current and future problems. 2,3,4,7
A proficiency in the appropriate use of contemporary technologies. 1,5,8
• Learning Resources
##### Required Resources
The textbook for this course is Data Structures and Algorithm Analysis in Java by Mark Weiss, 2nd Ed. Pearson International Edition, 2007, ISBN 0-321- 37319-7.  NOTE: This is a textbook, not a reference book, for this course and as such it is assumed that everyone has a copy.
##### Recommended Resources
No additional recommended resources other than the forum and web pages.
##### Online Learning
The subject web page is https://cs.adelaide.edu.au/users/second/dsa/14r1- dsa-Naaec/- this contains all the course materials (or references to them). Make sure you check it regularly. In addition to the subject web page there is an electronic "forum" or "bulletin board" (access from http://forums.cs.adelaide.edu.au ) which will be used to ￼￼￼ make announcements. It is your responsibility to check this.
• Learning & Teaching Activities
##### Learning & Teaching Modes
Lectures, Tutorials, Laboratory Sessions, Offline assignments.

The information below is provided as a guide to assist students in engaging appropriately with the course requirements.

There are four intensives for this course. The indicative workload for this course (including intensives) is approx 130 hours. This time includes time spent on the assignments, tutorials and revision.
##### Learning Activities Summary
Lectures
The lecture schedule is on the subject web page; students are encouraged to attend lectures as material presented in lectures often includes more than is on the slides. Copies of the slides will be available via the subject web page, but you are strongly urged to take proper lecture notes.
Tutorials
There will be a total of six tutorials in this course – two per weekend, in the second through fourth teaching sessions. The schedule is available on the subject web page.
Practical Work
The practical work is critically important in this course. The practicals will happen weekly - there will be a total of eight (8) practicals.
##### Specific Course Requirements
No specific course requirements other than the requirement that you turn up to the intensives and particpate in the course assessment activities.
##### Small Group Discovery Experience
Not applicable to this course.
• Assessment

The University's policy on Assessment for Coursework Programs is based on the following four principles:

1. Assessment must encourage and reinforce learning.
2. Assessment must enable robust and fair judgements about student performance.
3. Assessment practices must be fair and equitable to students and give them the opportunity to demonstrate what they have learned.
4. Assessment must maintain academic standards.

##### Assessment Summary
The assessment will include a written, closed book, two hour examination and eight practicals. The examination will contribute 70% of your final mark, the practicals 25%, and the tutorials 5%.

Like all other Computer Science courses, your marks will be capped at 44% (Fail) if your examination mark is less than 40%, or your combined practical marks and tutorial marks are less than 40%. This means you must get at least 40% on each on the two major components.

Additionally, you must get 50% overall to pass the course.
##### Assessment Related Requirements
Penalty for Late Submission of Assessment
Tasks The maximum mark that can be awarded will reduce by 25% for each day/part-day late. So after 4 days late, the maximum mark becomes zero.

Extensions for Assessment Tasks
Extensions will only be granted in exceptional circumstances. You should be starting the practicals as soon as you can. If you are seeking an extension, you must do so in writing to the coordinator providing evidence to support your application. Application must be made prior to the due date.
##### Assessment Detail
Each tutorial is worth 1% of the course mark

Each practical assignment is worth 3% of the course mark with the exception of practical 2 which is worth 4% of the course mark.

Practical 3 is fully manually assessed but submission is still via the web submission system.
##### Submission

You are required to submit your practical work via the Computer Science Web submission system and also required to have all your work in the SVN repository. Details are on each of the practical description pages.

Tutorials must be submitted to the lecturer following instructions given in the first intensive of the course.

Grades for your performance in this course will be awarded in accordance with the following scheme:

M10 (Coursework Mark Scheme)
FNS   Fail No Submission
F 1-49 Fail
P 50-64 Pass
C 65-74 Credit
D 75-84 Distinction
HD 85-100 High Distinction
CN   Continuing
NFE   No Formal Examination
RP   Result Pending

Further details of the grades/results can be obtained from Examinations.

Grade Descriptors are available which provide a general guide to the standard of work that is expected at each grade level. More information at Assessment for Coursework Programs.

Final results for this course will be made available through Access Adelaide.

• Student Feedback

The University places a high priority on approaches to learning and teaching that enhance the student experience. Feedback is sought from students in a variety of ways including on-going engagement with staff, the use of online discussion boards and the use of Student Experience of Learning and Teaching (SELT) surveys as well as GOS surveys and Program reviews.

SELTs are an important source of information to inform individual teaching practice, decisions about teaching duties, and course and program curriculum design. They enable the University to assess how effectively its learning environments and teaching practices facilitate student engagement and learning outcomes. Under the current SELT Policy (http://www.adelaide.edu.au/policies/101/) course SELTs are mandated and must be conducted at the conclusion of each term/semester/trimester for every course offering. Feedback on issues raised through course SELT surveys is made available to enrolled students through various resources (e.g. MyUni). In addition aggregated course SELT data is available.

• Student Support
• Policies & Guidelines
• Fraud Awareness

Students are reminded that in order to maintain the academic integrity of all programs and courses, the university has a zero-tolerance approach to students offering money or significant value goods or services to any staff member who is involved in their teaching or assessment. Students offering lecturers or tutors or professional staff anything more than a small token of appreciation is totally unacceptable, in any circumstances. Staff members are obliged to report all such incidents to their supervisor/manager, who will refer them for action under the university's student’s disciplinary procedures.

The University of Adelaide is committed to regular reviews of the courses and programs it offers to students. The University of Adelaide therefore reserves the right to discontinue or vary programs and courses without notice. Please read the important information contained in the disclaimer.

```
```