4CCS1PRP Programming Practice
Lecturers: Mr Josh Murphy (office hours)
Teaching pattern: weekly 2-hour lecture, 1-hour large-group tutorial and 3-hour practical; 1-hour small-group tutorial every other week
Learning aims & outcomes
Students are required to attain a mark of at least 30% in the exam, and at least 40% overall, in order to pass the module.
To introduce the basics of computer programming. To understand how to make computers do what we want them to do.
After studying this module, you will be able to write simple computer programs; show an understanding of structured programming; develop programming techniques and problem-solving skills to deal with mathematical and engineering problems; understand basic software-engineering concepts.
- Programming languages: One programming language which compiles to native code (e.g. C), and one interpreted language that can be used for scientific-computing (e.g. Python or MATLAB).
- Introduction to programming: the difference between compiled and interpreted languages, arithmetic operators, logical operators, equality and relational operators, scoping of variables, data types, string processing, input and output, control flow, branches and loops, passing arguments and returning values.
- Structured Programming and Software-Engineering: best practice for modular software development using functions or procedures.
- Scientific computing: IEEE floating-point representation and its limitations, working with vectors and matrices, use of libraries for simple linear-algebra, vectorised functions, plotting graphs.
Suggested Reading and Resources
(Link to MyReadingLists)
30 November 2017