ENG06068 2019 Introduction to Programming

General Details

Full Title
Introduction to Programming
Transcript Title
Introduction to Programming
Code
ENG06068
Attendance
N/A %
Subject Area
ENG - Engineering
Department
COEL - Computing & Electronic Eng
Level
06 - Level 6
Credit
05 - 05 Credits
Duration
Semester
Fee
Start Term
2019 - Full Academic Year 2019-20
End Term
9999 - The End of Time
Author(s)
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 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 Engineering SG_ECVIL_B07 201900 Bachelor of Engineering in Engineering in Civil Engineering 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 Electronic and Computing SG_EMECH_H08 202000 Bachelor of Engineering (Honours) in Mechanical Engineering SG_EELEC_H08 202000 Bachelor of Engineering (Honours) in Electronics and Self Driving Technologies SG_EROBO_H08 202000 Bachelor of Engineering (Honours) in Robotics and Automation SG_ECVIL_B07 202000 Bachelor of Engineering in Engineering in Civil Engineering SG_EGENE_H08 202000 Bachelor of Engineering (Honours) in General Engineering SG_EELEC_H08 202100 Bachelor of Engineering (Honours) in Electrical Engineering and Sustainability SG_EELCO_B07 202200 Bachelor of Engineering in Electronic and Computing SG_EMTRN_B07 202300 Bachelor of Engineering in Mechatronic Engineering SG_EMTRN_C06 202400 Higher Certificate in Engineering in Mechatronic Engineering SG_EMECH_H08 202400 Bachelor of Engineering (Honours) in Mechanical Engineering SG_EROBO_H08 202400 Bachelor of Engineering (Honours) in Robotics and Automation
Description

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;

1.

Convert between decimal, binary and hexadecimal number systems.

2.

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

3.

Construct a computer program in the form of a flowchart.

4.

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

5.

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 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
Total Full Time Average Weekly Learner Contact Time 3.00 Hours

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
Total Part 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

None