ENG1008 : Introduction to Programming Languages (C, Matlab and Python)
ENG1008 : Introduction to Programming Languages (C, Matlab and Python)
- Offered for Year: 2025/26
- Module Leader(s): Dr Domenico Balsamo
- Lecturer: Dr Chuan Cheng, Dr Anna Murgatroyd, Dr Craig Robson
- Owning School: Engineering
- Teaching Location: Newcastle City Campus
Semesters
Your programme is made up of credits, the total differs on programme to programme.
Semester 1 Credit Value: | 7 |
Semester 2 Credit Value: | 8 |
ECTS Credits: | 8.0 |
European Credit Transfer System | |
Pre-requisite
Modules you must have done previously to study this module
Pre Requisite Comment
English Language to IELTS 6.0 or Pearsons 54 or equivalent. Satisfy admissions or progression requirements for entry to Stage 1 of an engineering degree programme at Level 3, including A-Level Mathematics or equivalent and normally an A-Level in science or equivalent.
Co-Requisite
Modules you need to take at the same time
Co Requisite Comment
N/A
Aims
With this module, students will learn how to develop software design concepts and related programming techniques and handle C for embedded system programming (e.g. Arduino), MATLAB for numerical computing tasks, and Python for scientific computing tasks.
Outline Of Syllabus
Students will be asked to bring curiosity about software design and computer programming. Together, we will develop the ability to express algorithms through single steps (i.e., how to solve problems with a finite number of actions on a set of data) and translate these steps into programming languages (C, Matlab and Python).
In particular, C programming is used to program an open-source embedded platform, Arduino, based on easy-to-use hardware and software implementation. The C programming part is particularly aligned with the requirements of ENG1009, especially for the final project, which requires knowledge of Arduino programming. At the same time, students will learn how to use tools for data analysis and scientific computing. To this end, students will learn Matlab, a scripting language for MathWorks' Matlab computing environment, designed for numerical computing tasks, such as engineering or scientific simulations, and Python, an interpreted, object-oriented language that draws much of its power from a broad constellation of libraries, including popular modules for scientific computing.
Upon completing this module, which spans two semesters, students will become familiar with software (and hardware) development frameworks such as Tinkercad for Arduino and gain experience using the core building blocks of the C, Matlab and Python programming languages.
Through these outcomes, students will more naturally learn other programming languages (e.g. C++ and Java) taught at later stages and useful for career advancement.
Learning Outcomes
Intended Knowledge Outcomes
With this module, students will be:
Able to explain software design concepts (C1, C2):
1. demonstrate the ability to plan and design algorithms and
2. convert the written specifications into a procedural software design;
Able to manage the C, MATLAB and Python programming languages (C3, M3, C6):
1. demonstrate the ability to implement software applications in the C with Arduino, Matlab and
Python languages, and
2. test these applications against target specifications.
Intended Skill Outcomes
Students will be able to demonstrate how to define and separate algorithms (i.e., how to solve a problem with a finite number of actions on a limited set of data?) into simple steps and convert these steps in the C, MATLAB and Python programming languages (C1; C2; C3; C6).
Teaching Methods
Teaching Activities
Category | Activity | Number | Length | Student Hours | Comment |
---|---|---|---|---|---|
Guided Independent Study | Assessment preparation and completion | 1 | 17:00 | 17:00 | Preparation and completion of the formative assessment. |
Scheduled Learning And Teaching Activities | Lecture | 15 | 1:00 | 15:00 | 1x1-hour lectures per week over 15 weeks. |
Guided Independent Study | Assessment preparation and completion | 2 | 1:00 | 2:00 | Semester 2 In-person PC Exams (multi-choice questions - MCQs) |
Guided Independent Study | Assessment preparation and completion | 1 | 1:00 | 1:00 | Semester 1: In-person PC Exam (multi-choice questions - MCQs) |
Guided Independent Study | Assessment preparation and completion | 50 | 1:00 | 50:00 | Solving problems for this module's three parts (C, MATLAB and Python). |
Scheduled Learning And Teaching Activities | Practical | 15 | 3:00 | 45:00 | 3hr hour practical sessions guided by the lecturer per week over 15 weeks. |
Guided Independent Study | Independent study | 1 | 20:00 | 20:00 | Review lecture notes and read recommended texts and books. |
Total | 150:00 |
Teaching Rationale And Relationship
Lectures provide core material and guidance for further reading, and problem-solving practice is provided through tutorials. Work is further reinforced through the laboratory sessions.
Reading Lists
Assessment Methods
The format of resits will be determined by the Board of Examiners
Exams
Description | Length | Semester | When Set | Percentage | Comment |
---|---|---|---|---|---|
PC Examination | 60 | 1 | M | 34 | Semester 1 in person PC Exam: MCQ PC Exam |
PC Examination | 60 | 2 | M | 33 | Semester 2 in person PC Exam: MCQ PC Exam |
PC Examination | 60 | 2 | M | 33 | Semester 2 in person PC Exam: MCQ PC Exam |
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 |
---|---|---|---|
Reflective log | 2 | M | Students will be asked to complete a reflective portfolio and reflect on the lab exercises throughout the module. This reflection activity is aligned with what students are asked to do within ENG1009. 1 page per lab session, there are 15 lab sessions. |
Assessment Rationale And Relationship
The PC Exams assess the student's programming skills for C programming, MATLAB and Python (C1, C2).
Timetable
- Timetable Website: www.ncl.ac.uk/timetable/
- ENG1008's Timetable
Past Exam Papers
- Exam Papers Online : www.ncl.ac.uk/exam.papers/
- ENG1008's past Exam Papers
General Notes
N/A
Welcome to Newcastle University Module Catalogue
This is where you will be able to find all key information about modules on your programme of study. It will help you make an informed decision on the options available to you within your programme.
You may have some queries about the modules available to you. Your school office will be able to signpost you to someone who will support you with any queries.
Disclaimer
The information contained within the Module Catalogue relates to the 2025 academic year.
In accordance with University Terms and Conditions, the University makes all reasonable efforts to deliver the modules as described.
Modules may be amended on an annual basis to take account of changing staff expertise, developments in the discipline, the requirements of external bodies and partners, staffing changes, and student feedback. Module information for the 2026/27 entry will be published here in early-April 2026. Queries about information in the Module Catalogue should in the first instance be addressed to your School Office.