USQ Logo
The current and official versions of the course specifications are available on the web at
Please consult the web for updates that may occur during the year.

CSC1401 Foundation Programming

Semester 1, 2022 Springfield On-campus
Units : 1
Faculty or Section : Faculty of Health, Engineering and Sciences
School or Department : School of Mathematics, Physics & Computing
Student contribution band : Band 2
Grading basis : Graded
Version produced : 17 May 2022


Examiner: Tianning Li


Programming is relevant to both computing professionals and individuals who wish to be more than end-users. The topics in the course will allow students to learn programming in Python, but should also develop skills transferrable to other languages, paradigms and contexts. The course is appropriate for students wishing to have only a single exposure to programming, but is also sufficient for students intending to complete further programming instruction.

This course covers foundational programming knowledge (including language syntax and facilities) as well as strategies which allow programmers to apply such knowledge to solve programming problems. Students will learn to analyse and comprehend existing programs and create solutions to programming problems individually and in teams by generating programs which apply programming strategies covered in the course.

Course learning outcomes

On completion of this course students should be able to:

  1. Demonstrate understanding of the programming language knowledge by comprehending code in existing programs;
  2. Apply programming language knowledge to generate programs;
  3. Comprehend programming strategies, including working in teams, by analysing programs which demonstrate such strategies;
  4. Create solutions to programming problems, within a team, by generating programs which apply programming strategies;
  5. Demonstrate problem solving in the context of programming through designing, debugging, implementing and testing programs;
  6. Demonstrate academic and professional literacy by applying computer and mathematical skills to analyse algorithms and data structures.


Description Weighting(%)
1. Programming Process, Sequence, Ethics 10.00
2. Values, Objects, Lists, Operations, Roles of variables 10.00
3. Expressions, Using Functions, User I/O and Libraries 10.00
4. String Handling 10.00
5. Testing, Debugging, Programming Style 10.00
6. Selection, Iteration, Recursion 20.00
7. Programming Strategies and Problem Solving (Pseudocode, Teamwork Strategies) 10.00
8. Writing Functions 20.00

Text and materials required to be purchased or accessed

Downey, A 2015, Think Python, 2nd edn, O'Reilly Media, Inc.

Student workload expectations

To do well in this subject, students are expected to commit approximately 10 hours per week including class contact hours, independent study, and all assessment tasks. If you are undertaking additional activities, which may include placements and residential schools, the weekly workload hours may vary.

Assessment details

Approach Type Description Group
Weighting (%) Course learning outcomes
Assignments Practical Tech and/or scntific artefact 1 No 10 1,2,5,6
Assignments Practical Tech and/or scntific artefact 2 No 20 1,2,3,5,6
Assignments Practical Tech and/or scntific artefact 3 Yes 20 1,2,3,4,5,6
Examinations Non-invigilated Time limited online examinatn No 50 1,2,5,6
Date printed 17 May 2022