(or equivalent approved by Director of Studies)
Aims: To continue the practice of the programming process begun in Programming I. To extend the notion of object-oriented software development. To increase practical skills at reading and writing programs and producing programs to solve real world problems.
Learning Outcomes:
1) To be able to design, construct and evaluate substantial data structures by developing abstract data types.
2) To be able to read, and comprehend the behavior of, complex abstractions
3) To be able to design suitable software systems from a problem description.
Skills: Problem Solving (T/F, A).
Content: Data structures. Algorithms and complexity. Exception handling. Abstract data types and classes (lists, stacks, queues, etc.) Inheritance vs composition. Abstract vs concrete classes. Self-referential classes. Event handling. Graphics. Multithreading. Network programming.
| |