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 code: | CAB201 |
---|---|
Prerequisite(s): | IFB104 or ITD104 or MZB126 or MZB127 or EGD126 or ENB246 or MXB103 or INB104 or MAB220 or EGB103 or EGD103 |
Antirequisite(s): | ITD121 |
Equivalent(s): | INB270, IND270 |
Credit points: | 12 |
Timetable | Details in HiQ, if available |
Availabilities |
|
CSP student contribution | $1,118 |
Domestic tuition unit fee | $4,104 |
International unit fee | $4,788 |
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 |
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:
- Explain the principles and advantages of object-oriented design and programming.
- Design algorithms to solve complex problems.
- Document software designs and computer code to ensure it is easy to maintain and complies with industry standards.
- Apply object-oriented design and programming techniques to create software solutions.
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.
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.
Assessment: Final Examination
Apply your work to a given set of questions. This is be an invigilated exam.
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
- 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)
- 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) - 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 - Deploy appropriate approaches to engineering design and quality.
Relates to: ULO1, Final Examination - 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)
- 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) - 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 - Deploy appropriate approaches to engineering design and quality.
Relates to: Final Examination - 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
- Demonstrate well-developed IT discipline knowledge
Relates to: ULO1 - Critically apply design and problem solving skills
Relates to: ULO2 - Communicate effectively in professional contexts
Relates to: ULO3 - Create considered and relevant IT solutions
Relates to: ULO4
IN05 Bachelor of Games and Interactive Environments
- 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 - Apply creativity, critical thinking and problem-solving skills to generate solutions to design challenges.
Relates to: ULO2, Problem Solving Task, Final Examination - 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 - 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) - 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)
Unit Outline: Semester 1 2024, Online
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 |
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:
- Explain the principles and advantages of object-oriented design and programming.
- Design algorithms to solve complex problems.
- Document software designs and computer code to ensure it is easy to maintain and complies with industry standards.
- Apply object-oriented design and programming techniques to create software solutions.
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.
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.
Assessment: Final Examination
Apply your work to a given set of questions. This is be an invigilated exam.
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
- 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)
- 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) - 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 - Deploy appropriate approaches to engineering design and quality.
Relates to: ULO1, Final Examination - 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)
- 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) - 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 - Deploy appropriate approaches to engineering design and quality.
Relates to: Final Examination - 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
- Demonstrate well-developed IT discipline knowledge
Relates to: ULO1 - Critically apply design and problem solving skills
Relates to: ULO2 - Communicate effectively in professional contexts
Relates to: ULO3 - Create considered and relevant IT solutions
Relates to: ULO4
IN05 Bachelor of Games and Interactive Environments
- 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 - Apply creativity, critical thinking and problem-solving skills to generate solutions to design challenges.
Relates to: ULO2, Problem Solving Task, Final Examination - 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 - 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) - 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)
Unit Outline: Semester 2 2024, Gardens Point, Internal
Unit code: | CAB201 |
---|---|
Credit points: | 12 |
Pre-requisite: | IFB104 or ITD104 or MZB126 or MZB127 or EGD126 or ENB246 or MXB103 or INB104 or MAB220 or EGB103 or EGD103 |
Equivalent: | INB270, IND270 |
Anti-requisite: | ITD121 |
Coordinators: | Alan Woodley | a.woodley@qut.edu.au |
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:
- Explain the principles and advantages of object-oriented design and programming.
- Design algorithms to solve complex problems.
- Document software designs and computer code to ensure it is easy to maintain and complies with industry standards.
- Apply object-oriented design and programming techniques to create software solutions.
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.
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.
Assessment: Final Examination
Apply your work to a given set of questions. This is be an invigilated exam.
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
- Programming
Relates to: ULO4
Engineers Australia Stage 1 Competency Standard for Professional Engineer
1: Knowledge and Skill Base
Relates to: Problem Solving Task, Final Examination
Relates to: Problem Solving Task, Final Examination
Relates to: Final Examination
2: Engineering Application Ability
Relates to: Object-Oriented Design and Implementation Assignment (applied)
Relates to: Object-Oriented Design and Implementation Assignment (applied), Final Examination
Relates to: Object-Oriented Design and Implementation Assignment (applied)
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)
- 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) - 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 - Deploy appropriate approaches to engineering design and quality.
Relates to: ULO1, Final Examination - 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)
- 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) - 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 - Deploy appropriate approaches to engineering design and quality.
Relates to: Final Examination - 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
- Demonstrate well-developed IT discipline knowledge
Relates to: ULO1 - Critically apply design and problem solving skills
Relates to: ULO2 - Communicate effectively in professional contexts
Relates to: ULO3 - Create considered and relevant IT solutions
Relates to: ULO4
IN05 Bachelor of Games and Interactive Environments
- 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 - Apply creativity, critical thinking and problem-solving skills to generate solutions to design challenges.
Relates to: ULO2, Problem Solving Task, Final Examination - 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 - 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) - 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)
Unit Outline: Semester 2 2024, Online
Unit code: | CAB201 |
---|---|
Credit points: | 12 |
Pre-requisite: | IFB104 or ITD104 or MZB126 or MZB127 or EGD126 or ENB246 or MXB103 or INB104 or MAB220 or EGB103 or EGD103 |
Equivalent: | INB270, IND270 |
Anti-requisite: | ITD121 |
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:
- Explain the principles and advantages of object-oriented design and programming.
- Design algorithms to solve complex problems.
- Document software designs and computer code to ensure it is easy to maintain and complies with industry standards.
- Apply object-oriented design and programming techniques to create software solutions.
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.
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.
Assessment: Final Examination
Apply your work to a given set of questions. This is be an invigilated exam.
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
- Programming
Relates to: ULO4
Engineers Australia Stage 1 Competency Standard for Professional Engineer
1: Knowledge and Skill Base
Relates to: Problem Solving Task, Final Examination
Relates to: Problem Solving Task, Final Examination
Relates to: Final Examination
2: Engineering Application Ability
Relates to: Object-Oriented Design and Implementation Assignment (applied)
Relates to: Object-Oriented Design and Implementation Assignment (applied), Final Examination
Relates to: Object-Oriented Design and Implementation Assignment (applied)
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)
- 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) - 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 - Deploy appropriate approaches to engineering design and quality.
Relates to: ULO1, Final Examination - 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)
- 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) - 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 - Deploy appropriate approaches to engineering design and quality.
Relates to: Final Examination - 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
- Demonstrate well-developed IT discipline knowledge
Relates to: ULO1 - Critically apply design and problem solving skills
Relates to: ULO2 - Communicate effectively in professional contexts
Relates to: ULO3 - Create considered and relevant IT solutions
Relates to: ULO4
IN05 Bachelor of Games and Interactive Environments
- 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 - Apply creativity, critical thinking and problem-solving skills to generate solutions to design challenges.
Relates to: ULO2, Problem Solving Task, Final Examination - 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 - 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) - 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)