Skip to main content

Unit information: Introduction to Computer Programming in 2023/24

Unit name Introduction to Computer Programming
Unit code EMAT10007
Credit points 10
Level of study C/4
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Dr. Philamore
Open unit status Not open
Units you must take before you take this one (pre-requisite units)


To emphasise: the unit assumes no prior knowledge of computer programming. Students should have some prior experience of using a PC for basic email, web browsing and word processing tasks.

Units you must take alongside this one (co-requisite units)


Some basic aptitude in systematic and logical thinking is needed, which we anticipate most undergraduates at the University of Bristol will have.

Units you may not take alongside this one


School/department School of Engineering Mathematics and Technology
Faculty Faculty of Engineering

Unit Information

The purpose of this unit is to provide students with a basic and accessible introduction to computer programming - assuming no prior experience of it.

The aims are to:

  • Understand the basic principles, concepts and terminology used in computer programming. So for example, a student who might have to manage software engineers in later life has some appreciation of what they do - even if programming is not that individual's own speciality.
  • Give a basic introduction to designing and building short computer programs.
  • Translate high-level "problem statements" into algorithms which can then be implemented as a computer program.
  • For Engineers, Scientists, Mathematicians: provide first steps in computing to feed into more advanced and technical programming units later on.

The course will be delivered using "Python" - see which is fully functional scripting language. Over the last few years, Python has become one of the most popular programming languages in the world - yet, it is still a relatively "simple" language, accessible to students with no background in computer programming. The unit will cover the basic principles of sequential (procedural) programming, namely input/output, variables, data types, conditionals, iteration, exceptions and functions. Throughout there will be a focus on the principles of good programming practice, such as design and debugging

In summary, the unit will aim to help students (whether or not they require computer programming as a core element of their undergraduate degrees) to feel confident of their ability to create programs that allow them to accomplish useful goals, and to make profitable use of computational methods in later life.

Your learning on this unit

On successful completion of this unit, students will be able to:

  1. Apply the process of designing, writing and debugging a program.
  2. Move from a problem statement to a computational formulation of an algorithm for solving a practical problem.
  3. Use and understand basic computer programming terminology.
  4. Employ good programming practice in the creation of computer programs.
  5. Use basic procedural programming constructs appropriately, with correct syntax.

How you will learn

Teaching will be delivered through a combination of synchronous and asynchronous sessions, including lectures, practical activities supported by drop-in sessions or online computer laboratories and problem sheets.

How you will be assessed

There are two summative assessments:

Test: Elementary Concepts and Syntax (25%)

Coursework: Python Programming Project (75%)

The test makes sure that students have the minimal skills to progress to the programming project. The programming project assesses proficiency in programming, where students can demonstrate their programming ability on a wide range, from merely satisfying the learning outcomes to beyond what is taught.


If this unit has a Resource List, you will normally find a link to it in the Blackboard area for the unit. Sometimes there will be a separate link for each weekly topic.

If you are unable to access a list through Blackboard, you can also find it via the Resource Lists homepage. Search for the list by the unit name or code (e.g. EMAT10007).

How much time the unit requires
Each credit equates to 10 hours of total student input. For example a 20 credit unit will take you 200 hours of study to complete. Your total learning time is made up of contact time, directed learning tasks, independent learning and assessment activity.

See the University Workload statement relating to this unit for more information.

The Board of Examiners will consider all cases where students have failed or not completed the assessments required for credit. The Board considers each student's outcomes across all the units which contribute to each year's programme of study. For appropriate assessments, if you have self-certificated your absence, you will normally be required to complete it the next time it runs (for assessments at the end of TB1 and TB2 this is usually in the next re-assessment period).
The Board of Examiners will take into account any exceptional circumstances and operates within the Regulations and Code of Practice for Taught Programmes.