UniSQ Logo
The current and official versions of the course specifications are available on the web at https://www.usq.edu.au/course/specification/current.
Please consult the web for updates that may occur during the year.

CSC5020 Foundations of Programming

Transition Semester 3, 2023 9W Toowoomba On-campus
Units : 1
School or Department : School of Mathematics, Physics & Computing
Grading basis : Graded
Course fee schedule : https://www.unisq.edu.au/current-students/administration/fees/fee-schedules
Version produced : 25 July 2023

Overview

In Semester 3, 2023 this course will be delivered as a Transition (9 week) semester, commencing on 13 November 2023 and concluding on 12 January 2024.

Foundational knowledge and experience in computer programming is essential for IT professionals across a wide range of careers. Given the multitude of technologies available to practitioners, this course develops programming experience and skills that are transferrable to other programming languages and contexts. The course is appropriate as a stand-alone introduction to programming and additionally provides a sound basis for students intending to complete further programming instruction. Elements of teamwork strategies are included to prepare students to work effectively in collaborative environments.

After presenting the history and underlying technologies of programming, the course introduces the concept of problem-solving using pseudocode before introducing different syntaxes and kinds of programming languages. The mechanics of producing and running program code is then introduced to establish a platform in which to learn and apply fundamental programming concepts such as basic data types, expressions, and control structures. The course emphasises the application of programming strategies, such as decomposition, and best practice to create sound solutions to substantial problems.

Course learning outcomes

On completion of this course students should be able to:

  1. Apply pseudocode to sketch solutions for problems and demonstrate problem solving through designing, debugging, implementing, documenting, testing and correcting computer programs;
  2. Use, implement, and evaluate fundamental programming concepts and techniques including data types, logic in expressions and control structures, and functions;
  3. Apply a range of programming strategies to create sound solutions to substantial problems;
  4. Employ practice around code documentation and programming styles to professionally and ethically collaborate in reviewing colleagues’ work;
  5. Deliver and evaluate basic technical documents, presentations, and group interactions, using appropriate tools.

Topics

Description Weighting(%)
1. Introduction to programming languages and environments 10.00
2. Data types and variables 20.00
3. Expressions and logic 20.00
4. Control structures and functions 20.00
5. Programming strategies 20.00
6. Best practice – documentation, ethics, teamwork, and styles 10.00
Date printed 25 July 2023