Module Code | CSU11E03 |
Module Name | Computer Engineering I |
ECTS Weighting[1] | 5 ECTS |
Semester taught | Semester 2 |
Module Coordinator/s | Prof. Lucy Hederman |
Module Learning Outcomes
On successful completion of this module, students will be able to:
LO1. Analyse simple programming problems
LO2. Specify and design algorithms to solve simple programming problems;
LO3. Write C++ programmes to solve simple programming problems;
LO4. Compile, run, test and debug C++ programmes;
LO5. Select and use correctly appropriate control structures for specific
programming sub-problems;
LO6. Recognise the value of procedural abstraction and be able to use
procedures to simplify programme design, hide detail and allow reuse of
code;
LO7. Use arrays where appropriate in the design and implementation of a
programme;
LO8. Predict the behaviour of a given C++ program that uses the concepts and
constructs covered by the course.
Module Content
This module aims to equip students with the skills to design and develop simple
imperative programs. It provides a solid grounding in algorithm design and
programming techniques, in preparation for later courses that require
programming. Topics include
- Introduction to computers and computing;
- Programming, compiling and running programmes;
- Basic C++ programmes; expressions, variables and data types, assignment;
- Selection and the IF-ELSE statement;
- Iteration, WHILE loops and FOR loops;
- Programme design process, algorithms and pseudocode;
- Advanced control flow: nested loops, nested Ifs;
- Procedural abstraction, functions in C++;
- Arrays and array algorithms.
Teaching and Learning Methods
Recorded content, interactive lectures & programming laboratories.
Assessment Details
Assessment Component | Brief Description | Learning Outcomes Addressed | % of total | Week set | Week Due |
Weekly programming | 11 weekly programming exercises carried out during laboratory sessions. | All | 20 | Each teaching week. | |
Weekly mini-quizzes | Weekly online quizzes to be completed after review of each week’s material | LO1, LO2, LO5, LO6, LO7, LO8 | 5 | Each teaching week. | |
Mid-semester test | In-person real-time test. | LO1, LO2, LO5 | 10 | Week 6 | |
End-of-semester exam | In-lab real-time exam. | LO1, LO2, LO3, LO5, LO6, LO7, LO8 | 65 | In exam period |
Attendance at laboratory sessions is mandatory. Non-submission of either test or of fewer than 7 of the 11 weekly exercises will result in failure of the module. Otherwise the pass mark for the module is 40%.
Reassessment Details
In-lab real-time 2 hour exam (100%)
Contact Hours and Indicative Student Workload
Contact Hours (scheduled hours per student over full module), broken down by: | 55 hours |
Lectures/Recorded lectures | 33 hours |
Laboratory | 22 hours |
Independent study (outside scheduled contact hours), broken down by: | 55 hours |
Preparation for classes, preparation for laboratories/assignments and review of material (including preparation for tests) | 52 hours |
Completion of tests | 3 hours |
Total Hours | 110 hours |
Recommended Reading List
C++ Programming: Program Design Including Data Structures, DS Malik, 8th edition,
Cengage Learning, ISBN 978-1-337-11756-2 (Older editions are acceptable)
Module Pre-requisites
Prerequisite modules: None.
Other/alternative non-module prerequisites: This module assumes a grasp of high school mathematics.
Module Co-requisites
None