ITC205 Professional Programming Practice (8)


This subject introduces students to aspects of professional programming practice related to the production of quality software. The subject covers four main areas: teamwork, version control, testing, and debugging. This subject addresses the basic principles of teamwork and the issues surrounding online teams; the application of version control and testing techniques and best practices; and it introduces and explains the basic principles and application of debugging.

+ Subject Availability Modes and Location

Session 2
InternalBathurst Campus
InternalCSU Study Centre Melbourne
InternalCSU Study Centre Sydney
DistanceBathurst Campus
Continuing students should consult the SAL for current offering details: ITC205
Where differences exist between the Handbook and the SAL, the SAL should be taken as containing the correct subject offering details.

Subject information

Duration Grading System School:
One sessionHD/FLSchool of Computing and Mathematics

Enrolment restrictions

Only for students enrolled in the following courses:
Bachelor of Information Technology
Bachelor of Information Technology  (Business Services)
Bachelor of Computer Science
Bachelor of Computer Science (Games Technology)

Not available to students who have completed ITC515 Professional Programming Practice
Prerequisite(s)Incompatible subject(s)Related subject(s)
ITC140 or ITC206ITC515 ITC515 Paired Subject

Learning Outcomes

Upon successful completion of this subject, students should:
  • be able to recognise and apply knowledge and skills to effectively utilize version control as part of professional programming practice;
  • be able to demonstrate the ability to work effectively in a team environment;
  • be able to critically analyse software programs and apply theories of debugging together with specialised and technical skills to generate solutions to complex debugging problems;
  • be able to identify the purpose and limitations of software testing;
  • be able to design and implement an appropriate suite of software tests to support the complete system development life cycle.


The subject will cover the following topics:
  • The need for quality software and quality frameworks.
  • Teamwork as part of your professional programming practice.
  • Basic and intermediate debugging.
  • Basic and intermediate testing.
  • Version control.


The information contained in the 2016 CSU Handbook was accurate at the date of publication: 06 September 2016. The University reserves the right to vary the information at any time without notice.