COMP10060 Computer Science for Engineers I

Academic Year 2021/2022

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
Lectures

24

Practical

24

Autonomous Student Learning

72

Total

120

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
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), GENE30040 - Programming for Biologists, 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
Continuous Assessment: Weekly lab sessions, online tests and in-class tests Varies over the Trimester n/a Alternative linear conversion grade scale 40% No

100


Carry forward of passed components
Yes
 
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.

Name Role
Kalyani Yogeswaranathan Tutor