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 (typically the Arduino).

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 lectures, with workshop 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 lectures provide Tutor led learning in the module, and the Workshops provide the opportunity to practice this learning in a supportive and feedback rich environment.

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. 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.

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 and understanding of scientific principles underpinning the program design for Pseudo and State Machine formats (UK-Spec, 3rd Ed. SM1m, EA1m).

Understanding the mathematic principle applied in the programming as well as the appropriate codes of practice and industry standards in programming (UK-Spec, 3rd Ed. EP6m, SM2m).

Development of C program skills from a specification to solve an engineering problem using system model, computer and also a microcontroller (UK-Spec, 3rd Ed. EA1m, EA2m, EA3m, EA4m).

Manufacture and debug programs that include algorithmic sections and/or hardware control and prove that they meet the required specification (program debugging) for C programs designed to run on a PC and a Microcontroller (UK-Spec, 3rd Ed. EP3m).

How will I be assessed?

This module is assessed by two components. The first will be a programming exam/class test in C on a PC (a program executing under windows). The other will be an assignment on a C Program executing on the Arduino or equivalent. Each assignment is worth half the module total marks (50%). LO1, LO2, LO3 and LO4 will be accessed through the assessments.

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, which is a common language (and one that almost every computer in the world can be programmed to use).

The first half of the course teaches you how to program a PC or MAC computer. The second half of the course shows you how to use C to program a microcontroller, which allows you to control hardware directly and write C programs to do things like read switches 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 H600

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 2022 or September 2023

Fee Information

Module Information

All information on this course page is accurate at the time of viewing.

Our Campus based courses starting in 2022 and 2023 will be delivered on-campus with supporting online learning content. We continue to monitor government and local authority guidance in relation to Covid-19 and we are ready and able to adjust the delivery of our education accordingly to ensure the health and safety of our students and staff.

On-campus contact time is subject to increase or decrease in line with any additional restrictions, which may be imposed by the Government or the University in the interest of maintaining the health and safety and wellbeing of students, staff, and visitors. This could potentially mean increased or fully online delivery, should such restrictions on in-person contact time be required.


Current, Relevant and Inspiring

We continuously review and improve course content in consultation with our students and employers. To make sure we can inform you of any changes to your course register for updates on the course page.

Your Learning Experience find out about our distinctive approach at 

Admissions Terms and Conditions - northumbria.ac.uk/terms
Fees and Funding - northumbria.ac.uk/fees
Admissions Policy - northumbria.ac.uk/adpolicy
Admissions Complaints Policy - northumbria.ac.uk/complaints