ENG06068 2019 Introduction to Programming

General Details

Full Title
Introduction to Programming
Transcript Title
Introduction to Programming
N/A %
Subject Area
ENG - Engineering
COEL - Computing & Electronic Eng
06 - NFQ Level 6
05 - 05 Credits
Start Term
2019 - Full Academic Year 2019-20
End Term
9999 - The End of Time
Fergal Henry
Programme Membership
SG_EELCO_B07 201900 Bachelor of Engineering in Engineering in Electronic and Computing SG_ECVIL_B07 201900 Bachelor of Engineering in Engineering in Civil Engineering SG_ECIVL_H08 201900 Bachelor of Engineering (Honours) in Civil Engineering SG_EMECL_B07 201900 Bachelor of Engineering in Mechanical Engineering SG_EPREC_B07 201900 Bachelor of Engineering in Precision Engineering and Design SG_EMECL_C06 201900 Higher Certificate in Engineering in Mechanical Engineering SG_EMTRN_B07 201900 Bachelor of Engineering in Mechatronic Engineering SG_EGENE_X07 201700 Bachelor of Engineering in Engineering in General SG_EMTRN_C06 201900 Higher Certificate in Engineering in Mechatronic Engineering SG_EGENE_X06 201900 Higher Certificate in Engineering in General SG_ECVIL_B07 201900 Bachelor of Engineering in Engineering in Civil Engineering SG_ECIVI_C06 201900 Higher Certificate in Engineering in Civil Engineering SG_EELCO_C06 201900 Higher Certificate in Engineering in Engineering in Electronic and Computing SG_EELEC_H08 201900 Bachelor of Engineering (Honours) in Engineering in Electronics and Automotive AI

This module is a basic introduction to programming techniques for Engineering students. Its purpose is to provide these students with a practical application-driven introduction to programming prior to embarking on writing high level code. Initially programs are  created graphically using flowcharts. These programs are tested on a microcontroller simulator. Students then progress to an Integrated Development environment, where they write, compile and debug similar programs. Programs are downloaded to a target board, which is interfaced to basic sensors and actuators. Finally a robotic buggy is programmed to complete various challenges.

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 computer program in the form of a flowchart.


Write a basic computer program (sketch) using a high level programming language.


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

Data: Analogue, Digital, Constant, Variable.

Data Types: Bit (Bool), Byte (Character), Integer, Long, Floating Point, Signed and Unsigned, String.

Introduction to Flowcharts: Inputs, Outputs, Time Delays, Decisions (if), Loops (Conditional and Unconditional, Macros (Functions), Calculations, Logical Operations.

Introduction to Programs (Sketches): Constants, Variables, Library Functions, while Loops, if-else Statements, Comments.

Overview of Hardware: Development Board (Pins, Ports, Digital / Analogue / PWM Channels), Robotic Buggy.

Programs to Read Input Devices: Push Button, Touch Sensor, Keypad, Potentiometer, LDR, Temperature Sensor, Microphone, Infrared Sensor.

Programs to Control Output Devices: Buzzer, Relay, LED, Seven Segment Display, LCD, Motor.

Testing (Debugging): Compilation (Verification), Simulation and Downloading (Uploading).

Coursework & Assessment Breakdown

Coursework & Continuous Assessment
100 %

Coursework Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 Practical Evaluation Lab Exercises Continuous Assessment Assignment 40 % OnGoing 1,2,3,4,5
2 Continuous Assessment Quizes Continuous Assessment Assessment 20 % OnGoing 1,2,3,4
3 Practical Evaluation Practical Exam Continuous Assessment Open Book Exam 40 % Week 13 1,2,3,4,5

Full Time Mode Workload

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

Required & Recommended Book List

Recommended Reading
2014-12-28 Make: Getting Started with Arduino: The Open Source Electronics Prototyping Platform Maker Media, Inc
ISBN 9781449363338 ISBN-13 9781449363338

Arduino is the hot open source prototyping platform for artists, hobbyists, students, and anyone who wants to create interactive physical environments. Getting Started with Arduino is co-authored by Arduino co-founder Massimo Banzi, and incorporates his experience in teaching, using, and creating Arduino.

Recommended Reading
2013-05-27 30 Arduino Projects for the Evil Genius, Second Edition McGraw-Hill Education Tab
ISBN 9780071817721 ISBN-13 9780071817721

Title: 30 Arduino Projects for the Evil Genius <>Binding: Paperback <>Author: Simon Monk <>Publisher: MCGRAW-HILL Professional

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.

Journal Resources

Not Applicable

Other Resources

Flowcode and Arduino IDE software installed in Electronics labs.

Additional Information