Students

COMJ1000 – Introduction to Computer Programming

2026 – NNU Session 2, In person-scheduled-weekday, China

General Information

Download as PDF
Unit convenor and teaching staff Unit convenor and teaching staff
Frances Louise
Greg Teuss
Credit points Credit points
10
Prerequisites Prerequisites
Corequisites Corequisites
Co-badged status Co-badged status
Unit description Unit description

This unit studies programming as a systematic discipline and introduces more formal software design methods. Programming skills are extended to include elementary data structures and abstract data types. There is a strong emphasis on problem solving and algorithms, including aspects of correctness, complexity and computability.

Learning in this unit enhances student understanding of global challenges identified by the United Nations Sustainable Development Goals (UNSDGs) Quality Education; Industry, Innovation and Infrastructure

Important Academic Dates

Information about important academic dates including deadlines for withdrawing from units are available at https://www.mq.edu.au/study/calendar-of-dates

Learning Outcomes

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

  • ULO1: apply problem solving skills to develop algorithms that solve small to medium-sized computational problems
  • ULO2: design and write code to implement a program description in a high-level programming language
  • ULO3: use standard software engineering practices and tools to document, debug, test and manage their programs
  • ULO4: understand and apply appropriately the taught concepts such as variables, loops, functions, conditionals and compound data in the implementation of well-designed programs
  • ULO5: identify and describe ethical issues to academic and professional practice, and demonstrate active engagement in the learning process

General Assessment Information

Programming Skills Demonstration

You will have to attend a live coding exercise demonstrating basic programming skills. You will be asked to use the IDE to create, modify, change, extend, test, and debug a basic program.  This in-person assessment will take place during the practical class in week 6.

 

Programming Exam

This assessment will assess your understanding and application of the programming concepts covered in the unit. This invigilated test will take place in the practical class session.

 

Project Handover and Review

This is a closed-book and invigilated in-class activity in the practical class. During this activity, you will complete a self-assessment of your program against the minimum requirements. This self-assessment is intended to demonstrate your familiarity with the Week 12 version of your program.

Your grade for this assessment will be based on two components:

  • The quality of your self-assessment during the handover
  • The quality of the program you submit

If you fail to achieve a passing mark in the handover, you will have the opportunity to complete a viva (oral examination), covering the same topics. However, the maximum mark you can achieve in the second opportunity is half the total mark.

Assessment Tasks

Name Weighting Hurdle Due Groupwork/Individual Short Extension AI assisted?
Programming Skills Demonstration 30% No Week 6 Individual No
Programming Exam 30% No Week 11 Individual No
Project Handover and Review 40% No Week 12 Individual No

Programming Skills Demonstration

Assessment Type 1: Experiential task
Indicative Time on Task 2: 20 hours
Due: Week 6
Weighting: 30%
Groupwork/Individual: Individual
Short extension 3: No
AI assisted?:

Weekly tasks during the SGTAs prepare you for an in-lab exercise where you must demonstrate programming skills, such as using standard software engineering tools to create, modify, debug, test, and manage programs. You will have an opportunity to retake this task to improve your mark.


On successful completion you will be able to:
  • apply problem solving skills to develop algorithms that solve small to medium-sized computational problems
  • design and write code to implement a program description in a high-level programming language
  • use standard software engineering practices and tools to document, debug, test and manage their programs
  • understand and apply appropriately the taught concepts such as variables, loops, functions, conditionals and compound data in the implementation of well-designed programs
  • identify and describe ethical issues to academic and professional practice, and demonstrate active engagement in the learning process

Programming Exam

Assessment Type 1: Examination
Indicative Time on Task 2: 24 hours
Due: Week 11
Weighting: 30%
Groupwork/Individual: Individual
Short extension 3: No
AI assisted?:

This is a summative assessment of the unit's content. You will have an opportunity to retake the assessment to improve your marks.


On successful completion you will be able to:
  • apply problem solving skills to develop algorithms that solve small to medium-sized computational problems
  • design and write code to implement a program description in a high-level programming language
  • use standard software engineering practices and tools to document, debug, test and manage their programs
  • understand and apply appropriately the taught concepts such as variables, loops, functions, conditionals and compound data in the implementation of well-designed programs
  • identify and describe ethical issues to academic and professional practice, and demonstrate active engagement in the learning process

Project Handover and Review

Assessment Type 1: Portfolio
Indicative Time on Task 2: 28 hours
Due: Week 12
Weighting: 40%
Groupwork/Individual: Individual
Short extension 3: No
AI assisted?:

Formative programming tasks during the session will contribute to a final programming project, submitted during an invigilated in-class handover. You must demonstrate your understanding of and familiarity with the project. Both the quality of the submitted program and your performance during the handover will be assessed. Students who do not pass the handover will have the opportunity to complete a viva, covering the same topics as the handover, for a passing mark.


On successful completion you will be able to:
  • apply problem solving skills to develop algorithms that solve small to medium-sized computational problems
  • design and write code to implement a program description in a high-level programming language
  • use standard software engineering practices and tools to document, debug, test and manage their programs
  • understand and apply appropriately the taught concepts such as variables, loops, functions, conditionals and compound data in the implementation of well-designed programs
  • identify and describe ethical issues to academic and professional practice, and demonstrate active engagement in the learning process

1 If you need help with your assignment, please contact:

  • the academic teaching staff in your unit for guidance in understanding or completing this type of assessment
  • the Writing Centre for academic skills support.

2 Indicative time-on-task is an estimate of the time required for completion of the assessment task and is subject to individual variation.

3 An automatic short extension is available for some assessments. Apply through the Service Connect Portal.

Delivery and Resources

CLASSES

Starting from week 1, each week you should attend

  • two-hour lecture
  • two-hour practical class

TEXTS AND/OR MATERIALS

Textbook

  • Learning Processing: A Beginner's Guide to Programming Images, Animation, and Interaction, by Daniel Shiffman. Second edition, 2015. ISBN: 978-0123944436.

Technology

 

Unit Schedule

Schedule is subject to change

Week

Topic

Assessment Activity

1

Getting Started in Processing

 

2

Variables and arithmetic

 

3

Decisions: Ifs, booleans, and boolean algebra

 

4

Iteration: While and for-loops

Formative Feedback: Diagnostic Test

5

Loops and Ifs

 

6

Functions

Summative Assessment: Programming Skills Demonstration

7

Objects and Classes Formative Feedback: Mid-project Checkpoint

8

Arrays and array algorithms  

9

Understanding Data Passing: Value vs. Reference

 

10

Program Design and Problem Solving

Formative Assessment: Practice Exam

11

Theory, Physics, and Processing Goodies.

Summative Programming Exam

12

Beyond Processing

Summative Assessment: Project Handover and Review

13

Revision

Summative Assessment: Project Handover and Review - Vivas

Policies and Procedures

Macquarie University policies and procedures are accessible from Policy Central (https://policies.mq.edu.au). Students should be aware of the following policies in particular with regard to Learning and Teaching:

Students seeking more policy resources can visit Student Policies (https://students.mq.edu.au/support/study/policies). It is your one-stop-shop for the key policies you need to know about throughout your undergraduate student journey.

To find other policies relating to Teaching and Learning, visit Policy Central (https://policies.mq.edu.au) and use the search tool.

Student Code of Conduct

Macquarie University students have a responsibility to be familiar with the Student Code of Conduct: https://students.mq.edu.au/admin/other-resources/student-conduct

Results

Results published on platform other than eStudent, (eg. iLearn, Coursera etc.) or released directly by your Unit Convenor, are not confirmed as they are subject to final approval by the University. Once approved, final results will be sent to your student email address and will be made available in eStudent. For more information visit connect.mq.edu.au or if you are a Global MBA student contact globalmba.support@mq.edu.au

Academic Integrity

At Macquarie, we believe academic integrity – honesty, respect, trust, responsibility, fairness and courage – is at the core of learning, teaching and research. We recognise that meeting the expectations required to complete your assessments can be challenging. So, we offer you a range of resources and services to help you reach your potential, including free online writing and maths support, academic skills development and wellbeing consultations.

Student Support

Macquarie University provides a range of support services for students. For details, visit http://students.mq.edu.au/support/

Academic Success

Academic Success provides resources to develop your English language proficiency, academic writing, and communication skills.

The Library provides online and face to face support to help you find and use relevant information resources. 

Student Services and Support

Macquarie University offers a range of Student Support Services including:

Student Enquiries

Got a question? Ask us via the Service Connect Portal, or contact Service Connect.

IT Help

For help with University computer systems and technology, visit http://www.mq.edu.au/about_us/offices_and_units/information_technology/help/

When using the University's IT, you must adhere to the Acceptable Use of IT Resources Policy. The policy applies to all who connect to the MQ network including students.


Unit information based on version 2026.03 of the Handbook