In this unit of study, elementary methods for developing robust, efficient, and re-usable software will be covered. The unit is taught in C, in a Unix environment. Specific coding topics include memory management, the pragmatic aspects of implementing data structures such as lists and hash tables and managing concurrent threads. Debugging tools and techniques are discussed and common programming errors are considered along with defensive programming techniques to avoid such errors. Emphasis is placed on using common Unix tools to manage aspects of the software construction process, such as version control and regression testing. The subject is taught from a practical viewpoint and it includes a considerable amount of programming practice.
Unit details and rules
Academic unit | Computer Science |
---|---|
Credit points | 6 |
Prerequisites
?
|
INFO1113 OR INFO1105 OR INFO1905 OR INFO1103 |
Corequisites
?
|
COMP2123 OR COMP2823 OR INFO1105 OR INFO1905 |
Prohibitions
?
|
COMP2129 OR COMP9017 OR COMP9129 |
Assumed knowledge
?
|
None |
Available to study abroad and exchange students | Yes |
Teaching staff
Coordinator | John Stavrakakis, john.stavrakakis@sydney.edu.au |
---|---|
Tutor(s) | Anuj Dhavalikar, anuj.dhavalikar@sydney.edu.au |
Dennis Chen, dennis.chen@sydney.edu.au | |
BH Hoon Cho, bh.cho@sydney.edu.au | |
Greg McLellan, gregory.mclellan@sydney.edu.au | |
Tyson Thomas, tyson.thomas@sydney.edu.au | |
William Xu Wang, william.x.wang@sydney.edu.au | |
Alan Robertson, alan.robertson@sydney.edu.au |