- Student Records
Programme & Unit Catalogues

Department of Computer Science, Unit Catalogue 2007/08


CM10192 Programming I

Credits: 24
Level: Certificate
Academic Year
Assessment: EX50CW50
Requisites:
Aims: To introduce students to the development of computer software, including problem analysis, establishing requirements, designing, implementing and evaluating. To provide practical skills at reading and writing programs and producing programs to solve real world problems. To provide students with domain specific problem solving techniques.
Learning Outcomes:
On completion of this unit, students will be able to:
1. Understand the basic procedural control statements and design, implement, test and evaluate programs using this paradigm.
2. Understand the concepts of object orientation and design, implement, test and evaluate programs in this paradigm.
3. To be able to design, construct and evaluate substantial data structures by developing abstract data types
4. Understand and argue the limits of computation.
Skills:
Use of IT (T/F,A), Problem Solving (T/F,A), Communication (T/F,A).
Content:

* Procedural Control: Introduction to procedural system development. Discussion of control structures: sequence, selection, iteration and recursion. Introductions to scope and extent, abstract data types. Design methods for such systems. Unit testing.
* Objects: Introduction to object-oriented system development. Extending Abstract data types and scope and extent. Introduction of Objects and classes, inheritance and polymorphism. Design methods, code reuse and software maintenance. Large scale software development: strategies, software frameworks and design patterns. Comparison of programming languages. Event handling and multithreading.
* Data Organization: Basic data structures: lists, stacks and queues, ... Basic search and sorting algorithms for these data structures. Files and streams. Data handling. Graphical user interfaces.
* Limits of Computation: Introduction to complexity analysis and computability.