Vous êtes sur la page 1sur 5

Course Outline

COMP1921 Computing 1B
Teaching Period 2 2011

Course Details
Course Code/Title: Units of Credit: Course WebSite: COMP1921 Computing 1B 6
http://mahler.orchestra.cse.unsw.edu.au/webcms2/course/index.php?cid=2197
(Also: http://www.cse.unsw.edu.au/~cs1921)

Course Staff
o N Paramesh (Lecturer and LIC) o Mei Cheng Whale (Subject Admin) o Tutors

Course Aims
o Develop proficiency in C programming. o Develop C programs in structured and systematic way. o Learn about uses of simple data structures in programming.

Student Learning Outcomes


After completing this course, you should be able to:

Develop programs in a well structured and systematic manner in the C language; Design modules which represent abstractions in your system using simple data structures and operations on them; Develop suites of test cases to ascertain the accuracy and robustness of your programs. Repair any errors discovered in testing; and Understand and explain the run-time behaviour of your programs at the machine level;

Graduate Attributes

This course contributes to the development of the following graduate attributes:

Graduate Attribute Skills involved in scholarly enquiry Capacity for analytical and critical thinking and for creative problem solving Ability to engage in independent and reflective learning Skills to locate, evaluate and use relevant information (Information Literacy) Capacity for enterprise, initiative and creativity Respect for ethical practice and social responsibility Skills of effective communication

Where Acquired Reading documentation, lab work Developing programs in tuts, labs and assignments Exploring the C language in labs Reading documentation Developing programs in tuts, labs and assignments Building correct programs Discussions in tutorials

Assumed Knowledge (equivalent of COMP1911)


Before commencing this course, students should: o Have completed a first course in C programming . o Be able to design, construct, document and test simple C programs that accurately comply with a given specification. o Have acquired some familiarity with the Unix/Linux operating system and tools, the C compiler, and the C debugger .

Resources for Students


The recommended text for this course is: o Alistair Moffat, Programming, Problem Solving, and Abstraction with C, Pearson Educational, Australia, 2003, ISBN 1-74103-080-3. The following books might also serve as additional reference material: o Brian W. Kernighan and Dennis M. Ritchie, The C Programming Language, 2nd edition, Prentice Hall, USA, 1988, ISBN 0-13-110370-9. o Paul Davies, The Indispensable Guide to C, Addison Wesley, England, 1995, ISBN 0-201-62438-9. o Deitel and Deitel, C-How to Program, Prentice Hall, 2010.

Course Schedule (subject to changes in the order)


Week Lectures 01 TutLab Remarks Lect-a: Course Intro. C programming: C revision, C execution model, control structures, functions, parameters passing, input parameters, global, static, input/output statements ; return NO TUTLAB statements, global, static. PRE/POST conditions; memory map. Recursion. Lect-b: Pointers and Functions: pointers, pointers as parameters, array of char, string functions, <string.h>, command line args, single- and multi-dimensional arrays. Pseudo code for functions. Preprocessing, Introduction to Ass1.

Release Ass1: Theme - List processing (12 marks) Problems on Week 1 materials + Practicing with Ass1 demo code.

02

Lect-a&b: Structures: struct, typedef, pointer to structures and unions, malloc(), linked structures, linked lists, applications: singly linked list; memory management, doubly linked list, pointer applications for building networks, state diagrams. Unstructured structures and recursive structures using pointers.

03

Lect-a&b: Linked list applications Problems on (contd): ADTs: stack applications: Week 2 post fix expressions, etc., queues materials. application in simulation use of header files, and make command. Lect-a&b: Trees binary tree operations, tree ADT. Lect-a&b: Programming with tree data structures, simple tree algorithms. Introduction to other types of trees: balanced trees, AVL trees and multiway trees representation, simple operations. Problems on Week 3 materials. Problems on Week 4 materials.

04

05

06

Lect-a&b: Files: text files, binary files, applications: saving and reading dynamic data structures in files, serialization issues.

Problems on Week 5 materials.

Ass 1 due. Ass2 release Theme: Simulation using data structures 18 marks.

07

Lect-a&b: Graphs: matrix representations, graph operations, Graph ADT.

Problems on Week 6 materials.

Ass 1 due. Ass2 release Theme: Simulation using data structures -18 marks. Lab Exam 2 hrs 10 marks

MIDTERM RECESS 08 Lect-a&b: Graph data structure: search, traversal, shortest path, spanning tree - programming challenges. Lect-a&b: Introduction to algorithms: searching, sorting, dictionary, performance. Lect-a&b: Programming with bits: Hardware simulation. Problems on Week 7 materials. Problems on Week 8 materials. Problems on Week 9 materials.

09

10

11

Lect-a&b: Problem solving: Problems on generate and test, divide and conquer, Week 10 simulation, approximation materials. techniques; testing, debugging, and performance. Lect-a&b: Review Problems on Week 11 materials. Problems on Week 12 materials.

Ass2 due

12

13

NIL

Assessment
Your final mark in this course is computed as follows:
Internal = Labs(10 marks) + Lab Exam(10 marks) + Assignment 1(12 marks) + Assignment 2(18 marks) = 50 marks Final Exam = Written Exam (20) + Practical Exam(30) = 50 marks Note: To pass the course, you need to score a minimum of 25 out of 50 in the Internal, and a minimum of 25 out of 50 in the Final Exam.

Late Submission policy: Maximum marks reduced by 10%.

Academic Honesty and Plagiarism


UNSW and CSE treat plagiarism as academic misconduct, which means that it carries penalties as severe as being excluded from further study at UNSW. There are several on-line sources to help you understand what plagiarism is and how it is dealt with at UNSW: o o o o Learning Centre: Plagiarism and Academic Integrity MyUNSW: Plagiarism and Academic Misconduct CSE: Addendum to UNSW Plagiarism Guidelines CSE: Yellow Form (whose terms you have agreed to)

Make sure that you read and understand these. Ignorance is not accepted as an excuse for plagiarism.

Course Evaluation and Development


This course was developed in response to the difficulties meeting the differing needs, aspirations and capabilities of Computing and non-Computing students within our first programming courses. We have targeted this course at students who require a more practical and less theoretical background to programming for their careers. At the end of the course, we would appreciate your feedback on your experiences via the University's CATEI system. The School uses the feedback you provide to improve the course for future sessions. The University uses the results of your evaluation to gauge its performance. If you have any suggestions or concerns about the course during session, please do not hesitate to contact the lecturer, your tutor or the course administrator to let us know.

Vous aimerez peut-être aussi