Skip to main content


EEE2021 : Computer Programming and Organisation

  • Offered for Year: 2024/25
  • Module Leader(s): Dr Domenico Balsamo
  • Lecturer: Dr Farhad Merchant
  • Owning School: Engineering
  • Teaching Location: Newcastle City Campus

Your programme is made up of credits, the total differs on programme to programme.

Semester 1 Credit Value: 10
Semester 2 Credit Value: 10
ECTS Credits: 10.0
European Credit Transfer System


To improve and extend programming techniques at both high and low levels. To introduce the concepts underlying a computer system and its organisation, including design, testing and building such a system.

Outline Of Syllabus

Section 1:

Low-level and high-level C/C++: functions, pointers, arrays, structures, classes, objects, inheritance and data structures.

Section 2:

Computer architecture (microprocessor and microcontroller) and basic system organisation:

CPU, core and general-purpose registers description, including review of assembly language programming;

memory, memory mapping and virtual memory; bus, interrupts, DMA, I/O devices and controllers;
Digital interfacing, including logical design and timing.
Low-level programming of I/O: polling, interrupts and systematic treatment of interrupts. Design, construction and testing of a practical microprocessor system.

Teaching Methods

Teaching Activities
Category Activity Number Length Student Hours Comment
Guided Independent StudyAssessment preparation and completion81:008:00Preparation and completion of formative assessments and preparation of summative assessment (Semester 1)
Guided Independent StudyAssessment preparation and completion12:002:00Programming assessment (Semester 1)
Scheduled Learning And Teaching ActivitiesLecture221:0022:00Present in person (Semester 1)
Guided Independent StudyAssessment preparation and completion62:0012:00Preparation and completion of formative and summative assessments (Semester 2)
Scheduled Learning And Teaching ActivitiesLecture221:0022:00Present in person (Semester 2)
Scheduled Learning And Teaching ActivitiesPractical62:0012:00Embedded systems design labs in the electronics lab (Semester 2)
Scheduled Learning And Teaching ActivitiesPractical72:0014:00Programming in the computer lab. (Semester 1)
Guided Independent StudyIndependent study158:0058:00Reviewing lecture notes, and reading recommended text and books. (Semester 1)
Guided Independent StudyIndependent study150:0050:00Reviewing lecture notes, and reading recommended text and books. (Semester 2)
Teaching Rationale And Relationship

Underlying theory and its application in practice is taught in the in-person lecture sessions. This module also has practical elements and laboratory-based components which support the theory taught in the lectures.

Assessment Methods

The format of resits will be determined by the Board of Examiners

Other Assessment
Description Semester When Set Percentage Comment
Practical/lab report1M50In-person computer-based programming assessment
Practical/lab report2M50Microprocessor Practical report (2000 words)
Formative Assessments

Formative Assessment is an assessment which develops your skills in being assessed, allows for you to receive feedback, and prepares you for being assessed. However, it does not count to your final mark.

Description Semester When Set Comment
Prob solv exercises1MProblem solving exercises
Prob solv exercises2MProblem solving exercises
Assessment Rationale And Relationship

This module has strong programming and practical elements, which allow the students to gain first-hand experience in programming and design of embedded systems and are best assessed through the writing of reports. Students will gain feedback on their problem solving skills in relation to C++ Programming through formative exercises.

One continuous formative assessment to run across both semester 1 and 2.

Reading Lists