Module Title:Introduction to Computer Programming
Language of Instruction:English
Credits: 5
NFQ Level:6
Module Delivered In 2 programme(s)
Teaching & Learning Strategies: The module will be delivered with a blend of lectures and problem based learning for tutorial and practical classes.
Module Aim: To introduce students to the fundamentals of software development using a high level programming language and to equip them with the skills and techniques required to develop software using an industry standard integrated development environment (IDE) to solve engineering based problems. To provide students with a foundation for subsequent modules in the area of computer programming and programmable electronics / embedded systems.
Learning Outcomes
On successful completion of this module the learner should be able to:
LO1 Demonstrate an understanding of the fundamentals of software development and the building blocks of a high level programming language, e.g. data types, decisions, looping, arrays, functions, etc.
LO2 Understand the importance of modular programming, flowcharts and pseudocode as software development techniques, and employ these techniques during software development.
LO3 Develop algorithms to solve basic engineering based problems and use flowcharts to represent these algorithms.
LO4 Develop and debug source code using a contemporary integrated development environment (IDE) to solve basic engineering based problems.
LO5 Produce clearly documented source code using a neat programming style.
Pre-requisite learning
Module Recommendations

This is prior learning (or a practical skill) that is recommended before enrolment in this module.

No recommendations listed
Incompatible Modules
These are modules which have learning outcomes that are too similar to the learning outcomes of this module.
No incompatible modules listed
Co-requisite Modules
No Co-requisite modules listed
Requirements
This is prior learning (or a practical skill) that is mandatory before enrolment in this module is allowed.
No requirements listed
 

Module Content & Assessment

Indicative Content
Introduction to Computer Programming
High level programming languages, compilers, linkers, integrated design environments (IDEs), etc.
Fundamentals of Software Development
Top down design, modular design, algorithms, flowcharts, pseudocode, etc.
Variables, Constants, Data Types, Operators and Expressions
Variables, variable scope, constants, data types, type casting, arithmetic operators, bitwise operators, relational operators, ternary operator, arithmetic expressions, boolean expressions, etc.
Making Decisions
If statement, if / else statement, switch / case statement, etc.
Program Looping
While loops, do while loops, for loops, nested loops, infinite loop, etc.
Arrays
One dimensional arrays, multi-dimensional arrays, indexing, array calculations, etc.
Functions
In-built functions, user defined functions, declaration, definition and invocation, function prototypes, passing variables to / from functions, call by value, call by reference, recursion, etc.
Assessment Breakdown%
Continuous Assessment20.00%
Practical20.00%
End of Module Formal Examination60.00%
Continuous Assessment
Assessment Type Assessment Description Outcome addressed % of total Assessment Date
Examination Students will sit written and / or practical examinations during the module. 1,2,3,4,5 20.00 Week 8
No Project
Practical
Assessment Type Assessment Description Outcome addressed % of total Assessment Date
Practical/Skills Evaluation Students will complete laboratory assignments and mini projects which will be completed over several weeks. 1,2,3,4,5 20.00 Every Week
End of Module Formal Examination
Assessment Type Assessment Description Outcome addressed % of total Assessment Date
Formal Exam Final practical exam. 1,2,3,4,5 60.00 End-of-Semester

ITCarlow reserves the right to alter the nature and timings of assessment

 

Module Workload

Workload: Full Time
Workload Type Frequency Average Weekly Learner Workload
Lecture Every Week 0.50
Practicals Every Week 1.00
Independent Learning Every Week 2.00
Total Hours 3.50
 

Module Delivered In

Programme Code Programme Semester Delivery
CW_EESYS_B Bachelor of Engineering (Honours) in Electronic Systems 1 Mandatory
CW_EEEEN_D Bachelor of Engineering in Electronic Engineering 1 Mandatory