COMP10060 Computer Science for Engineers I

Academic Year 2024/2025

This course provides students with an introduction to computer programming. Major topics include algorithm development, programming fundamentals, control flow, and data structures. By the end of the course, students will be able to write simple programs to solve small-scale problems. The module is introductory in nature and assumes no previous programming knowledge, and so is suitable for first year students, who require a formal and structured introduction.This module will include weekly two-hour computing practicals. It is a requirement that you have access to your own laptop to undertake the practical elements and to learn how to code.

Show/hide contentOpenClose All

Curricular information is subject to change

Learning Outcomes:

On completion of this module students should be able to:
1. Solve simple problems by writing computer programs
2. Be aware of most basic programming topics
3. Be familiar with the basics of the C programming language

Indicative Module Content:

Introduction: what is a computer? what is an algorithm? what is a program? An engineering problem-solving methodology. General format of a C program.

Fundamentals of C: variables and constants. Assignment statements. Formatted input/output from/to the keyboard/screen. Basic datatypes. Type casting. Keywords and identifiers. Arithmetic, relational, and logical operators; conditionals. Operator precedence.

Loops: for, while, do-while. Infinite and unbounded loops.

Algorithm development and stepwise refinement: flowcharts and pseudocode. Sources and types of errors in C programming.

Functions: C library functions. Programmer- defined functions: definition, declaration, function call. Formal and actual function
parameters: call by value. Storage class and scope.

1-D arrays: declaration and initialization. Simple linear searching with arrays. Passing arrays to functions: call by address.

Student Effort Hours: 
Student Effort Type Hours




Autonomous Student Learning




Approaches to Teaching and Learning:
This module is mainly about problem solving using programming (C) and in based mainly on laboratory sessions with mainly on line tests being used. 
Requirements, Exclusions and Recommendations

Not applicable to this module.

Module Requisites and Incompatibles
COMP10010 - Introduction to Programming I, COMP10020 - Introduction to Programming II, COMP10110 - Computer Programming I, COMP10120 - Computer Programming II, COMP10180 - Computer Programming II (O/L), MIS10080 - Programming for Bus Analytics, MIS20050 - Prog for Bus Analytics II, MIS20080 - Introduction to Programming, MIS30110 - Computation Modelling for Bus

Assessment Strategy  
Description Timing Open Book Exam Component Scale Must Pass Component % of Final Grade
Quizzes/Short Exercises: This is the third of the in-class tests n/a Graded No


Exam (In-person): This will cover the whole of the module content n/a Graded No


Quizzes/Short Exercises: This is the second of the in-class tests n/a Graded No


Quizzes/Short Exercises: This is the first of the in-class tests n/a Graded No


Carry forward of passed components
Remediation Type Remediation Timing
In-Module Resit Prior to relevant Programme Exam Board
Please see Student Jargon Buster for more information about remediation types and timing. 
Feedback Strategy/Strategies

• Feedback individually to students, on an activity or draft prior to summative assessment
• Feedback individually to students, post-assessment

How will my Feedback be Delivered?

Feedback is given constantly during the semester with each lab and also with the assessment elements of the lab tests.