Programming Fundamentals

Module code: CO1102

Programming is a creative activity that can be fun and/or help us solve a wide range of problems including data analysis or artificial intelligence. We are increasingly surrounded by devices that need be programmed in some language. Python was conceived in the late 1980s as a scripting and teaching language but has gained in popularity for many programmers including engineers and data scientists across academia and industry.

In this module, we aim to provide fundamental skills in writing computer programs by using the latest version of Python. We focus on solving IT-related problems and introduce the building blocks of a computer program: inputs/outputs, sequential/conditional/repeated execution, and reuse. We will then introduce the concepts of classes and objects. Throughout, we emphasise on the importance of the syntax and semantics of the Python programming language as well as the design, implementation and testing of a computer program. The concepts introduced in this module will be revisited and further in the upcoming modules CO1105 and CO1107.

In this module, you will:

  • Explain the fundamentals of imperative programming and write elementary programs
  • Analyse simple problems and write solution programs
  • Describe techniques for simple software design and development using very simple algorithms and data structures
  • Write simple programs involving text and file I/O, and graphics interfaces, and data types such as strings, numbers, lists, tuples. Make use of editors and development environments
  • Describe the fundamentals of OO programming and write simple OO programs using classes and objects

Learning

  • 24 hours of lectures
  • 8 hours of tutorials
  • 16 hours of supervised time in lab/studio/workshop
  • 102 hours of guided independent study

Assessment

  • Coursework (100%)