TRON06056 2019 Procedural Programming

General Details

Full Title
Procedural Programming
Transcript Title
Procedural Programming
Code
TRON06056
Attendance
N/A %
Subject Area
TRON - Electronics
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)
Mary Carden
Programme Membership
SG_EELEC_H08 202000 Bachelor of Engineering (Honours) in Electronics and Self Driving Technologies
Description

This module is concerned with the development of student programming skills in a procedural programming environment. It serves as a basis for further software development skills either procedural, embedded or OOP languages. 

Learning Outcomes

On completion of this module the learner will/should be able to;

1.

Declare and use variables of different types and use operators on them.

2.

Apply appropriate statements to control flow of execution in a programme.

3.

Develop programs that use files as input and output.

4.

Derive aggregate data types such as structs and unions

5.

Manipulate data and structures indirectly using pointers

6.

Exercise good programming practices in the design of Programmes by adhering to a programming standard.

Teaching and Learning Strategies

This module will be taught by a flipped classroom asynchronous model whereby the students will have short instructional videos that they can watch at their own pace. They will then attempt increasingly challenging problems with tutor support.

Module Assessment Strategies

An open book assessments will be undertaken by the student under controlled circumstances totalling 25% of the marks. The students will be given a previously unseen assignment that is based on the programming problems they have been working. They can use their previously written code or textbooks and online resources but they are not permitted to communicate in any way.

The students will be organised in groups to work on individual parts of a program that can then be blended together. The students will be asked to develop a program, one student will focus on the main part of the program and one will be asked to focus on another area such as a file input or a function that solves a problem. The students will be asked to communicate the core details of their program on Moodle and develop a program that solves a particular problem doing so in a distributed manner. 

The students will be given 25% of the assessment marks for various single attempt quizzes throughout the semester. The questions will be based on questions from formative quizzes that they have previously seen.

Finally, the students will be given a 25% assignment that will be larger and more challenging than what they are assessed on in the open book assessments. This assignment is done at the students own pace in time for a final deadline. It will be based on all the material for the semester.

Repeat Assessments

A repeat assessment assessment covering all 7 learning Outcomes can be set. However, it should be at the discretion of the course board as to whether the student may have to re-attend for the module as this is a 100% CA.

Indicative Syllabus

What is a compiler? Editing, Compiling Linking and Debugging code. 

Data Types such as integer, floating-point, character data, variables, Pointers, Structs, Unions, Typedefs and Enums

Inputs/Outputs to display data on a screen, Input data from the keyboard, Develop file inputs and outputs

Programming Structures: Conditional statements, Boolean values and expressions, logical and relational operators, if-statement, case-statement, compound conditional statements and linked lists

Iterative constructs as  while-statements, for-statements and nested control statements.

Introduction to Data Structures Strings, single-dimensional arrays, two-dimensional arrays, dynamically allocated arrays, user-defined structures, abstract data types, and enumerated data types. Command line arguments.

Structured Programming such as functions, parameter passing, returning values, global and local variables, nested functions, reusable code, library functions.

Implementing Basic Algorithms, Summation, counting, numeric operations, swapping, maximum and minimum, simple string and array manipulation.

Testing and debugging Objectives and principles of testing. Choosing appropriate test data. Testing and debugging strategies. 

Reinforce good programming practices - Implement the IT Sligo Coding Standards where required

Coursework & Assessment Breakdown

Coursework & Continuous Assessment
100 %

Coursework Assessment

Title Type Form Percent Week Learning Outcomes Assessed
1 Practical Exercises Formative Assessment - % OnGoing 2,3,4,5,6
2 Practical Evaluation Coursework Assessment Assessment 25 % Week 4 1,2,3
3 Group Evaluation Coursework Assessment Assessment 25 % Week 8 3,4
4 Programming Assignment Coursework Assessment Assessment 25 % Week 12 1,2,3,5,6
5 Pratical Quizzes Coursework Assessment Assessment 25 % OnGoing 2,3,4,5,6

Full Time Mode Workload


Type Location Description Hours Frequency Avg Workload
Practical / Laboratory Computer Laboratory Laboratory Practical 4 Weekly 4.00
Independent Learning Not Specified Independent Learning 3 Weekly 3.00
Total Full Time Average Weekly Learner Contact Time 4.00 Hours

Online Learning Mode Workload


Type Location Description Hours Frequency Avg Workload
Lecture Online Online Lecture 1.5 Weekly 1.50
Independent Learning Not Specified Independent Learning 5 Weekly 5.00
Practical / Laboratory Online Laboratory Practical 1 Fortnightly 0.50
Total Online Learning Average Weekly Learner Contact Time 2.00 Hours

Module Resources

Non ISBN Literary Resources

Recommended Reading
1988-03-22 The C Programming Language (2nd Edition) Prentice Hall
ISBN 0131103628 ISBN-13 9780131103627

This book is meant to help the reader learn how to program in C. It is the definitive reference guide, now in a second edition. Although the first edition was written in 1978, it continues to be a worldwide best-seller., This second edition brings the classic original up to date to include the ANSI standard. From the Preface: We have tried to retain the brevity of the first edition. C is not a big language, and it is not well served by a big book., We have improved the exposition of critical features, such as pointers, that are central to C programming. We have refined the original examples, and have added new examples in several chapters. For instance, the treatment of complicated declarations is augmented by programs that convert declarations into words and vice versa., As before, all examples have been tested directly from the text, which is in machine-readable form. As we said in the first preface to the first edition, C "wears well as one's experience with it grows." With a decade more experience, we still feel that way. We hope that this book will help you to learn C and use it well.

Recommended Reading
2015-09-04 Learn C the Hard Way: Practical Exercises on the Computational Subjects You Keep Avoiding (Like C) (Zed Shaw's Hard Way) Addison Wesley
ISBN 9780321884923 ISBN-13 9780321884923

Rare Book

Other Resources

DevC Compiler.

IT Sligo C Coding Standard.

ACM Software Engineering Code of Ethics.