Programming Principles and Practices
48 hours face to face + blended
One Semester or equivalent
Hawthorn
Overview
Students learn about the fundamentals of programming, starting with computational thinking skills and incorporating tools such as version control and IDEs. Students use Python and selected libraries to apply knowledge. Strategies for learning new languages, tools and code generation approaches are explored.
Requisites
Equivalent units
Technology Inquiry Project (COS60010)
Teaching periods
Location
Start and end dates
Last self-enrolment date
Census date
Last withdraw without fail date
Results released date
Semester 1
Location
Hawthorn
Start and end dates
02-March-2026
31-May-2026
31-May-2026
Last self-enrolment date
15-March-2026
Census date
31-March-2026
Last withdraw without fail date
21-April-2026
Results released date
07-July-2026
Semester 2
Location
Hawthorn
Start and end dates
03-August-2026
01-November-2026
01-November-2026
Last self-enrolment date
16-August-2026
Census date
01-September-2026
Last withdraw without fail date
22-September-2026
Results released date
08-December-2026
Unit learning outcomes
Students who successfully complete this unit will be able to:
- Demonstrate how to break down computational problems into manageable parts and represent algorithms using flowcharts and pseudocode, applying core programming constructs such as sequence, selection, iteration and decomposition.
- Build programs that apply structured programming principles, incorporating file input/output and built-in data structures, using the programming languages introduced in the unit.
- Demonstrate the appropriate use of professional software development tools, such as IDEs, terminals, debugging environments, and version control systems, and reflect on their role in effective programming practice.
- Critique and reflect on the broader impact of programming in professional and personal contexts by examining social, cultural and Indigenous perspectives, and considering how these insights inform ongoing development as a responsible and inclusive programmer.
Teaching methods
Hawthorn
| Type | Hours per week | Number of weeks | Total (number of hours) |
|---|---|---|---|
On-campus |
1.00 | 12 weeks | 12 |
| On-campus Class |
2.00 | 12 weeks | 24 |
| Live Online Lecture |
1.00 | 12 weeks | 12 |
| Unspecified Activities Independent Learning |
8.50 | 12 weeks | 102 |
| Total | 150 |
Assessment
| Type | Task | Weighting | ULOs |
|---|---|---|---|
| Portfolio | Individual | 20-30% | 1,2,3,4 |
| Project | Individual/Group | 15-25% | 1,2,3,4 |
| Project and Presentation | Individual | 30-40% | 1,2,3,4 |
| Weekly Class Tests | Individual | 10-20% | 1,2,3 |
Content
- Programming language syntax
- Structured programming principles
- Functional decomposition
- Debugging techniques
- Computational thinking
- Contemporary programming practices
- Processes for evaluating and learning new technologies
- Software development tool usage, including version control and IDEs
- Experimentation and performance measurement
Study resources
Reading materials
A list of reading materials and/or required textbooks will be available in the Unit Outline on Canvas.