← Teaching
Introduction to Programming Y1, 40cr
Overview
This unit introduces students to the theory and practice of writing computer programs, covering both algorithm
development and object-oriented programming. No previous knowledge of programming is assumed. Techniques of program
design focusing on algorithm development are taught alongside the Python programming language and object-oriented
design alongside Java.
Aims
- To develop an understanding of algorithm development and procedural programming with emphasis on problem
solving and readability.
- To develop good object-oriented design and coding practices in order to produce programs using classes and
objects as the fundamental building blocks.
- To provide a foundation for learning further programming techniques and languages.
Learning Outcomes
- Design, implement and test algorithms to solve problems using appropriate data types and control structures.
- Design, implement and test object-oriented programs based on a supplied specification.
- Describe and analyse fundamental programming concepts and techniques.
Syllabus
- The program development lifecycle (design, code, test, debug, documentation).
- Fundamental data types and operations: numeric, string, boolean, collections.
- Program modularity: the use of functions.
- Control structures: decisions and loops.
- Classes and objects.
- Using library classes and designing for reuse.
- Objects working together and message passing.
- Design and design notations.
- Inheritance.
- Algorithm design and recursion.