Overview
In this unit, you will learn how to program using an object-oriented programming language. It is assumed that you have little or no programming experience, so you will be guided through the basics of application development using classes and objects. You will learn about the parts of a program, including variables, types, and methods, and learn how to read input and produce output. A key aspect of this unit is practical, hands-on, simple application development and testing, which you will do in an industry-standard integrated development environment (IDE).
Details
Pre-requisites or Co-requisites
Anti-requisite: COIT29222 Programming Principles.
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 1 - 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 Postgraduate 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 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
- Monitoring Academic Progress (MAP) Policy and Procedure - Domestic Students
- Monitoring Academic Progress (MAP) Policy and Procedure - International Students
- Student Refund and Credit Balance Policy and Procedure
- Student Feedback - Compliments and 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 Teaching Team Survey Feedback
Students find CodeRunner difficult to use.
Provide additional instruction on answering CodeRunner questions.
Feedback from Teaching Team Survey Feedback
Students perform insufficient unit testing.
Create additional unit testing materials and activities.
Feedback from Teaching Team Reflections
Insufficient use of Git, the industry-standard version control tool.
Create additional materials to guide students on using Git, for example, to clone a repository that contains the lecture and tutorial code and using Git within an IDE for version control.
- Develop and test clearly documented 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
- Demonstrate understanding of fundamental programming concepts, including language syntax, memory and execution models, data types, scope, parameter passing, classes, objects and algorithms.
The Australian Computer Society (ACS), the professional association for Australia's ICT sector, recognises the Skills Framework for the Information Age (SFIA). SFIA is adopted by organisations, governments, and individuals in many countries and provides a widely used and consistent definition of ICT skills. SFIA is increasingly being used when developing job descriptions and role profiles. ACS members can use the tool MySFIA to build a skills profile.
This unit contributes to the following workplace skills as defined by SFIA 9 (the SFIA code is included):
- Programming/Software Development (PROG)
- Functional testing (TEST)
- Software design (SWDN)
- Methods and tools (METL)
Alignment of Assessment Tasks to Learning Outcomes
| Assessment Tasks | Learning Outcomes | ||||
|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | |
| 1 - Practical Assessment - 25% | |||||
| 2 - Practical Assessment - 25% | |||||
| 3 - Examination - 50% | |||||
Alignment of Graduate Attributes to Learning Outcomes
| Graduate Attributes | Learning Outcomes | ||||
|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | |
| 1 - Knowledge | |||||
| 2 - Communication | |||||
| 3 - Cognitive, technical and creative skills | |||||
| 4 - Research | |||||
| 5 - Self-management | |||||
| 6 - Ethical and Professional Responsibility | |||||
| 7 - Leadership | |||||
| 8 - First Nations Knowledges | |||||
| 9 - Aboriginal and Torres Strait Islander Cultures | |||||
Textbooks
Fundamentals of Python First Programs
Edition: third (2024)
Authors: Kenneth A. Lambert
Cengage
USA
ISBN: 9780357881019
IT Resources
- CQUniversity Student Email
- Internet
- Unit Website (Moodle)
- Visual Studio Code (latest version)
- Python 3.13 or higher
All submissions for this unit must use the referencing style: Harvard (author-date)
For further information, see the Assessment Tasks.
j.jarvis@cqu.edu.au
Module/Topic
Introduction to hardware and software. A first Python program
Chapter
chapter 1 sections 1.1, 1.2 1.4 and online resources
Events and Submissions/Topic
Install and test required software for the unit, complete week 1 tasks
Module/Topic
Input and output, data types, arithmetic expressions, importing functions from library modules, comments
Chapter
chapter 2 sections 2.1 - 2.5 and online resources
Events and Submissions/Topic
Module/Topic
Loops, selection statements, formatting text for output (f-strings)
Chapter
chapter 3 sections 3.1- 3.4 and online resources
Events and Submissions/Topic
Assessment 1 part A (tutorial work) task 1 - due in week 3 tutorial class. (Assessment item 1 part A / tutorial work commences.: this work is to be developed and submitted in weekly tutorial classes in weeks 3 - 12 inclusive. )
Module/Topic
Functions and modules
Chapter
chapter 5 section 5.2, chapter 6 sections 6.1 and 6.3 and online resources
Events and Submissions/Topic
Assessment 1 part A (tutorial work) task 2 - due in week 4 tutorial class.
Module/Topic
Strings (part 1), Lists
Chapter
chapter 4 sections 4.1- 4.2, chapter 5 section 5.1 and online resources
Events and Submissions/Topic
Assessment 1 part A (tutorial work) task 3 - due in week 5 tutorial class.
Module/Topic
Tuples, Strings (part 2), Aliasing, Parameter passing
Chapter
chapter 4 section 4.4, chapter 5 section 5.1 and online resources
Events and Submissions/Topic
Assessment 1 part A (tutorial work) task 4 - due in week 6 tutorial class.
Assessment 1 part B (programming assignment) Due: Week 6 Friday 5:00pm AEST
Module/Topic
Chapter
Events and Submissions/Topic
Module/Topic
Objects and classes, scope
Chapter
chapter 10 sections 10.1-10.2 and online resources
Events and Submissions/Topic
Assessment 1 part A (tutorial work) task 5 - due in week 7 tutorial class.
Module/Topic
Searching, Sorting, Files
Chapter
chapter 13 sections 13.3- 13.4, chapter 4 section 4.5 and online resources
Events and Submissions/Topic
Assessment 1 part A (tutorial work) task 6 - due in week 8 tutorial class.
Module/Topic
Exceptions, Dictionaries
Chapter
chapter 5 section 5.3 and online resources
Events and Submissions/Topic
Assessment 1 part A (tutorial work) task 7 - due in week 9 tutorial class.
Module/Topic
Testing, Regular expressions, Type hints, Doctests
Chapter
online resources
Events and Submissions/Topic
Assessment 1 part A (tutorial work) task 8 - due in week 10 tutorial class.
Module/Topic
External data and related topics
Chapter
online resources
Events and Submissions/Topic
Assessment 1 part A (tutorial work) task 9 - due in week 11 tutorial class.
Module/Topic
Comparing Python and Java, Review
Chapter
online resources
Events and Submissions/Topic
Assessment 1 part A (tutorial work) task 10 - due in week 12 tutorial class.
Assessment 2 Due: Week 12 Monday (1 June 2026) 9:00 am AEST
Module/Topic
Chapter
Events and Submissions/Topic
An examination will be scheduled for this unit during the examination block.
Module/Topic
Chapter
Events and Submissions/Topic
An examination will be scheduled for this unit during the examination block.
Unit coordinator: Dr. Jacqueline Jarvis
j.jarvis@cqu.edu.au
1 Practical Assessment
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.
Assessment Description
This assessment item has two parts, part A and part B described below.
Note:
- Both part A and B are individual assessments.
- Re-attempts are not allowed for part A or Part B.
- Part A 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.
1. Part A Weekly Tutorial Work (10%)
The Task
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 3 – 12 (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).
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.
2. Part B Programming Assignment 1 (15%)
The Task
In this assignment you must use the key programming concepts and constructs studied in the first half of the term 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.
Due Date: Part B is due on Friday of week 6 at 5:00pm
Part A has a weekly submission due each week from week 3 to week 12(inclusive). Part B is due at 5:00pm on Friday of week 6
Part A: mark and feedback before the next tutorial. Part B: Two weeks after the assignment is submitted
Part A Tutorial Work
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.
To be awarded marks, 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.
Each week's work is worth 1 mark. Total for this assessment item is 10%.
Part B Programming Assignment 1
The students will be assessed against their ability to:
- Use the programming features covered in weeks 1- 5 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.).
- Provide appropriate documentation.
- Develop a thorough test plan and thoroughly test (and where necessary, debug) their code.
- Develop and test clearly documented 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
2 Practical Assessment
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.
Assessment Description
Notes:
- This is an individual assessment.
- Re-attempts are not allowed for the final submission of this assessment item.
- 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.
The Task
In this assignment you will use key constructs and concepts studied in the second part of the term (e.g. lists, searching, sorting etc.) to develop, test and document a second software application. The application will also require the use of programming constructs studied in the first part of the term.
See Moodle for the full specification of the assignment requirements.
Week 12 Monday (1 June 2026) 9:00 am AEST
Two weeks after the assignment is submitted.
The students will be assessed against their ability to:
- Use the programming features covered during the term to develop and test a software application.
- Develop the application according to the specification and design 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.
- Develop a thorough test plan and thoroughly test (and where necessary, debug) their code.
- Develop and test clearly documented 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
Examination
Calculator - non-programmable, no text retrieval, silent only
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?