Proposal to Introduce a New Course (formerly known as subject)

1. Course Details

1.1 Course ID COMP1921
 
1.2 Course name - Long 
Data Structures and Algorithms
 
1.3 Course Name - Abbreviated
Data Structures and Algorithms
 
1.4 Course Authority ext/email
Alan Blair 57131 / blair@cse.unsw.edu.au
Richard Buckland54063 / richardb@cse.unsw.edu.au
 
1.5 Organisational Unit responsible for course
School School of Computer Science and Engineering
Faculty  Faculty of Engineering
Academic Group Code(Faculty) ENG
Academic Organisation Code (Owner)  CSE
 
1.6 Justification of Proposal

This proposal lies somewhere between a revision and a new course. Essentially, material in the first three computing courses our majors see (COMP1011 Computing 1A, COMP1021 Computing 1B, and COMP2011 Data Organisation) has been redistributed amongst three new courses (COMP1911 Computing 1, COMP1921 Algorithms and Data Structures, and COMP2911 Engineering Design in Computing 2) which will replace them.

This proposal has four objectives:

  1. To more closely match the order in which material is presented in COMP1091 and COMP2091 so that students in the common first year program will be able to study alongside computing majors not in the program (eg BSc Comp and SEng students). So that students will be able to move between the programs without duplicating or missing important content.
  2. To increase the integration between our first three courses (currently each works largely in isolation)
  3. To update the content coverage to reflect developments in discipline of computer science and engineering since the current courses were initially proposed. In particular to increase the emphasis on objected oriented programming and to introduce material on objected oriented design.
  4. To increase the emphasis on a discipline of design in computing which follows on from and supports the skills acquired in the new first year faculty design course.

We are proposing new course codes: COMP1911, COMP1921 and COMP2911, in order to make it clear from transcripts who has covered which version of the courses during the transitional period.

Specific remarks for COMP1921

Overview

COMP1921 introduces abstraction and complexity; and the fundamental algorithms and data structures of computing. It will be the second computing course taken by computing majors. It is similar in design to our current third course COMP2011 Data Organisation (which is being replaced) but with ADTs and an introduction to Programming in the Large replacing the Object Oriented material. Object Orientation remains in our new third course COMP2911 Engineering Design in Computing 2.

Inputs

Can [only] assume the outputs from COMP1911 Computing1. Students will be able to write small correct C programs with good style given a clear problem specification. Students will be familiar with unit testing, debugging via print statements, simple unix commands, cse lab setup.

Prerequisites: COMP1911 Computing1
Corequisites: none

Outputs (minimum coverage)

Prequisite for: COMP2911 Engineering Design in Computing 2, COMP2110 Software System Specification
Corequisite for: none

Content

  • complexity: calculating, estimating, measuring

  • Big-O notation

  • Abstract Data Types

  • stacks, queues

  • priority queues and heaps

  • recursion

  • mergesort, heapsort, quicksort

  • binary search trees

  • self-balancing trees

  • tree representation and algorithms

  • graph representation and algorithms

Skills

  • programming style: craftsmanship and quality control

  • unit testing

  • problem solving

  • group work, version control

Assurance - What

At the end of the course students MUST be able to:
  • identify problems where recursion is an approriate technique and write a recursive solution

  • understand the use of abstraction in solving large problems

  • design effective solutions to large problems using ADTs

  • implement and analyse data structures based on lists and trees

  • select appropriate data structures and algorithms for simple problems

  • estimate empirically and/or theoretically the time and space efficiency of simple programs

  • design, write, and manage a suite of unit tests

  • comply with style guidelines

  • work in a group to write correct and clear programs of non-trivial size

Assurance - How

  • assessed lab exercises

  • assignments

  • group project

  • formal exam

  • entry test/quiz in COMP2911 Engineering Design in Computing 2

 
1.7 Consultation Process
School Teaching Committee, school appointed working group, discussion with david taubman in EE.
 
1.8 Units of credit (UOC) Session/s Offered   Hours Per Week
6 UOC  S1 S2 ,5.5
 
1.9 Pre-requisites any one of COMP1911, COMP1917, COMP1021, COMP1721, COMP1091
  Co-requisites None
  Exclusions COMP1927, COMP2011, COMP2711
 
1.10 Proposed Entry in the Faculty Handbook
Course ID COMP1921
Course Name Data Structures and Algorithms
Staff Contact Alan Blair ,Richard Buckland
Units of Credit: 5.5
Session/s offered:  S1 S2    Mode:
 
Data types and data structures: lists, trees, graphs; and associated algorithms. Programming in the large, abstraction, interfaces. Complexity. Programming assignments, Laboratory exercises, formal examination.
 
1.11 Is this course replacing an existing course?
YESCOMP1021
 
1.12 Undergraduate
 
1.13 Core
 
1.14 Program Stage
Offered Year 2006  Stage 1, first offered 2006s2
 
1.15 Program/s in which course will be available
All programs
 
1.16 Proposed teaching methods and assessment practices
Lectures, Laboratory Classes, Tutorials, Assignments, and a formal exam.
 
1.17 Assessment grades to be used
Full range of Grades  
1.18 Mode of delivery
Internal 
1.18.1 Multi-mode Delivery Guidelines
N/A
1.19 Information Technology Requirements for students
Standard resources available in school.
 
1.20 Textbooks
Text
  • Robert Sedgewick, Algorithms in C. 3rd edition. Addison Wesley, 2001. Parts 1-4 and Part 5.
Reference
  • Jon Bentley, Programming Pearls, 2nd Ed., Addison Wesley, 1999.
  • Brian W. Kernighan, Rob Pike, The Practice of Programming. Addison Wesley, 1999.
  • Andrew Koenig, C Traps and Pitfalls. Addison Wesley, 1989.
  • Kent Beck, Cynthia Andres, Extreme Programming Explained : Embrace Change (2nd Edition) Addison Wesley, 2004.
Notes
  • C traps and pitfalls is old but not superceeded.
 
1.21 Industrial experience component
None
 

2. Resource Statement
 
2.1 Enrolments
Estimated or Proposed enrolments for the next three years
2006: 300
2007: 300
2008: 300
 
2.2 Resource Requirements
Staffing Requirements
 
Full time Academic Staff  3 hrs/week
 
Part-time Teaching Staff  2.5 hrs/week
 
General Staff  0 hrs/week
 
Comments
Resource requirements as for the course being replaced
 
Field Costs   N/A
 
Studio/Laboratory Requirements
Standard for CSE courses; already available.
 
Materials Requirements
N/A
 
Equipment Costs
N/A
 
Computing Requirements
Standard for CSE courses; already available.
 
Library Requirements
We should have at least two copies of the text books and and one copy of each of the reference books in special reserve. We should also have one copy of each available for short term loan.
 
Capital Funds requirements
None.
 
2.3 Servicing Implications
N/A
 
2.4 Teaching Arrangements
No additional resources required
 
2.5 Alternative Delivery Arrangements
N/A
 
2.6 Details of Tuition Fees
Proposed fee: Standard for an engineering course of this type.