This course provides a structured introduction to computing, guiding students from foundational programming through to the design and delivery of complete digital solutions. Across four units, students develop practical skills in coding, systems thinking, and problem-solving while gaining experience with industry-relevant tools and methodologies. The course emphasises both technical understanding and creative thinking, preparing students to design, build, and evaluate software in real-world contexts. No prior experience is required; students are supported as they progressively build confidence and capability in computing.
Students begin with Python, learning core programming concepts such as variables, control structures, and data handling as they create simple programs. Supporting technologies such as HTML, CSS, JavaScript, and Flask are introduced to provide context for how code is used in real applications.
Using Java, students explore object-oriented programming and learn how to design and build structured, modular applications. They are introduced to UML for modelling systems and may use technologies such as JavaFX and SQL to develop more interactive and data-driven applications.
Students are introduced to core computer science concepts using the C programming language, with a focus on efficiency, memory management, and deeper problem-solving. This unit strengthens analytical thinking to explore how low-level concepts connect to broader systems.
In this capstone unit, students apply Agile methodologies to plan, develop, and evaluate a complete software project. They integrate skills from previous units while using tools such as UML and versioned workflows to manage and document their project effectively.