CO222 - Programming Methodology
Course Code
CO222
Course Title
Programming Methodology
Credits
3
Course Type
CORE
Aims/Objectives
Problem solving, Storing and naming data and operators, Control flow, Using standard library functions, Structured programming, Static allocation, References (pointers), Linked structures, Memory layout, Language tool-chains, Support tools
Intended Learning Outcomes (ILOs)
Knowledge:
At the end of this course, a student will be able to;
- Convert a simple well defined problem into a correct computer program using a typical Clike programming language.
- Understand the logic of a simple piece of code and reason about it
Skill:
At the end of this course, a student will be able to;
- Practice good coding techniques (naming conventions, indentation, comments, organizing operations into functions, modularization).
- Visualise program control flow and memory structures.
- Use assertions and debugging to understand and debug programs
Attitude:
- Inculcate a disciplined attitude towards programming in the small.
- Discourage trial-and-error programming
Textbooks and References
- J.D. Ulman, Foundations of Computer Science C edition
| Topic | Time Allocated / hours | |||
|---|---|---|---|---|
| L | T | P | A | |
|
Problem solving From problem statements to algorithms to programs |
2 | 1 | - | - |
|
Storing and naming data and operators Variables, data types, operators and expressions |
3 | - | - | - |
|
Control flow Simple and nested conditions and iterations |
2 | 1 | 2 | - |
|
Using standard library functions Basic input/output functions |
2 | 1 | 2 | - |
|
Structured programming Defining functions, parameter passing by value |
2 | - | 2 | - |
|
Static allocation Arrays (single and multidimensional), strings, and structures (records) |
3 | 1 | - | 4 |
|
References (pointers) Dynamic allocation and type casts |
2 | 1 | 2 | 6 |
|
- Linked structures, box and pointer diagrams |
1 | 1 | - | - |
|
Memory layout Stack and heap |
2 | 1 | - | - |
|
- Error checking, assertions and testing |
1 | 1 | 2 | 2 |
|
Language tool-chains Compilation, linking and loading |
3 | - | 2 | - |
|
Support tools debuggers, commonly used static-code checkers |
1 | - | 2 | - |
|
Total (hours) |
24 | 8 | 14 | 12 |
L = Lectures, T = Tutorial classes, P = Practical classes, A = Homework Assignments
| Assessment | Percentage Marks |
|---|---|
| Practicals | 20 |
| Projects | 20 |
| Mid-Exam | 20 |
| End-Exam | 40 |
Last Update: 08/02/2023
|
Edit this page
