¾«¶«´«Ã½app

UniSQ 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.

CSC5020 Foundations of Programming

Semester 1, 2023 Toowoomba On-campus
Units : 1
School or Department : School of Mathematics, Physics & Computing
Grading basis : Graded
Course fee schedule : /current-students/administration/fees/fee-schedules

Staffing

Course Coordinator:

Overview

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

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
Assessment
Weighting (%) Course learning outcomes
Assignments Written Quiz No 10 2
Assignments Practical Tech and/or scntific artefact 1 No 20 2,3
Assignments Practical Tech and/or scntific artefact 2 Yes 20 1,2,3,4,5
Examinations Non-invigilated Time limited online examinatn No 50 1,2,3,4,5
Date printed 9 February 2024