Programming Principles

Queensland University of Technology

Course Description

  • Course Name

    Programming Principles

  • Host University

    Queensland University of Technology

  • Location

    Brisbane, Australia

  • Area of Study

    Computer Science, Engineering Science, Systems Engineering

  • Language Level

    Taught In English

  • Prerequisites

    IFB104 or ENB246 or MXB103 or INB104

  • Course Level Recommendations

    Upper

    ISA offers course level recommendations in an effort to facilitate the determination of course levels by credential evaluators.We advice each institution to have their own credentials evaluator make the final decision regrading course levels.

    Hours & Credits

  • Credit Points

    12
  • Recommended U.S. Semester Credits
    3 - 4
  • Recommended U.S. Quarter Units
    4 - 6
  • Overview

    Synopsis:
    This unit gives you a positive introduction to modern programming concepts and techniques. Although some theoretical aspects of programming are covered in lectures, the overall emphasis of the unit is to learn programming concepts and related problem-solving strategies though an exploratory problem based approach. Through this means, you will be building abstractions with procedures, data and objects, thereby designing, coding and debugging programs of increasing complexity. The unit gives you the foundation for subsequent programming courses within the Computer Science major.
    Learning Outcomes
    On successful completion of this unit you will demonstrate that you can:
    1. Read, understand and modify given program code [Technology];
    2. Used an Integrated Development Environment to build simple software systems [Build];
    3. Design algorithmic solutions to a range of computational problems from various areas [Design]; and
    4. Work independently as well as with others to deliver effective and well documented solutions to a number of small problems following specific design rules [Design, Build].
    Content
    This unit introduces fundamental techniques for solving computational problems using computer programming or scripting languages. It describes basic programming principles and strategies and how to use them effectively. Major topics covered in the unit include:
    • The basic program development process (requirements definition, algorithm design, coding, testing and debugging)
    • Programs as calculators (expressions, variables, types and functions)
    • Breaking (small) problems down into sequential steps (assignment, sequence and choice)
    • Solving (bigger) problems through repetition (loops, recursion and higher-order iterators)
    • Making programs fault-tolerant (input checking and exception handling)
    • Input and output (user interaction and accessing files)
    • Basic principles for showing that programs are correct (test-case design)
    • Basic principles of object-oriented programming (encapsulation, classes, objects, attributes and behaviours)
    Approaches to Teaching and Learning
    The unit emphasises a "hands-on", practical approach to teaching and learning. Formal contact hours each week comprise:
    • A two-hour "demonstration-based" lecture, at which new technical concepts will be explained and illustrated with worked examples
    • A two-hour practical workshop, at which you will be required to complete practical exercises based on the lecture material
    Developing a program to solve a computational problem involves two steps. Firstly, you must devise an "algorithmic" solution to the problem, i.e., a sequence of well-defined, unambiguous instructions to follow in order to achieve the desired outcome. Secondly, you must "code" your solution in a form that a computer can interpret, using an appropriate programming or scripting language. Through numerous worked examples and practical exercises, this unit will give you hands-on practice at both of these skills.
    The weekly lectures will provide you with the theoretical knowledge, teamed with "hands-on" practical workshops to provide you with the skills required to successfully complete the unit.
    You will be supplied with tasks, exercises and readings each week, which will be available online. It is important that you put time aside each week to pre-read the supplied information, and to practice the supplied exercises. You will have the opportunity to reflect on your learning and progress via the assessment items and by the use of QUT's Student Portfolio

Course Disclaimer

Courses and course hours of instruction are subject to change.

Eligibility for courses may be subject to a placement exam and/or pre-requisites.

Some courses may require additional fees.

Credits earned vary according to the policies of the students' home institutions. According to ISA policy and possible visa requirements, students must maintain full-time enrollment status, as determined by their home institutions, for the duration of the program.