Curriculum Page >> COMP165
Curriculum - COMP165 - Fundamentals of Computer Science (Advanced)
| Handbook Entry | Unit Home Page |
Short Description
COMP165 is the advanced version of the study of programming as a systematic discipline and provides an introduction to computer architecture.
Assumed knowledge
- Ability to solve relatively simple, small problems using some high level programming language such as Visual Basic or Pascal. In particular, familiarity with the use of basic programming concepts such as iteration, selection, procedures, functions and arrays. (COMP115/COMP155)
- amiliarity with use of an operating system and basic software typically installed on a modern personal computer. For example, they should have basic skills in the creation, copying and renaming of files and directories. (COMP115/COMP155)
- Basic mathematical knowledge including a rudimentary grasp of logical thinking, exposure to some important mathematical functions such as the exponential and logarithm functions, knowledge of how to find the sum of a simple arithmetic progression and familiarity with elementary plane geometry. An intuitive feel for the principle of mathematical induction is also indispensable.
Learning outcomes
- Improved problem solving skills and enhanced ability to think algorithmically.
- Significant experience with a modern object-oriented programming language such as Eiffel, Java or C++.
- An understanding of the importance of documentation, testing, readability and modularity of programs.
- An understanding of the concepts of interface and implementation of routines. Familiarity with some basic abstract data types such as stacks and queues, and an understanding of the distinction between the interface and the implementation of such data types.
- Awareness of some important, well known algorithms, and a basic knowledge of the concepts of algorithm correctness and complexity.
- An understanding of recursion and linked lists (although not necessarily pointer-based implementations of the latter).
- An understanding of the basics of computer architecture, including data representation and program execution.
Comments to: Steve Cassidy
