COMP06144 2013 Introduction to Programming

General Details

Full Title
Introduction to Programming
Transcript Title
N/A %
Subject Area
COMP - Computing
MENG - Mech. and Electronic Eng.
06 - NFQ Level 6
05 - 05 Credits
Start Term
2013 - Full Academic Year 2013-14
End Term
9999 - The End of Time
Eamonn Reddin, Fergal Henry
Programme Membership
SG_EMECH_B07 201300 Bachelor of Engineering in Engineering in Mechatronics SG_EELEC_C06 201500 Higher Certificate in Engineering in Engineering in Electronics SG_ETRON_B07 201600 Bachelor of Engineering in Electronic Engineering SG_EELCO_B07 201700 Bachelor of Engineering in Electronic and Computer Engineering SG_EELCO_C06 201700 Higher Certificate in Engineering in Engineering in Electronic and Computer Engineering SG_EELCO_C06 201800 Higher Certificate in Engineering in Electronic and Computer Engineering SG_EELCO_B07 201800 Bachelor of Engineering in Electronic and Computer Engineering

This module is a basic introduction to programming techniques. Programs are created graphically using flowcharts. In some instances a short segment of high level code such as C may be inserted into a flowchart. These programs are tested on a microcontroller simulator. Then an actual device is programmed and tested in real time. A typical example of such a device is a robotic buggy with basic sensors and actuators. The purpose of this module is to provide engineering students with a practical application-driven introduction to programming prior to embarking on writing high level code.

Learning Outcomes

On completion of this module the learner will/should be able to;


Convert between decimal, binary and hexadecimal number systems.


Explain how data types, constants and variables are used in computer programming.


Construct a program in the form of a flowchart and / or short segment of high level code.


Write programs / flowcharts to read inputs, process them and write outputs.


Test programs / flowcharts by compiling them, simulating them and downloading them to a microprocessor-based device.

Teaching and Learning Strategies

It is proposed that a workplace engagement component will be introduced to this module via a guest lecturer from industry, an industrial site visit or a work-based assignment where possible.

Indicative Syllabus

Number Systems and Codes: Decimal, Binary, Hexadecimal and ASCII.

Data Types: Bit, Byte, Integer, Floating Point, Signed and Unsigned, String.

Constants and Variables.

Programs and Flowcharts.

Memory: Code and Data Memory.

Functions: Component macros.

Inputs: Flowchart to read digital inputs from a bank of switches, a keypad or an ADC to a microprocessor device.

Loops: Conditional and unconditional while loops, Connection Points.

Decisions: If statements and switch statements.

Calculations / Processing: Arithmetic, Modulus, Logical, Shifting, Masking.

Timing: Flowchart with time delays to debounce switches, multiplex seven segment displays and drive servo / stepper motors.

Outputs: Flowcharts to write digital outputs from a microprocessor device to a bank of LEDs, seven segment displays or an LCD.

Computer File System: Flowchart to read a file from and write a file to a memory card.

Integration of Code: Insertion of a small segment of C code into a flowchart.

Testing: Compilation, Simulation and Downloading of Programs to a basic robotic buggy.

Coursework & Assessment Breakdown

Coursework & Continuous Assessment
100 %

Coursework Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 Practical Evaluation Lab Exercises Continuous Assessment UNKNOWN 50 % OnGoing 3,4,5
2 Continuous Assessment Quizes Continuous Assessment UNKNOWN 20 % OnGoing 1,2,3,4
3 Practical Evaluation Practical Exam Continuous Assessment UNKNOWN 30 % End of Term 3,4,5

Full Time Mode Workload

Type Location Description Hours Frequency Avg Workload
Lecture Flat Classroom Theory Lecture 2 Weekly 2.00
Laboratory Practical Engineering Laboratory Practical 2 Weekly 2.00
Total Full Time Average Weekly Learner Contact Time 4.00 Hours

Module Resources

Non ISBN Literary Resources

Introduction to Flowcode, Matrix Multimedia.

An Introduction to Microcontroller Programming, Matrix Multimedia.

Practical C Programming, Steve Oualline, O’Reilly.

Other Resources

Flowcode software installed in Electronics labs.

Additional Information