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

1. Course Details

1.1 Course ID COMP1911
 
1.2 Course name - Long 
Computing 1
 
1.3 Course Name - Abbreviated
Computing 1
 
1.4 Course Authority ext/email
Maurice Pagnucco 56925 / morri@cse.unsw.edu.au
Geoff Whale54046 / geoffw@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 COMP1911

Overview

COMP1911 is an introduction to programming using C. It will be the first computing course taken by computing majors. It is similar in design to our current second course COMP1021 (which is being replaced) and COMP1091 (the common first year computing course in C). We hope to run a common set of lectures for 1091 and 1911, and share a common course design.

Inputs

Can not assume anything other than basic level of intellegence and interest. Maybe not even interest initially. Prerequisites: none
Corequisites: none

Outputs (minimum coverage)

Prequisite for: Data Structures and Algorithms, Digital System Structures, Bioinformatics 1
Corequisite for: none

Coverage

Getting started in the labs
  • system familiarisation, accounts, email, booking, printing
  • installing software at home
  • editing
  • compile something in week 1

Topics

  • types, variables, expressions, control flow
  • command line arguments
  • multiple files, structure of a c application (.h files etc)
  • arrays
  • structs
  • pointers
  • underlying memory representation of data
  • memory allocation
  • linked lists
  • unix literacy (file and directory commands)
  • binary numbers
  • make
  • regexps

Skills

  • programming style
  • testing - unit tests
  • problem solving
  • group work
  • debugging with printfs

Wider context

  • professionalism, ethics

Assurance - What

At the end students MUST be able to write small correct C programs with good style given a clear problem specification. Identify, appreciate, and sensibly discuss professional and ethical issues

Assurance - How

Practical exam at end of course. Entry test/quiz in the following course (Data Structures and Algorithms).

Higher Version

Given the diversity and number of students taking this course we will run a higher version too, at least in session 1.
 
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 None
  Co-requisites None
  Exclusions COMP1021, COMP1721, COMP1091, COMP1917
 
1.10 Proposed Entry in the Faculty Handbook
Course ID COMP1911
Course Name Computing 1
Staff Contact Maurice Pagnucco ,Geoff Whale
Units of Credit: 5.5
Session/s offered:  S1 S2    Mode:
 
The objective of this course is for students to develop proficiency in programming in a high level imperative language and to develop a background of relevant knowledge and skills on which to base further study of computing. Topics covered include: fundamental programming concepts, program testing and debugging, the underlying memory representation of data, unix literacy, version control, programming style, professional issues. Practical experience of these topics is supplied by laboratory programming exercises and assignments.

No prior computing background is required.

 
1.11 Is this course replacing an existing course?
YESCOMP1011
 
1.12 Undergraduate
 
1.13 Core
 
1.14 Program Stage
Offered Year 2006  Stage 1, first offered 2006s1
 
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
  • Jeri R. Hanly and Elliot B. Koffman, Problem Solving and Program Design in C, 4th edition, Addison Wesley, 2004, ISBN 0-321-21055-7.
Reference
  • Brian Kernighan & Dennis Ritchie, The C Programming Language, 2nd Ed., Prentice Hall, 1988, ISBN: 0-13-110362-8
  • Brian W. Kernighan, Rob Pike, The Practice of Programming. Addison Wesley, 1999.
  • Andrew Koenig, C Traps and Pitfalls. Addison Wesley, 1989.
Notes
  • Kernighan and Ritche, whilst old, is the seminal reference for the C language.
 
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 book 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.