ÌÇÐÄ̽»¨

Internal

BI1PR17 - Programming

ÌÇÐÄ̽»¨

BI1PR17-Programming

Module Provider: School of Biological Sciences
Number of credits: 20 [10 ECTS credits]
Level:4
Terms in which taught: Autumn / Spring term module
Pre-requisites:
Non-modular pre-requisites:
Co-requisites:
Modules excluded:
Current from: 2023/4

Module Convenor: Dr Evangelos Delivopoulos
Email: e.delivopoulos@reading.ac.uk

Type of module:

Summary module description:

Programming is a fundamental skill in all forms of engineering. It is ubiquitously used in modelling, problem solving, designing and data analysis. The aim of this module is to provide students with the needed foundation to analyse, comprehend and produce their own code in C++ and Matlab. There is 1 hour of theoretical lectures and 2 hours of practical sessions per week; the practicals provide an opportunity to work and build upon the material taught during the lectures. There is a test at the end of the autumn term and assessed exercises throughout the year, to provide students with regular feedback on their progress. At week 6 of spring term, students start their final project (worth 50% of the module) on designing and implementing a substantial software kit.


Aims:

This module aims to introduce student to procedural computer programming. The C and C++ family of programming languages will be used for examples and practical work. Programming will be undertaken in the Windows environment with a variety of editors. By the end of the module students should be able to write moderately complex programs in C/C++ and MATLAB.


Assessable learning outcomes:

Recognise and describe programming constructs in C/C++ and MATLAB



Explain and demonstrate how to edit and debug programs



Explain and demonstrate how to compile and run programs within integrated development environments



Predict what a segment of code will produce (tracing)



Distinguish programming approach and constructs best suited to a particular problem



Analyse a problem and design a programmatic solution



Develop a program



Critically evaluate programming solutions



Test programs



Reflect on approach and solutions


Additional outcomes:
Word processing skills; generic programming skills; use of compilers; use of modern integrated programming environment; problem solving; debugging.

Outline content:


  1. Computing Concepts and Introduction to Programming; Structured Program Development

  2. Program Control; Types and Operators; Functions; Arrays and Pointers; Characters and Strings; Formatted Input/Output; Structures, Unions, and Enumerations; File Processing; Data Structures.

  3. Introduction to C/C++; Classes; Inheritance; Operator Overloading; Advanced Topics.

  4. Using Windows operating system; Interpreters, Compilers, Linkers, Debuggers and Integrated Development Environments; typical computer organisation

  5. Scientific programming (MATLAB), visualisation of data, introduction to matrix manipulation


Brief description of teaching and learning methods:
Lectures laboratory practicals, and flipped classrooms

Contact hours:
Ìý Autumn Spring Summer
Lectures 20 20
Practicals classes and workshops 20 20
Guided independent study: 60 60
Ìý Ìý Ìý Ì