ELEC40004 Programming for EngineersLecturer(s): Dr Max Cattafi; Mr Sarim Baig Aims
Electrical and computer engineers often need to interface software to low-level systems and use software to control hardware directly, so this courses introduces programming using C++, which delivers both modern abstractions as well as the ability to do bare-metal programming. The course assumes no prior programming experience, and spends the first term teaching standard imperative programming skills such as control-flow, variables, and data structures. The second term then moves onto higher-level aspects of programming such as encapsulation and OOP, with increased emphasis on designing more complex software systems.
Learning Outcomes
Upon successful completion of this module, you will be able to:
Use the fundamental components of imperative programming in terms of control-flow and data structures. Design and implement C++ programs that communicate using file-based I/O and in a text-based environment. Verify the correct behaviour of programs using test benches and diagnose and fix incorrect behaviour. Select and use data-structures from the STL according to needed performance and functionality and gain insight into their implementation. Use encapsulation, and abstraction to manage software complexity. Approach the modelling of real-world domains by means of object-oriented software engineering. Syllabus
Programming environments
Basic I/O Variables Expressions Conditionals Loops Functions Vectors Text Files The Standard Template Library Structured data types Classes Abstraction and encapsulation Arrays, pointers, dynamic memory Implementing data structures (vectors, lists, trees) Algorithms and recursion Introduction to inheritance and polymorphism Exam Duration: N/A Exam contribution: 0% Coursework contribution: 100% Term: Autumn & Spring Closed or Open Book (end of year exam): N/A Coursework Requirement: Programming Assignments and Team Project Coursework assessment: Continuous during term Coursework Weighting: 80% and 20% respectively Oral Exam Required (as final assessment): no Prerequisite module(s): None required Course Homepage: unavailable Book List:
|