ENG06068 2019 Introduction to Programming
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 Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Practical Evaluation Lab Exercises | Coursework Assessment | Assignment | 40 % | OnGoing | 1,2,3,4,5 |
2 | Continuous Assessment Quizes | Coursework Assessment | Assessment | 20 % | OnGoing | 1,2,3,4 |
3 | Practical Evaluation Practical Exam | Coursework 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 |
Practical / Laboratory | Engineering Laboratory | Practical | 2 | Weekly | 2.00 |
Independent Learning | Not Specified | Independent Learning | 5 | Weekly | 5.00 |
Part Time Mode Workload
Type | Location | Description | Hours | Frequency | Avg Workload |
---|---|---|---|---|---|
Lecture | Flat Classroom | Theory Lecture | 1 | Weekly | 1.00 |
Practical / Laboratory | Engineering Laboratory | Practical | 2 | Weekly | 2.00 |
Independent Learning | Not Specified | Independent Learning | 5 | Weekly | 5.00 |
Required & Recommended Book List
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.
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
Introduction to Flowcode, Matrix Multimedia.
An Introduction to Microcontroller Programming, Matrix Multimedia.
Practical C Programming, Steve Oualline, O’Reilly.
Not Applicable
Flowcode and Arduino IDE software installed in Electronics labs.
None