|
|
Computers and Program Design
| Subject Code: |
ECP1016 |
| Aim of Subject: |
To introduce the students to computers and teach them some basic programming
skills. |
| Learning Outcome of Subject: |
At the completion of the subject, students should be able to:
- appreciate why structural programming provides a foundation for further study of programming languages in general and of object oriented languages.
- write complete, properly structured, programs.
- develop good programming habits in preparation for dealing with the more substantial programming subjects in the coming trimesters.
- define, write and use functions.
- define and manipulate arrays, pointers, characters and strings, formatted input/output and data structures in their program's language.
- apply techniques used to process text files with sequential access and random access in their computer programs.
- use dynamic memory allocation to allocate storage space in order to fulfill the varying demand of computer programs.
|
| Programme Outcomes: |
- Ability to acquire and apply fundamental principles of science and engineering(10%)
- Capability to communicate effectively(10%)
- Acquisition of technical competence in specialised areas of engineering discipline(10%)
- Ability to identify, formulate and model problems and find engineering solutions based on a systems approach(20%)
- Understanding of the importance of sustainability and cost-effectiveness in design and development of engineering solutions(20%)
- Ability to work independently as well as with others in a team(10%)
- Capability and enthusiasm for self-improvement through continuous professional development and life-long learning(20%)
|
| Assessment Scheme: |
- Assignment - group assignment,to enhance understanding of basic concepts in lecture (20%)
- Test / Quiz - Written test(20%)
- Exam - written exam (60%)
|
| Teaching and
Learning Activities: |
55 hours (lectures,tutorials and laboratory experiments) |
| Credit Hours: |
3 |
| Pre-Requisite: |
None |
| References: |
- Deitel & Deitel, “C How to program”, 3nd Edition,
Prentice Hall, 2004.
- Kernighan & Ritchie, "The C Language", 2nd Edition, Prentice Hall,
1988 (Reference).
- Miller & Quilici, “Joy of C”, Wiley, 1993.
|
Subject Contents
- Overview of Computers and Software
History, computer components, computer software including operating systems and computer languages. Introduction to using LINUX
- Designing Programs
Requirements gathering, Specifications & Design, meaning of algorithm, usage
of pseudocode and flowcharts, Coding & Testing, Documentation, Maintenance.
- Variables and Flow Control
Simple variables, simple data types including arrays, basic pointers, and records,
arithmetic & logical operators, relational operators, conditionals, loops.
- Functions and Procedures
Function declarations, definitions, & prototypes, pass-by-value and pass-by-reference
parameters, local and global variables, scope, function calls.
- I/O and File Operations
I/O with standard input and output, strings, files. Formatting of read &
write operations. File manipulation operations.
- System Services
Use of libraries, dynamic memory allocation, making system calls from within
programs.
Laboratory
Supervised tutorials are done in many computer labs. Tutorials are mostly programming tutorials, while a few involve application of theory in paper exercises.
The programming tutorials will be conducted using the GCC compiler in the LINUX operating system.
|