Overview
This unit will help you become a programmer even if you have had no programming experience. You will learn and practise topics such as pseudocode, variables, constants, data types, operators, expressions, statements, classes, objects, control constructs, methods, passing parameters and arrays. In addition, you will learn how to design, implement and test programs using a modern Integrated Development Environment (IDE).
Details
Pre-requisites or Co-requisites
There are no requisites for this unit.
Important note: Students enrolled in a subsequent unit who failed their pre-requisite unit, should drop the subsequent unit before the census date or within 10 working days of Fail grade notification. Students who do not drop the unit in this timeframe cannot later drop the unit without academic and financial liability. See details in the Assessment Policy and Procedure (Higher Education Coursework).
Offerings For Term 3 - 2026
Attendance Requirements
All on-campus students are expected to attend scheduled classes - in some units, these classes are identified as a mandatory (pass/fail) component and attendance is compulsory. International students, on a student visa, must maintain a full time study load and meet both attendance and academic progress requirements in each study period (satisfactory attendance for International students is defined as maintaining at least an 80% attendance record).
Recommended Student Time Commitment
Each 6-credit Undergraduate unit at CQUniversity requires an overall time commitment of an average of 12.5 hours of study per week, making a total of 150 hours for the unit.
Class Timetable
Assessment Overview
| Assessment Task | Part Weighting (% of assessment) |
Assessment Security Level | Gen AI Guidance Levels |
|---|---|---|---|
| 1. Practical Assessment 1 (30% of unit · 2 parts ) | |||
| Part 1 – Weekly Labs (Practical Assessment) | 50% of 30% | Medium | No Gen AI Use |
| Part 2 – Weekly Tutorial documentation (Written Assessment) | 50% of 30% | Low | AI-Assisted (Guided Collaboration) |
| 2. Practical Assessment 2 (20% of unit · 3 parts ) | |||
| Part 1 – Programming Assignment (Practical Assessment) | 55% of 20% | Low | AI-Assisted (Guided Collaboration) |
| Part 2 – Program Report (Report) | 15% of 20% | Low | AI-Assisted (Guided Collaboration) |
| Part 3 – Program Presentation (Presentation) | 30% of 20% | Medium | AI-Assisted (Guided Collaboration) |
| 3. EXAMINATION (50% of unit ) | |||
| Examination (Examination) | 100% of 50% | High | No Gen AI Use |
Assessment Grading
This is a graded unit: your overall grade will be calculated from the marks or grades for each assessment task, based on the relative weightings shown in the table above. You must obtain an overall mark for the unit of at least 50%, or an overall grade of 'pass' in order to pass the unit. If any 'pass/fail' tasks are shown in the table above they must also be completed successfully ('pass' grade). You must also meet any minimum mark requirements specified for a particular assessment task, as detailed in the 'assessment task' section (note that in some instances, the minimum mark for a task may be greater than 50%). Consult the University's Grades and Results Policy for more details of interim results and final grades.
All University policies are available on the CQUniversity Policy site.
You may wish to view these policies:
- Grades and Results Policy
- Assessment Policy and Procedure (Higher Education Coursework)
- Review of Grade Procedure
- Student Academic Integrity Policy and Procedure
- Academic Progression Policy and Procedure
- Student Refund and Credit Balance Policy and Procedure
- Complaints Policy and Procedure
- Information and Communications Technology Acceptable Use Policy and Procedure
This list is not an exhaustive list of all University policies. The full list of University policies are available on the CQUniversity Policy site.
Feedback, Recommendations and Responses
Every unit is reviewed for enhancement each year. At the most recent review, the following staff and student feedback items were identified and recommendations were made.
Feedback from UC Reflection
Greater use of interactive and hands-on learning activities would enhance student engagement and provide more opportunities to apply programming concepts during class.
Increase the use of hands-on programming exercises, demonstrations, and interactive activities during classes to promote active learning, engagement, and practical application of programming concepts.
Feedback from UC Reflection
Students experienced some uncertainty regarding tutorial completion requirements and Moodle submission processes, resulting in inconsistent understanding and compliance with submission requirements.
Provide clearer guidance on tutorial completion requirements and Moodle submission processes, and include submission status reminders in student communications to improve understanding and compliance.
- Develop clearly documented and thoroughly tested applications using an industry-standard integrated development environment (IDE)
- Apply procedural concepts (methods, iteration, selection) and design principles (encapsulation, coupling and cohesion) to the realisation of object behaviour in applications
- Implement standard algorithms such as searching, sorting and sequential processing for arrays and lists of objects in applications
- Employ stream abstraction to process records contained in sequential text files
- Apply concepts presented in this unit, including language syntax, memory models, execution models, types, scope rules, methods, parameter passing, classes, objects and algorithms.
- Programming/Software Development (PROG)
- Functional Testing (TEST)
Alignment of Assessment Tasks to Learning Outcomes
| Assessment Tasks | Learning Outcomes | ||||
|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | |
|
1.
Assessment 1
(30% of unit · 2 parts
)
Part 1 -
Practical Assessment
Part 2 -
Written Assessment
|
|||||
|
2.
Assessment 2
(20% of unit · 3 parts
)
Part 1 -
Practical Assessment
Part 2 -
Report
Part 3 -
Presentation
|
|||||
|
3.
Examination
(50% of unit )
Examination
|
|||||
Alignment of Graduate Attributes to Learning Outcomes
| Graduate Attributes | Learning Outcomes | ||||
|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | |
| 1 - Communication | |||||
| 2 - Problem Solving | |||||
| 3 - Critical Thinking | |||||
| 4 - Information Literacy | |||||
| 5 - Team Work | |||||
| 6 - Information Technology Competence | |||||
| 7 - Cross Cultural Competence | |||||
| 8 - Ethical practice | |||||
| 9 - Social Innovation | |||||
| 10 - First Nations Knowledges | |||||
| 11 - Aboriginal and Torres Strait Islander Cultures | |||||
Textbooks
How to Think Like a Computer Scientist: Learning with Python 3
- Authors: Peter Wentworth, Jeffrey Elkner, Allen B. Downey and Chris Meyers
- ISBN: 9888406787
- Binding: eBook
IT Resources
- CQUniversity Student Email
- Internet
- Unit Website (Moodle)
- Visual Studio Code (latest version)
- Python 3.10 (or higher)
- Java 21
- Eclipse IDE for java
- Python IDLE
All submissions for this unit must use the referencing style: Harvard (author-date)
For further information, see the Assessment Tasks.
o.omisore@cqu.edu.au
Week 1
Begin Date: 09 Nov 2026Module/Topic
Understanding Programming & First Python Programs
- The Python programming language
- What is a program?
- The first program
- Basic syntax, errors, comments
Chapter
Python textbook Chapter 1 and online resources
Events and Submissions/Topic
Installation of dependencies
Week 2
Begin Date: 16 Nov 2026Module/Topic
Using Data
- Variables, expressions, statements
- Data types
- Input/output
Chapter
Python textbook, Chapter 2
Events and Submissions/Topic
Assessment 1: part 1—due in week 2 tutorial class
Week 3
Begin Date: 23 Nov 2026Module/Topic
Making decisions
- Conditionals
- if, elif, else
- Boolean logic
- Comparison operators
Chapter
Python textbook Chapter 5 and online resources
Events and Submissions/Topic
Assessment 1: part 2—due in week 3 tutorial class
Week 4
Begin Date: 30 Nov 2026Module/Topic
Repetition with Loops
- for loops
- while loops
- Loop control (break, continue)
Chapter
Python textbook Chapters 3 & 7, and online resources
Events and Submissions/Topic
Assessment 1: part 3—due in week 4 tutorial class
Week 5
Begin Date: 07 Dec 2026Module/Topic
Functions
- Defining functions
- Parameters and return values
- Scope
Chapter
Python textbook Chapter 4 and online resources
Events and Submissions/Topic
Assessment 1: part 4—due in week 5 tutorial class
Week 6
Begin Date: 14 Dec 2026Module/Topic
Strings and Lists
- A compound data type
- Common string operations
- Lists, indexing, slicing
Chapter
Python textbook Chapters 8 & 11, and online resources
Events and Submissions/Topic
Assessment 1: part 5—due in week 6 tutorial class
Mid-Term Break
Begin Date: 21 Dec 2026Module/Topic
Chapter
Events and Submissions/Topic
Week 7
Begin Date: 04 Jan 2027Module/Topic
Classes and Objects - the Basics
- Object-oriented programming
- Simple classes
- Attributes and methods
Chapter
Python textbook Chapter 15 and online resources
Events and Submissions/Topic
Assessment 1: part 6—due in week 7 tutorial class
Week 8
Begin Date: 11 Jan 2027Module/Topic
Working with files
- Reading/writing files
- Simple file processing
Chapter
Python textbook Chapter 13 and online resources
Events and Submissions/Topic
Assessment 1: part 7—due in week 8 tutorial class
Week 9
Begin Date: 18 Jan 2027Module/Topic
Testing, error handling, and debugging
Chapter
Python textbook Chapters 6, 19 & Appendix A
Events and Submissions/Topic
Assessment 1: part 8—due in week 9 tutorial class
Week 10
Begin Date: 25 Jan 2027Module/Topic
Introduction to Programming in Java (Part 1)
Chapter
Lecture Slides & Online Resources
Events and Submissions/Topic
Assessment 1: part 9—due in week 10 tutorial class
Programming Assignment Due: Week 10 Friday (29 Jan 2027) 11:45 pm AEST
Program Report Due: Week 10 Friday (29 Jan 2027) 11:45 pm AEST
Program Presentation Due: Week 10 Friday (29 Jan 2027) 11:45 pm AEST
Week 11
Begin Date: 01 Feb 2027Module/Topic
Introduction to Programming in Java (Part 2)
Chapter
Lecture Slides & Online resources
Events and Submissions/Topic
Assessment 1: part 10—due in week 11 tutorial class
Week 12
Begin Date: 08 Feb 2027Module/Topic
Introduction to Design; Ethical Considerations; Review
Chapter
Lecture Slides & Online resources
Events and Submissions/Topic
Review
Exam Week
Begin Date: 15 Feb 2027Module/Topic
Chapter
Events and Submissions/Topic
- Students are required to score a minimum of 50% in the Exam to pass this unit.
- Students are also required to score a minimum of 50% in the overall unit wieght to pass this unit.
1. Practical Assessment 1 ( 30% of unit · 2 parts )
Part 1 - Practical Assessment
Weekly Tutorial Work
This assessment item is to be developed and submitted as part of your weekly tutorial sessions. It consists of a series of 10 practical tutorial submissions where the tutorial/lab work is to be developed and submitted in weeks 2 – 11 (inclusive). For on campus students this work is due in the weekly tutorial, NOT the due date shown in Moodle. Moodle cannot have multiple due dates to cater for different tutorial times so the date specified in Moodle is to allow for tutorials held at the end of the week or on weekends. For on campus students no marks will be awarded for work submitted outside the tutorial class or for late submissions unless there are special circumstances (approved by the unit coordinator).
Note:
- This is an individual assessment.
- Re-attempts are not allowed for this assessment.
- This assessment is exempted from the 72-hour submission grace period (i.e. there is no automatic extension for this assessment). It must be submitted by the specified date/time. For on-campus students this is in their weekly tutorial. The specified tutorial work must be completed and submitted in the weekly face to face tutorial class. For online/distance education students their weekly tutorial work must be submitted by the due date in Moodle.
On-campus students
- Due Date: This assessment task must be developed and submitted in your weekly tutorial when you are directed to do so by your tutor. The tutor will provide more details about the requirements each week. No marks will be awarded for work submitted outside the tutorial class or for late submissions unless there are special circumstances (approved by the unit coordinator). If you have special circumstances (e.g. illness) that prevent you from attending a specific class, please contact your tutor and unit coordinator as soon as you are aware of this. You will be given instructions about what you need to do to complete the assessment work for that week.
- Marks may be deducted if your tutor is not satisfied with your progress or understanding of the work. Marks are not only awarded for the sample of work submitted during the class. Satisfactory participation in all tutorial class activities is also required to be awarded marks for this assessment item. It is important to be prepared for the tutorial class. This means you must attend the lecture and/or review the lecture material before the tutorial.
Online/distance education students
- Attendance at tutorial classes is optional for distance education students. However, you must still submit weekly tutorial work to be awarded marks for this assessment item.
- Due Date: You are required to submit the sample of your weekly tutorial work requested by the unit coordinator by the due date shown on the unit website. Late submissions will be awarded 0 marks (unless you have been given approval to complete an alternative late submission due to special circumstances). The reason for this is that the solutions will be available after the due date.
- The unit coordinator may make arrangements to discuss aspects of the weekly work with you before marks can be awarded.
Learning Outcomes Assessed
- Develop applications using procedural programming constructs (functions/methods, iteration, selection) in an industry-standard integrated development environment.
- Apply standard algorithms including searching, sorting and sequential processing in the manipulation of data structures such as lists.
- Employ stream abstraction to read from and write to sequential text files.
This assessment has a weekly submission due each week from week 2 to week 11 (inclusive).
Mark and feedback will be provided before the next tutorial class.
Practical questions in the weekly tutorial will be used to assess your understanding of the topics covered in that week.
To be awarded marks,
- On campus students are required to participate in all activities in the tutorial and submit the sample of work requested when instructed to do so during the class. The tutor will monitor student progress in class.
- Online/distance education students are required to submit their sample of work (i.e. answers to the questions specified by the unit coordinator) by the due date. Online students should contact the unit coordinator if they have any questions about the weekly work and may also be asked to make arrangements to discuss their work before marks can be awarded.
Note that although you are only required to submit answers to selected tutorial questions as part of this assessment item, all the tutorial exercises should be attempted each week. They are all important for your learning and understanding, not only those questions selected for submission.
Important Notes:
- Use of AI and large language models are not permitted for this Assessment.
- Total for this assessment item is 30% of the total unit weight.
- Each week's work for Assessment 1 has a maximum of 3 marks.
- This is split into 50% for the Lab tasks and 50% for the code testing and documentation.
- Develop clearly documented and thoroughly tested applications using an industry-standard integrated development environment (IDE)
- Apply procedural concepts (methods, iteration, selection) and design principles (encapsulation, coupling and cohesion) to the realisation of object behaviour in applications
- Implement standard algorithms such as searching, sorting and sequential processing for arrays and lists of objects in applications
- Apply concepts presented in this unit, including language syntax, memory models, execution models, types, scope rules, methods, parameter passing, classes, objects and algorithms.
Part 2 - Written Assessment
Practical questions in the weekly tutorial will be used to assess your understanding of the topics covered in that week. In addition to programming codes, students must document their solutions in the Lab worksheets and submit weekly.
In the weekly documentation, students will be assessed against their ability to:
- Use the programming features covered from week 1 up to the week of assessment only to solve the Lab tasks. Therefore, students must not use programming syntaxes that have not been taught in class up to the week of assessment, according to the specification provided.
- Follow good programming practices (e.g. code is clear, easy to read, uses meaningful names, good layout, uses language features correctly etc.).
- Provide appropriate documentation and implement the thorough test plan, where provided, to debug and test their code.
To be awarded marks:
- On campus students are required to participate in all activities in the tutorial and submit the sample of work requested when instructed to do so during the class. The tutor will monitor student progress in class.
- Online/distance education students are required to submit their sample of work (i.e. answers to the questions specified by the unit coordinator) by the due date. Online students should contact the unit coordinator if they have any questions about the weekly work and may also be asked to make arrangements to discuss their work before marks can be awarded.
Note that although you are only required to submit answers to selected tutorial questions as part of this assessment item, all the tutorial exercises should be attempted each week. They are all important for your learning and understanding, not only those questions selected for submission.
This assessment has a weekly submission due each week from week 2 to week 11 (inclusive).
Mark and feedback will be provided before the next tutorial class.
Practical questions in the weekly tutorial will be used to assess your understanding of the topics covered in that week.
To be awarded marks:
- On campus students are required to participate in all activities in the tutorial and submit the sample of work requested when instructed to do so during the class. The tutor will monitor student progress in class.
- Online/distance education students are required to submit their sample of work (i.e. answers to the questions specified by the unit coordinator) by the due date. Online students should contact the unit coordinator if they have any questions about the weekly work and may also be asked to make arrangements to discuss their work before marks can be awarded.
Note that although you are only required to submit answers to selected tutorial questions as part of this assessment item, all the tutorial exercises should be attempted each week. They are all important for your learning and understanding, not only those questions selected for submission.
Important Notes:
- Use of AI and large language models are not permitted for this Assessment.
- Total for this assessment item is 30% of the total unit weight.
- Each week's work for Assessment 1 has a maximum of 3 marks.
- This is split into 50% for the Lab tasks and 50% for the code testing and documentation.
- Develop clearly documented and thoroughly tested applications using an industry-standard integrated development environment (IDE)
- Apply procedural concepts (methods, iteration, selection) and design principles (encapsulation, coupling and cohesion) to the realisation of object behaviour in applications
- Implement standard algorithms such as searching, sorting and sequential processing for arrays and lists of objects in applications
- Apply concepts presented in this unit, including language syntax, memory models, execution models, types, scope rules, methods, parameter passing, classes, objects and algorithms.
2. Practical Assessment 2 ( 20% of unit · 3 parts )
Part 1 - Practical Assessment
The Task
Student will be required to build a Book Store Inventory System for a retail bookstore. The system should allow staff to manage book inventory, track sales, and search for available titles. Thus, you need to write python codes for loading book data, tracking stock levels, printing sales summary, and supporting flexible search. It must also handle bad/missing data gracefully and provide a simple interactive menu.
This assessment focuses on applying key Python programming concepts in a more advanced, real-world scenario. You are required to design, implement, and test a Python application that demonstrates your understanding of file handling, exception handling, and object-oriented programming (classes and objects) to develop, test and document a software application.
See Moodle for the full specification of the assignment requirements.
Note that:
- You must only use language features covered in this unit to complete your programming assignment.
- You may be asked to demonstrate your understanding of the assignment to the unit coordinator before marks can be awarded.
Learning Outcomes Assessed
- Develop applications using procedural programming constructs (functions/methods, iteration, selection) in an industry-standard integrated development environment.
- Implement object-oriented applications based on a given design, applying principles such as encapsulation, cohesion and coupling to support code clarity, maintainability and reuse.
- Apply standard algorithms including searching, sorting and sequential processing in the manipulation of data structures such as lists.
- Employ stream abstraction to read from and write to sequential text files.
Week 10 Friday (29 Jan 2027) 11:45 pm AEST
Within 2 weeks of the due date or within 2 weeks of submission (whichever is the later)
The students will be assessed against their ability to:
- Use the programming features covered in weeks 1 - 10 to develop and test a software application.
- Develop the application according to the specification provided.
- Follow good programming practices (e.g. code is clear, easy to read, uses meaningful names, good layout, uses language features correctly etc.).
AI ASSESSMENT SCALE - AI PLANNING
You may use Al for planning, idea development, and research. Your final submission should show how you have developed and refined these ideas.
Note: For programming assignments, you can get examples and ideas from AI, but you must not include code in your program that was generated by AI. You must write the code in your application yourself. If asked, you must be able to explain any of the code submitted and you must be capable of writing similar code under invigilated, test conditions if required to do so. In addition, you must only use the language features and techniques covered in the unit (and course) so far. These are the concepts being tested by the assessment item.
- Develop clearly documented and thoroughly tested applications using an industry-standard integrated development environment (IDE)
- Apply procedural concepts (methods, iteration, selection) and design principles (encapsulation, coupling and cohesion) to the realisation of object behaviour in applications
- Implement standard algorithms such as searching, sorting and sequential processing for arrays and lists of objects in applications
- Employ stream abstraction to process records contained in sequential text files
- Apply concepts presented in this unit, including language syntax, memory models, execution models, types, scope rules, methods, parameter passing, classes, objects and algorithms.
Part 2 - Report
Students are required to submit a Program Report for this Assessment: Programming Assignment. This task requires you to prepare and submit a Microsoft Word report that documents, explains, and evaluates their solution. The report should:
- Demonstrate your understanding of the design, implementation, and testing of the application.
- Clearly explain how the program was developed and how the various Python programming concepts were applied to meet the system requirements.
- Be written in a professional and well-structured format using appropriate headings, screenshots, diagrams, and code excerpts where necessary.
See Moodle for the full specification of the assignment requirements.
Learning Outcomes Assessed
- Test and clearly documented applications using procedural and object-oriented programming constructs in an industry-standard integrated development environment.
- Demonstrate understanding of fundamental programming concepts, including language syntax, memory and execution models, data types, scope, parameter passing, classes, objects and algorithms.
Week 10 Friday (29 Jan 2027) 11:45 pm AEST
Within 2 weeks of the due date or within 2 weeks of submission (whichever is the later)
The students will be assessed against their ability to:
- Provide appropriate documentation.
- Develop a thorough test plan and thoroughly test (and where necessary, debug) their code.
AI ASSESSMENT SCALE - AI PLANNING
You may use Al only for planning.
- Develop clearly documented and thoroughly tested applications using an industry-standard integrated development environment (IDE)
- Apply procedural concepts (methods, iteration, selection) and design principles (encapsulation, coupling and cohesion) to the realisation of object behaviour in applications
- Implement standard algorithms such as searching, sorting and sequential processing for arrays and lists of objects in applications
- Employ stream abstraction to process records contained in sequential text files
- Apply concepts presented in this unit, including language syntax, memory models, execution models, types, scope rules, methods, parameter passing, classes, objects and algorithms.
Part 3 - Presentation
Students are required to submit a Program Presentation and Demonstration for this Assessment: Programming Assignment. The purpose of this task is to assess students' ownership and understanding of the System developed in Task 1, as submitted.
Students will prepare and submit a short presentation and demonstrate the operation of their program to the tutor or unit coordinator. During the presentation, students should clearly explain how the system was designed and developed, the programming concepts applied, and how the program satisfies the requirements of the assessment.
See Moodle for the full specification of the assignment requirements.
Learning Outcomes Assessed
- Test and clearly documented applications using procedural and object-oriented programming constructs in an industry-standard integrated development environment.
- Demonstrate understanding of fundamental programming concepts, including language syntax, memory and execution models, data types, scope, parameter passing, classes, objects and algorithms.
Week 10 Friday (29 Jan 2027) 11:45 pm AEST
Within 2 weeks of the due date or within 2 weeks of submission (whichever is the later)
- Develop clearly documented and thoroughly tested applications using an industry-standard integrated development environment (IDE)
- Apply procedural concepts (methods, iteration, selection) and design principles (encapsulation, coupling and cohesion) to the realisation of object behaviour in applications
- Implement standard algorithms such as searching, sorting and sequential processing for arrays and lists of objects in applications
- Employ stream abstraction to process records contained in sequential text files
- Apply concepts presented in this unit, including language syntax, memory models, execution models, types, scope rules, methods, parameter passing, classes, objects and algorithms.
Examination (50% of unit)
Calculator - non-programmable, no text retrieval, silent only
- Employ stream abstraction to process records contained in sequential text files
- Apply concepts presented in this unit, including language syntax, memory models, execution models, types, scope rules, methods, parameter passing, classes, objects and algorithms.
As a CQUniversity student you are expected to act honestly in all aspects of your academic work.
Any assessable work undertaken or submitted for review or assessment must be your own work. Assessable work is any type of work you do to meet the assessment requirements in the unit, including draft work submitted for review and feedback and final work to be assessed.
When you use the ideas, words or data of others in your assessment, you must thoroughly and clearly acknowledge the source of this information by using the correct referencing style for your unit. Using others’ work without proper acknowledgement may be considered a form of intellectual dishonesty.
Participating honestly, respectfully, responsibly, and fairly in your university study ensures the CQUniversity qualification you earn will be valued as a true indication of your individual academic achievement and will continue to receive the respect and recognition it deserves.
As a student, you are responsible for reading and following CQUniversity’s policies, including the Student Academic Integrity Policy and Procedure. This policy sets out CQUniversity’s expectations of you to act with integrity, examples of academic integrity breaches to avoid, the processes used to address alleged breaches of academic integrity, and potential penalties.
What is a breach of academic integrity?
A breach of academic integrity includes but is not limited to plagiarism, self-plagiarism, collusion, cheating, contract cheating, and academic misconduct. The Student Academic Integrity Policy and Procedure defines what these terms mean and gives examples.
Why is academic integrity important?
A breach of academic integrity may result in one or more penalties, including suspension or even expulsion from the University. It can also have negative implications for student visas and future enrolment at CQUniversity or elsewhere. Students who engage in contract cheating also risk being blackmailed by contract cheating services.
Where can I get assistance?
For academic advice and guidance, the Academic Learning Centre (ALC) can support you in becoming confident in completing assessments with integrity and of high standard.
What can you do to act with integrity?