UWA Logo Computer Science & Software Engineering
C Programming (CITS1210)
   Faculty Home  |  CSSE Home  |  csentry  |  CITS1210  |  help1210

Unit information for 2008:

Since its beginnings in the early 1970s, the C programming language has evolved to become one of the world's most popular, and widely deployed programming languages. The language has undergone extensive formal standardization to produce the ANSI-C standard in 1989, and the ISO-C99 standard in 1999.

C is the programming language of choice for most systems-level, engineering, and scientific programming. The world's popular operating systems - Linux, Windows and Mac OS-X, their interfaces and file-systems, are written in C; the infrastructure of the Internet, including most of its networking protocols, web servers, and email systems, are written in C; software libraries providing graphical interfaces and tools, and efficient numerical, statistical, encryption, and compression algorithms, are written in C; and the software for most embedded devices, including those in cars, aircraft, robots, smart appliances, sensors, mobile phones, and game consoles, is written in C.

This unit will introduce students to the current standard C programming language and its standard library. Students will be exposed to the syntax and semantics of C programs and multi-file projects, the interface and interaction between C, operating systems services, and third-party libraries, and C programming idiom. Students successfully completing this unit will have knowledge of when to select the C programming language and its library for their programming requirements, and how to best use the available facilities.


Unit coordination and assessment:

Coordinator: Dr. Chris McDonald, chris@csse.uwa.edu.au, Rm 2.20
Assisting: Dr. Luigi Barone, luigi@csse.uwa.edu.au, Rm 2.12
Discussion list: help1210
Feedback: SPOT (Student Perceptions of Teaching) reports: 2006, 2007, and 2008.

Lectopia: Lectopia (audio and podcast recordings)
Books:
The strongly recommended textbook for 2008:
book Computer Science: A Structured Programming Approach Using C, Third Edition
Behrouz Forouzan, Richard Gilberg
Publisher: Thomson Course Technology
ISBN 13: 978-0-534-49132-1 (C) 2007
Publish date: February 6, 2006
Softcover
1184 pages.
Information about other books suitable for CITS1210
Content: Schedule and resources {lectures, documentation, labsheets, projects, sample exams, ...}
Also, please read Working effectively in CITS1210.
Lecture time: Thursday 9am-11am, in the Weatherburn Lect.Th. (Maths building), wks 1-12
(please do not consider enroling in this unit if you cannot attend this 2hr lecture).
Tutorial time: Wednesday 12noon-1pm, in the Weatherburn Lect.Th. (Maths building), from week 3
(the role of these tutorials will be outlined in the first lecture).
Laboratories: Practical work is a very important component of this unit, both in weekly laboratory sessions that will reinforce lecture material and in project material that requires you to increase the depth of your knowledge. All laboratories will be held in CSSE Lab 2.1.
Read all about laboratory sessions.
Assessment:
15%1st project 12noon, Friday 12th September (wk7)
20% mid-semester test Thursday 25th September (wk8)
25%2nd project 12noon, Friday 31st October (wk13)
40% final exam 2 hours in November


Before undertaking this unit, students are strongly encouraged to read:

 


While undertaking this unit, students should also keep abreast of issues discussed in the popular Australian IT media, for example, The Australian's IT section (appearing each Tuesday), PC Week Australia, and Australian Personal Computer (monthly). Extensive use will also be made of electronic communication in this unit. If you have any questions related to the unit write them to help1210. All students should feel free to post contributions to the discussion.

Top of Page CRICOS Provider Code: 00126G Valid HTML 4.01 Transitional