IFQ581 Programming Fundamentals
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: | IFQ581 |
|---|---|
| Equivalent(s): | IFN581 or ((IFN555 and IFN556) or (IFQ555 and IFQ556)) |
| Credit points: | 12 |
| Timetable | Details in HiQ, if available |
| Availabilities |
|
| CSP student contribution | $1,192 |
| Domestic tuition unit fee | $4,116 |
| International unit fee | $5,616 |
Unit Outline: Session 1 2026, QUT Online, Online
| Unit code: | IFQ581 |
|---|---|
| Credit points: | 12 |
| Equivalent: | IFN581 or ((IFN555 and IFN556) or (IFQ555 and IFQ556)) |
| Assumed Knowledge: | Nil |
Overview
This unit provides a hands-on introduction to computer programming for students with no prior coding experience. It introduces the basic building blocks of algorithms: sequence, selection and iteration and how algorithmic thinking is used to decompose problems into simpler steps. The Python language is used for expressing these concepts in a programming language, which is widely used in the industry.
The unit introduces an imperative style of programming in which a sequence of statements changes the program’s state using variables that contain data of various types. The unit introduces the processes for debugging and testing programs and the forms of professional communication associated with software development. The principles of object oriented programming is introduced to help overcome complexity when developing larger programs. The concepts of abstraction and encapsulation are introduced.by using classes, objects and methods.
Learning Outcomes
On successful completion of this unit you will be able to:
- Discuss the processes software development: requirements, design, coding, testing and ongoing evolution, as embedded in the overall life-cycle of software and services.
- Decompose problems into simpler steps consisting of sequence, selection and iteration using algorithmic thinking.
- Create simple programs and reusable program constructs using the strict syntax of a programming language.
- Use debugging and testing strategies to ensure the quality of computer programs.
- Communicate professionally in all phases of software development.
Content
- Software lifecycle and Algorithmic thinking
- Introduction to programming using Python
- Simple data types and operations
- Program syntax, understanding errors and documentation
- Sequence, Selection and Iteration
- Testing and debugging
- Lists and Dictionaries
- Design with Functions
- Classes, objects and methods
- Abstraction Mechanisms
Learning Approaches
This unit is designed for asynchronous online study. It uses a blend of on-line resources, online practical exercises and your own practice. The core material will be introduced in the text modules but will be supplemented by online video and code examples. Each week you will complete small programming exercises so that you can get rapid weekly feedback regarding your progress. Programming assignments will allow you the opportunity to apply and demonstrate your skills developing a more substantial software solution for a real-world problem. In this unit you will also have the opportunity to participate in online discussions with peers and teaching staff.
You are responsible for your academic progression through this unit. Unit staff will provide a learning environment designed to maximise your learning experience. In order to realise your full potential, it is strongly recommended that you actively participate in all of the learning activities offered in this unit. You should expect to spend on average, 12 hours per week, preparing and completing assessment tasks as well as in independent study to consolidate your learning. You must be able to manage your time and prioritize activities in order to complete the required unit activities. You are expected to complete all pre-tutorial activities before attending your collaborative sessions to maximise your learning.
Feedback on Learning and Assessment
Feedback in this unit is provided in the following ways:
- You can ask the teaching staff for advice and assistance during collaborative sessions.
- You will receive formative academic feedback on your practical exercises.
- You will receive written feedback on submitted assessment items.
Assessment
Overview
The assessment is designed to allow you to demonstrate your comprehension of the core programming concepts covered in this unit.
Unit Grading Scheme
7- point scale
Assessment Tasks
Assessment: Programming Assignment
Creating a software solution using Python for a small programming exercise.
The use of generative artificial intelligence (GenAI) tools are prohibited during this assessment.
This assignment is eligible for the 48-hour late submission period and assignment extension.
Assessment: Project - Programming Assignment
Creating a software solution using Python for a larger real-world motivated problem.
The use of generative artificial intelligence (GenAI) tools are prohibited during this assessment.
This assignment is eligible for the 48-hour late submission period and assignment extension
Assessment: Final Examination
This assessment item is to examine the contents and the programming concepts covered during the semester.
The use of generative artificial intelligence (GenAI) tools are prohibited during this assessment.
Academic Integrity
Academic integrity is a commitment to undertaking academic work and assessment in a manner that is ethical, fair, honest, respectful and accountable.
The Academic Integrity Policy sets out the range of conduct that can be a failure to maintain the standards of academic integrity. This includes, cheating in exams, plagiarism, self-plagiarism, collusion and contract cheating. It also includes providing fraudulent or altered documentation in support of an academic concession application, for example an assignment extension or a deferred exam.
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.
Breaching QUT’s Academic Integrity Policy or engaging in conduct that may defeat or compromise the purpose of assessment can lead to a finding of student misconduct (Code of Conduct – Student) and result in the imposition of penalties under the Management of Student Misconduct Policy, ranging from a grade reduction to exclusion from QUT.
Resources
Resource materials to support your learning in this unit will be made available in your IFQ581 Canvas site.
Resource Materials
Other
Canvas Site
Risk Assessment Statement
There are no unusual health or safety risks associated with this unit.
Course Learning Outcomes
This unit is designed to support your development of the following course/study area learning outcomes.IQ18 Graduate Certificate in Information Technology
- Demonstrate advanced knowledge of information technology disciplines.
Relates to: ULO1, Programming Assignment, Project - Programming Assignment, Final Examination - Critically analyse complex IT problems and opportunities and use creativity and problem-solving skills to generate solutions.
Relates to: ULO2, Programming Assignment, Project - Programming Assignment, Final Examination - Employ industry-best practice, IT methods, tools and techniques to develop and implement IT systems, processes and/or software.
Relates to: ULO3, ULO4, Programming Assignment, Project - Programming Assignment, Final Examination - Communicate effectively in IT professional contexts using written, visual and oral formats.
Relates to: ULO5, Programming Assignment, Project - Programming Assignment
IQ19 Graduate Diploma in Information Technology
- Demonstrate advanced IT knowledge in one or more IT disciplines.
Relates to: ULO1, Programming Assignment, Project - Programming Assignment, Final Examination - Critically analyse complex IT problems and opportunities and use creativity and problem-solving skills to generate solutions.
Relates to: ULO2, Programming Assignment, Project - Programming Assignment, Final Examination - Apply advanced, industry-best practice, IT methods, tools and techniques to develop and implement IT systems, processes and/or software.
Relates to: ULO3, ULO4, Programming Assignment, Project - Programming Assignment, Final Examination - Communicate effectively in IT professional contexts using written, visual and oral formats.
Relates to: ULO5, Programming Assignment, Project - Programming Assignment
IQ20 Master of Information Technology
- Demonstrate advanced specialist IT knowledge in at least one information technology discipline
Relates to: ULO1, Programming Assignment, Project - Programming Assignment, Final Examination - Critically analyse complex IT problems and opportunities and use creativity and problem-solving skills to generate innovative and novel solutions that are convincingly justified.
Relates to: ULO2, Programming Assignment, Project - Programming Assignment, Final Examination - Integrate advanced, industry-best practice, IT methods, tools and techniques to develop and implement complex IT systems, processes and/or software.
Relates to: ULO3, ULO4, Programming Assignment, Project - Programming Assignment, Final Examination - Communicate effectively in IT professional and scholarly contexts to specialist and non-specialist audiences using written, visual and oral formats.
Relates to: ULO5, Programming Assignment, Project - Programming Assignment
IQ30 Graduate Certificate in Data Science
- Demonstrate general knowledge of the principles, concepts, techniques, and approaches in data science.
Relates to: ULO1, Programming Assignment, Project - Programming Assignment, Final Examination - Employ appropriate data science methods to derive insights from data to support decision-making.
Relates to: ULO3, ULO4, Programming Assignment, Project - Programming Assignment, Final Examination - Apply problem solving approaches to design, execute and produce data science solutions.
Relates to: ULO2, ULO4, Programming Assignment, Project - Programming Assignment, Final Examination - Communicate professionally in oral and written form for diverse purposes and audiences.
Relates to: ULO5, Programming Assignment, Project - Programming Assignment
Unit Outline: Session 3 2026, QUT Online, Online
| Unit code: | IFQ581 |
|---|---|
| Credit points: | 12 |
| Equivalent: | IFN581 or ((IFN555 and IFN556) or (IFQ555 and IFQ556)) |
| Assumed Knowledge: | Nil |
Overview
This unit provides a hands-on introduction to computer programming for students with no prior coding experience. It introduces the basic building blocks of algorithms: sequence, selection and iteration and how algorithmic thinking is used to decompose problems into simpler steps. The Python language is used for expressing these concepts in a programming language, which is widely used in the industry.
The unit introduces an imperative style of programming in which a sequence of statements changes the program’s state using variables that contain data of various types. The unit introduces the processes for debugging and testing programs and the forms of professional communication associated with software development. The principles of object oriented programming is introduced to help overcome complexity when developing larger programs. The concepts of abstraction and encapsulation are introduced.by using classes, objects and methods.
Learning Outcomes
On successful completion of this unit you will be able to:
- Discuss the processes software development: requirements, design, coding, testing and ongoing evolution, as embedded in the overall life-cycle of software and services.
- Decompose problems into simpler steps consisting of sequence, selection and iteration using algorithmic thinking.
- Create simple programs and reusable program constructs using the strict syntax of a programming language.
- Use debugging and testing strategies to ensure the quality of computer programs.
- Communicate professionally in all phases of software development.
Content
- Software lifecycle and Algorithmic thinking
- Introduction to programming using Python
- Simple data types and operations
- Program syntax, understanding errors and documentation
- Sequence, Selection and Iteration
- Testing and debugging
- Lists and Dictionaries
- Design with Functions
- Classes, objects and methods
- Abstraction Mechanisms
Learning Approaches
This unit is designed for asynchronous online study. It uses a blend of on-line resources, online practical exercises and your own practice. The core material will be introduced in the text modules but will be supplemented by online video and code examples. Each week you will complete small programming exercises so that you can get rapid weekly feedback regarding your progress. Programming assignments will allow you the opportunity to apply and demonstrate your skills developing a more substantial software solution for a real-world problem. In this unit you will also have the opportunity to participate in online discussions with peers and teaching staff.
You are responsible for your academic progression through this unit. Unit staff will provide a learning environment designed to maximise your learning experience. In order to realise your full potential, it is strongly recommended that you actively participate in all of the learning activities offered in this unit. You should expect to spend on average, 12 hours per week, preparing and completing assessment tasks as well as in independent study to consolidate your learning. You must be able to manage your time and prioritize activities in order to complete the required unit activities. You are expected to complete all pre-tutorial activities before attending your collaborative sessions to maximise your learning.
Feedback on Learning and Assessment
Feedback in this unit is provided in the following ways:
- You can ask the teaching staff for advice and assistance during collaborative sessions.
- You will receive formative academic feedback on your practical exercises.
- You will receive written feedback on submitted assessment items.
Assessment
Overview
The assessment is designed to allow you to demonstrate your comprehension of the core programming concepts covered in this unit.
Unit Grading Scheme
7- point scale
Assessment Tasks
Assessment: Programming Assignment
Creating a software solution using Python for a small programming exercise.
The use of generative artificial intelligence (GenAI) tools are prohibited during this assessment.
This assignment is eligible for the 48-hour late submission period and assignment extension.
Assessment: Project - Programming Assignment
Creating a software solution using Python for a larger real-world motivated problem.
The use of generative artificial intelligence (GenAI) tools are prohibited during this assessment.
This assignment is eligible for the 48-hour late submission period and assignment extension
Assessment: Final Examination
This assessment item is to examine the contents and the programming concepts covered during the semester.
The use of generative artificial intelligence (GenAI) tools are prohibited during this assessment.
Academic Integrity
Academic integrity is a commitment to undertaking academic work and assessment in a manner that is ethical, fair, honest, respectful and accountable.
The Academic Integrity Policy sets out the range of conduct that can be a failure to maintain the standards of academic integrity. This includes, cheating in exams, plagiarism, self-plagiarism, collusion and contract cheating. It also includes providing fraudulent or altered documentation in support of an academic concession application, for example an assignment extension or a deferred exam.
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.
Breaching QUT’s Academic Integrity Policy or engaging in conduct that may defeat or compromise the purpose of assessment can lead to a finding of student misconduct (Code of Conduct – Student) and result in the imposition of penalties under the Management of Student Misconduct Policy, ranging from a grade reduction to exclusion from QUT.
Resources
Resource materials to support your learning in this unit will be made available in your IFQ581 Canvas site.
Resource Materials
Other
Canvas Site
Risk Assessment Statement
There are no unusual health or safety risks associated with this unit.
Course Learning Outcomes
This unit is designed to support your development of the following course/study area learning outcomes.IQ18 Graduate Certificate in Information Technology
- Demonstrate advanced knowledge of information technology disciplines.
Relates to: ULO1, Programming Assignment, Project - Programming Assignment, Final Examination - Critically analyse complex IT problems and opportunities and use creativity and problem-solving skills to generate solutions.
Relates to: ULO2, Programming Assignment, Project - Programming Assignment, Final Examination - Employ industry-best practice, IT methods, tools and techniques to develop and implement IT systems, processes and/or software.
Relates to: ULO3, ULO4, Programming Assignment, Project - Programming Assignment, Final Examination - Communicate effectively in IT professional contexts using written, visual and oral formats.
Relates to: ULO5, Programming Assignment, Project - Programming Assignment
IQ19 Graduate Diploma in Information Technology
- Demonstrate advanced IT knowledge in one or more IT disciplines.
Relates to: ULO1, Programming Assignment, Project - Programming Assignment, Final Examination - Critically analyse complex IT problems and opportunities and use creativity and problem-solving skills to generate solutions.
Relates to: ULO2, Programming Assignment, Project - Programming Assignment, Final Examination - Apply advanced, industry-best practice, IT methods, tools and techniques to develop and implement IT systems, processes and/or software.
Relates to: ULO3, ULO4, Programming Assignment, Project - Programming Assignment, Final Examination - Communicate effectively in IT professional contexts using written, visual and oral formats.
Relates to: ULO5, Programming Assignment, Project - Programming Assignment
IQ20 Master of Information Technology
- Demonstrate advanced specialist IT knowledge in at least one information technology discipline
Relates to: ULO1, Programming Assignment, Project - Programming Assignment, Final Examination - Critically analyse complex IT problems and opportunities and use creativity and problem-solving skills to generate innovative and novel solutions that are convincingly justified.
Relates to: ULO2, Programming Assignment, Project - Programming Assignment, Final Examination - Integrate advanced, industry-best practice, IT methods, tools and techniques to develop and implement complex IT systems, processes and/or software.
Relates to: ULO3, ULO4, Programming Assignment, Project - Programming Assignment, Final Examination - Communicate effectively in IT professional and scholarly contexts to specialist and non-specialist audiences using written, visual and oral formats.
Relates to: ULO5, Programming Assignment, Project - Programming Assignment
IQ30 Graduate Certificate in Data Science
- Demonstrate general knowledge of the principles, concepts, techniques, and approaches in data science.
Relates to: ULO1, Programming Assignment, Project - Programming Assignment, Final Examination - Employ appropriate data science methods to derive insights from data to support decision-making.
Relates to: ULO3, ULO4, Programming Assignment, Project - Programming Assignment, Final Examination - Apply problem solving approaches to design, execute and produce data science solutions.
Relates to: ULO2, ULO4, Programming Assignment, Project - Programming Assignment, Final Examination - Communicate professionally in oral and written form for diverse purposes and audiences.
Relates to: ULO5, Programming Assignment, Project - Programming Assignment