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. Hauser |
Open unit status | Not open |
Pre-requisites |
None. 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. |
Co-requisites |
None. Some basic aptitude in systematic and logical thinking is needed, which we anticipate most undergraduates at the University of Bristol will have. |
School/department | School of Engineering Mathematics and Technology |
Faculty | Faculty of Engineering |
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:
The course will be delivered using two programming languages.
(a). Firstly, "SCRATCH" - see scratch.mit.edu. This is an interactive graphical language, which is extremely easy to use, With it, students are able to understand concepts and become fluent programmers within a very short period of time - without getting hung up on syntax.
(b). Secondly, "Python" - see www.python.org. This will be used in the second half of the unit after SCRATCH has been mastered. This is a fully functional scripting language - with much more power and flexibility than SCRATCH, but with a greater burden on the programmer in terms of adhering to syntax and so on. 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.
Using these two languages, 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.
On successful completion of this unit, students will be able to:
Lectures and hands-on computer laboratory sessions.
Summative assessments:
There will also be ample opportunity for students to obtain feedback, through weekly formative worksheets (0%).