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

Required & Recommended Book List

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

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.

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