KD4008 - Computer Programming

What will I learn on this module?

Within this module you will cover the design and development of C based code for both a standard PC and an embedded system.

The module syllabus us based but not exclusively on the following:
• Introduction of computer systems, the architecture and types from standard PCs to embedded systems,
• Code development from specifications through Pseudo code to a top-down or bottom-up based design,
• Language operators for example, if-then-else, switch-case, do-while, for,
• Data types for systems including bit length, and data pointer structures and use,
• Use of information hiding in functions, with strongly typed designs,
• File system access for a PC and for an embedded system where files may be more abstract handles,
• Controlling hardware on an embedded system for example and ADC or DAC on a microcontroller,
• The use of IO lines and interrupt structures in low level programming.

Typically the learning in the module will be based on simple case studies and example such that the above knowledge can be applied to solve a real world problem within a defined engineering context. An example of such a real-world problem would be a Traffic Light controller, or Home Burglar Alarm system.

How will I learn on this module?

This module is taught primarily using workshops sessions designed to help you (the student) understand the C programming language and how to write good programs. The module will provide support material available via blackboard, therefore all students can learn at the individuals pace with access to online content in the lectures and lab work.
The skills acquired throughout the labs will enhance your experience to deal with practical work in writing C programs to solve Engineering problems. Case Study examples will be provided in the module lectures and workshops. This module is heavily based on labs, showing students how to use software and apply their new knowledge in a practical setting. To support student learning TEL is used throughout, including the use of recorded lectures and additional support videos.

How will I be supported academically on this module?

Academic staff will be available in the Lectures and Workshop sessions to answer questions each week, this forms a primary source of feedback on the performance of you (the student) in the workshop context. Also there may be a number of formative Multi Choice Question sessions (MCQs) to help you determine how well you are coping and understanding the work, these will be delivered mainly in the lecture slots again as a form of formative feedback. Topic areas that are noted as areas where the group is struggling can then be rectified at an earlier stage. Assessment feedback will be in the form of written comments in the returned assignment work to you. In addition to this there is an open door policy for students to come and see the Lecturer if they have a problem.

Blackboard will be used extensively for lecture and workshop content as noted before to allow individual paced learning for all students.

In addition the lecturers can be visited in their rooms as we operate an open door policy.

What will I be expected to read on this module?

All modules at Northumbria include a range of reading materials that students are expected to engage with. The reading list for this module can be found at: http://readinglists.northumbria.ac.uk
(Reading List service online guide for academic staff this containing contact details for the Reading List team – http://library.northumbria.ac.uk/readinglists)

What will I be expected to achieve?

Knowledge & Understanding:
1. Select and apply appropriate computational and analytical techniques to model complex problems, discussing the limitations of the techniques employed (C3, M3)

Intellectual / Professional skills & abilities:

2. Develop a computer program to solve a given engineering problem (C5,M5)

Personal Values Attributes (Global / Cultural awareness, Ethics, Curiosity) (PVA):
3. Use practical laboratory and workshop skills to investigate complex problems (C12, M12)

How will I be assessed?

This module is assessed by two assessments.
The first assessment will be an assignment based on designing a program for a microcontroller which assessed MLO2 and MLO3. The second assessment is a digital assignment which involved testing, assessing understanding of the underlying theories and problem-solving requirements of programming, which assessed MLO1.

Each coursework is worth 50% of the module with each assessing LO1,LO2 and LO3

Formative assessment will be via weekly Workshops that cover aspects of computer programming using the C Programming Language.

Feedback will be via weekly contact with the Workshop Tutor and via comments by the Tutor marking the assignments in the students returned assignment work





Module abstract

This Computer Programming Module is designed to teach you how to program a computer.
It teaches you the computer programming language C that is the most common language (and one that almost every computer in the world can be programmed to use).

The first part of the module teaches you how to program on a PC. The second part of the module shows you how to use C to program a microcontroller. With the microcontroller you can control hardware directly and write C programs to do things like read switch inputs and Temperature Sensors. You can also control Motors and LED indicators.

The C language is a very good one and executes on most computers very efficiently.
Being able to program in C is highly favoured by Employers and allows you to be able to learn other languages like C# and Java.

Course info

UCAS Code H601

Credits 20

Level of Study Undergraduate

Mode of Study 3 years full-time or 4 years with a placement (sandwich)/study abroad

Department Mathematics, Physics and Electrical Engineering

Location City Campus, Northumbria University

City Newcastle

Start September 2024 or September 2025

Fee Information

Module Information

All information is accurate at the time of sharing. 

Full time Courses are primarily delivered via on-campus face to face learning but could include elements of online learning. Most courses run as planned and as promoted on our website and via our marketing materials, but if there are any substantial changes (as determined by the Competition and Markets Authority) to a course or there is the potential that course may be withdrawn, we will notify all affected applicants as soon as possible with advice and guidance regarding their options. It is also important to be aware that optional modules listed on course pages may be subject to change depending on uptake numbers each year.  

Contact time is subject to increase or decrease in line with possible restrictions imposed by the government or the University in the interest of maintaining the health and safety and wellbeing of students, staff, and visitors if this is deemed necessary in future.


Your Learning Experience

Find out about our distinctive approach at 

Admissions Terms and Conditions

Fees and Funding

Admissions Policy

Admissions Complaints Policy