TRON06056 2019 Procedural Programming
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;
Declare and use variables of different types and use operators on them.
Apply appropriate statements to control flow of execution in a programme.
Develop programs that use files as input and output.
Derive aggregate data types such as structs and unions
Manipulate data and structures indirectly using pointers
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 Assessment
Title | Type | Form | Percent | Week | Learning Outcomes Assessed | |
---|---|---|---|---|---|---|
1 | Practical Exercises | Formative | Assessment | 0 % | 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 |
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 |
Module 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
DevC Compiler.
IT Sligo C Coding Standard.
ACM Software Engineering Code of Ethics.