EEEE1040

Introduction to Software Engineering and Programming

Practical software engineering for first-year Electrical and Electronic Engineering students, teaching systematic problem analysis, modular C programming, and multi-platform implementation as a foundation for the full EEE degree.

When
2024/25, Semester 1
Institution
University of Nottingham
Level
Level 1 undergraduate
Credits
10 credits
Cohort
150 students
Also taught
2023/24, Semester 1 · 2022/23, Semester 1
University of Nottingham

This module grounds first-year Electrical and Electronic Engineering students in the software skills their degree will demand throughout. The focus is C programming: the language closest to the hardware EEE students will work with, and a direct foundation for embedded systems, digital signal processing, and systems engineering.

For engineering students, programming is not an end in itself but a precision tool. The module teaches them to use it that way: to analyse a problem, select an appropriate approach, design a modular solution, and implement it across different platforms. The skills carry forward into every subsequent year of the degree.

Why it matters

C is not the language most students encounter first, but it is the language that makes computing hardware legible. Understanding low-level data structures, memory layout, and platform-specific behaviour is not just a programming skill, it is an engineering literacy. EEE students who cannot write robust C code are constrained in embedded systems work, which is the practical core of the discipline.

The module is also designed to introduce the design methodology and implementation workflow that runs through the project component of the first year and beyond. Students do not just write code; they learn to specify, design, and then implement, which is the order that engineering work demands.

Educational aims

Students develop the ability to analyse engineering problems and select appropriate computational techniques, design and plan modular code solutions before writing a line, implement those solutions in C across multiple platforms, and specify criteria for determining whether a solution is correct and complete.

Assessment

  • 10% Coursework 1: design exercise
  • 30% Coursework 2: design exercise
  • 20% Progress tests (five tests, 4% each, distributed across the semester)
  • 40% End-of-semester examination

What students leave with

Students can write, structure, and debug C programs to solve practical engineering problems, apply a systematic design process before implementation, and work across different software and hardware platforms. These skills recur throughout the EEE degree and are a baseline expectation for embedded systems, digital engineering, and any role where software meets hardware.