CAB201 Programming Principles


To view more information for this unit, select Unit Outline from the list below. Please note the teaching period for which the Unit Outline is relevant.


Unit Outline: Semester 1 2024, Gardens Point, Internal

Unit code:CAB201
Credit points:12
Pre-requisite:IFB104 or ITD104 or MZB126 or EGD126 or ENB246 or MXB103 or INB104 or MAB220 or EGB103 or EGD103
Equivalent:INB270, IND270
Anti-requisite:ITD121
Coordinators:Timothy Chappell | timothy.chappell@qut.edu.au
Disclaimer - Offer of some units is subject to viability, and information in these Unit Outlines is subject to change prior to commencement of the teaching period.

Overview

This unit builds on the gentle introduction to programming provided in IFB104, EGB103 or MZB126. In those units students learn how algorithms are constructed by combining the logical structures of sequence, selection and iteration. Students also learn how functions can be used to abstract and reuse sections of code. These concepts are reinforced in this unit and extended with additional applications of abstraction necessary to combat complexity when building larger systems. Object-oriented principles are introduced where the program is structured around classes of objects that are identified from the real-world providing a high-level architecture that is better able to stand the test of time as requirements evolve throughout the lifetime of the system. This unit provides the foundation for the other more advanced and specialized programming units.

Learning Outcomes

On successful completion of this unit you will be able to:

  1. Explain the principles and advantages of object-oriented design and programming.
    Relates to: SFIA: PROG
  2. Design algorithms to solve complex problems.
    Relates to: ACS CBOK: 2; SFIA: PROG
  3. Document software designs and computer code to ensure it is easy to maintain and complies with industry standards.
    Relates to: SFIA: PROG
  4. Apply object-oriented design and programming techniques to create software solutions.
    Relates to: ACS CBOK: 4, 4.2; SFIA: PROG

Content

• Software development lifecycle
• Static typing and compilation
• Reinforcing sequence, selection and iteration.
• Principles of abstraction and encapsulation.
• Incremental development
• Testing
• Debugging
• Object-oriented concepts (classes, objects, methods, fields, inheritance, polymorphism)
• Object-oriented design

Learning Approaches

Developing a program to solve a computational problem involves two steps. Firstly, you must devise an 'algorithmic' solution to the problem, i.e., a sequence of well-defined, unambiguous instructions to follow in order to achieve the desired outcome. Secondly, you must 'code' your solution in a form that a computer can interpret, using an appropriate programming or scripting language. Through numerous worked examples and practical exercises, this unit will give you hands-on practice at both of these skills.

Feedback on Learning and Assessment

You will be given feedback on your progress throughout the unit through the following mechanisms:

  • Tutors will provide formative feedback during the supervised workshops.
  • Solutions to selected weekly quiz question will be released on the Canvas site as well as sample solutions to selected workshop activities.
  • Summative and formative feedback will be provided on the programming project assignment and the problem solving tasks via comments on the criteria sheets.

Assessment

Overview

Summative assessment is designed to provide multiple opportunities for feedback and to assist learning throughout semester. The problem solving task and programming project will provide experience in using various programming tools as well as designing simple programs which are well documented. The final examination, will holistically assess your learning across the semester.


The workshops will provide opportunities for formative feedback from peers and your tutor.


The AMS - the Automated Marking System - will be available online and provide you with the opportunity to receive regular formative feedback on your progress.

Unit Grading Scheme

7- point scale

Assessment Tasks

Assessment: Problem Solving Task

A small program development exercise, which allows you to demonstrate your understanding and application of the programming concepts learned in Weeks 1 - 3.

This is an assignment for the purposes of an extension.

Weight: 10
Individual/Group: Individual
Due (indicative): Week 4
Related Unit learning outcomes: 2

Assessment: Object-Oriented Design and Implementation Assignment (applied)

You are required to complete a major program development exercise applying object-oriented design and programming. This task will be submitted in two parts to allow you to receive early feedback on your program, which can be incorporated into the final assignment.

This is an assignment for the purposes of an extension.

Weight: 50
Individual/Group: Individual
Due (indicative): Week 12
Related Unit learning outcomes: 3, 4
Related Standards: ACS CBOK: 2

Assessment: Final Examination

Apply your work to a given set of questions. This is be an invigilated exam.

Weight: 40
Individual/Group: Individual
Due (indicative): Central Examination Period
Related Unit learning outcomes: 1, 2, 4

Academic Integrity

Students are expected to engage in learning and assessment at QUT with honesty, transparency and fairness. Maintaining academic integrity means upholding these principles and demonstrating valuable professional capabilities based on ethical foundations.

Failure to maintain academic integrity can take many forms. It includes cheating in examinations, plagiarism, self-plagiarism, collusion, and submitting an assessment item completed by another person (e.g. contract cheating). It can also include providing your assessment to another entity, such as to a person or website.

You are encouraged to make use of QUT’s learning support services, resources and tools to assure the academic integrity of your assessment. This includes the use of text matching software that may be available to assist with self-assessing your academic integrity as part of the assessment submission process.

Further details of QUT’s approach to academic integrity are outlined in the Academic integrity policy and the Student Code of Conduct. Breaching QUT’s Academic integrity policy is regarded as student misconduct and can lead to the imposition of penalties ranging from a grade reduction to exclusion from QUT.

Resources

The unit's Canvas site will provide:

  • Lecture notes and workshop resources
  • Additional supporting documents and essential information if/as required
  • Assessment details and criteria sheets

Resource Materials

Software

Students will be recommended to use Microsoft Visual Studio for use at home.

Risk Assessment Statement

There are no unusual health or safety risks associated with this unit. You will be made aware of evacuation procedures and assembly areas in the first few weeks. In the event of a fire alarm sounding, or on a lecturer's or tutor's instruction, you should leave the room and assemble in the designated area which will be indicated to you. You should be conscious of your health and safety at all times whilst on campus.

Standards/Competencies

This unit is designed to support your development of the following standards\competencies.

Australian Computer Society Core Body of Knowledge

2: ICT Problem Solving

Relates to: ULO2, Object-Oriented Design and Implementation Assignment (applied)

4: Technology Building

  1. Programming
    Relates to: ULO4

The Global Skills and Competency framework for a digital world

PROG: Programming/Software Development 

Relates to: ULO1, ULO2, ULO3, ULO4

Course Learning Outcomes

This unit is designed to support your development of the following course/study area learning outcomes.

EN01 Bachelor of Engineering (Honours)

  1. Engage stakeholders professionally and communicate the outcomes of your work effectively to expert and non-expert audiences using appropriate modes.
    Relates to: ULO3, Object-Oriented Design and Implementation Assignment (applied)
  2. Manage projects to solve complex engineering problems, using appropriate information, engineering methods, and technologies.
    Relates to: ULO4, Object-Oriented Design and Implementation Assignment (applied), Final Examination
  3. Deploy appropriate approaches to engineering design and quality.
    Relates to: ULO1, Final Examination
  4. Demonstrate coherent knowledge and skills of physical, mathematical, statistical, computer, and information sciences that are fundamental to professional engineering practice.
    Relates to: ULO2, Problem Solving Task, Final Examination

EV01 Bachelor of Engineering (Honours)

  1. Engage stakeholders professionally and communicate the outcomes of your work effectively to expert and non-expert audiences using appropriate modes.
    Relates to: Object-Oriented Design and Implementation Assignment (applied)
  2. Manage projects to solve complex engineering problems, using appropriate information, engineering methods, and technologies.
    Relates to: Object-Oriented Design and Implementation Assignment (applied), Final Examination
  3. Deploy appropriate approaches to engineering design and quality.
    Relates to: Final Examination
  4. Demonstrate coherent knowledge and skills of physical, mathematical, statistical, computer, and information sciences that are fundamental to professional engineering practice.
    Relates to: Problem Solving Task, Final Examination

IN01 Bachelor of Information Technology

  1. Demonstrate well-developed IT discipline knowledge
    Relates to: ULO1
  2. Critically apply design and problem solving skills
    Relates to: ULO2
  3. Communicate effectively in professional contexts
    Relates to: ULO3
  4. Create considered and relevant IT solutions
    Relates to: ULO4

IN05 Bachelor of Games and Interactive Environments

  1. Demonstrate broad knowledge of games and interactive environments principles and theory, with an in-depth knowledge of one games-related discipline.
    Relates to: ULO1, Final Examination
  2. Apply creativity, critical thinking and problem-solving skills to generate solutions to design challenges.
    Relates to: ULO2, Problem Solving Task, Final Examination
  3. Create engaging and meaningful games experiences for specific target audiences in partnership with diverse industry and community stakeholders using industry-relevant software and technologies..
    Relates to: ULO4, Object-Oriented Design and Implementation Assignment (applied), Final Examination
  4. Communicate complex concepts at all stages of the development cycle to specialist and non-specialist audiences in written, oral and interactive visual formats.
    Relates to: ULO3, Object-Oriented Design and Implementation Assignment (applied)
  5. Evidence the development of your learning, professional capabilities and skills through creating a curated portfolio of work.
    Relates to: ULO4, Object-Oriented Design and Implementation Assignment (applied)