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

Unit overview:

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 OSX, including 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 are 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 details:

Unit coordinator: Dr. Luigi Barone, luigi@csse.uwa.edu.au, Rm 2.12
Lab demonstrators: Dr. Chris McDonald, chris@csse.uwa.edu.au, Rm 2.20

Dr. Chris Thorn, cthorn@csse.uwa.edu.au, Rm 1.01
Lecture: Tuesday 3pm-5pm, in the Ross Lecture Theatre (Physics building), weeks 1-12
Do not enroll in this unit if you cannot attend this 2hr lecture.
Tutorial: Wednesday 12noon-1pm, in the Ross Lecture Theatre (Physics building), weeks 3-6 & 9-12
Laboratories: Various times, in Lab 2.01 of the CSSE building, weeks 2-7 & 9-13
Practical work is an essential component of this unit, with students expected to commit significant effort in both the preparation and completion of programming exercises. Do not enroll in this unit if you do not have sufficient time to dedicate to completing the assigned labsheets.
Assessment: 1st project, worth 15%, due 4pm, Friday 4 September (week 7)
Mid-semester test, worth 20%, undertaken 3pm, Tuesday 15 September (week 8)
2nd project, worth 25%, due 4pm, Friday 23 October (week 13)
Final exam, worth 40%, undertaken in the November examination period
Textbook:
book Computer Science: A Structured Programming Approach Using C, 3rd Edition
Behrouz Forouzan, Richard Gilberg
Publisher: Thomson Course Technology
ISBN-13: 978-0-534-49132-1
1184 pages
2007
Information about other books suitable for the unit is available from the CITS1210 recommending reading list.
Lectopia: Lectopia (audio and podcast recordings)
Electronic forum: help1210
Feedback: SPOT (Student Perceptions of Teaching) reports: 2006, 2007, and 2008
Content: Schedule and resources (lectures, documentation, labsheets, projects, sample exams, ...)
Make sure to read: working effectively in CITS1210.


Governance:

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

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