Programming 2

Module aims

In this module you will build on the content of computer fundamentals and programming 1 by extending the principles of programming introduced in the Ansci C language and apply these in C++. By completing labs involving more complex programming skills including data structures, object oriented programming and algorithm design you will improve your understanding of programming and extend the range of what you can achieve.

Learning outcomes

 At the end of this module students will be able to: Use C++, write, debug, compile, and run programs Understand dynamic data structures and memory management in C++ Know how to create and use algorithms for ordering data structures Understand concepts of data objects and the C++ class, function overloading, polymorphism Discuss the professional criteria of biomedical software development

Module syllabus

Fundamentals of computers and programming in C++. Data and memory. Understanding expressions, literals, types, operators, etc. Computing and parsing. How to process data, receive input and print output, parse strings, etc. Flow of control. Decision and loop structures; passing to functions; command line processing; function overloading. Modularity and file handling. How to work with header files and handle files. Structures and classes. How to code with structures and classes. The life cycle of a class. Object oriented programming. Principles of object-oriented programming, inheritance, polymorphism, etc. Data structures. Algorithms. Searching and sorting.

Teaching methods

 Lectures and labs

Assessments

 Two coursework assignments 50% each

Reading list

Supplementary