This class is a possible elective for students on Maths-based degrees, as it does not conflict with compulsory Mathematics/STAMS classes.
Details are given in good faith, but this class and its code or timetable may be subject to change or cancellation.
For further information on this class please contact The Department of Computer and Information Sciences (external link)
Core Details
| Semester | 1/2 |
|---|---|
| Credits | 20 |
Compulsory for Students
This class is compulsory for Mathematics and Computer Science students.
Essential Prerequisites
SQA Higher Grade Mathematics (or equivalent).
Description
Aim: To provide the student with a foundation in the principles of computer programming.
Objectives: On completion of the class, a student should be able:- to appreciate the fundamental software components of computer systems; to understand the principles of program design and demonstrate their practical application; to understand enough of the syntax and semantics of a general purpose programming language such as Java to allow the implementation of the designed programs.
Syllabus: Computer Systems: overview of high-level languages, operating systems, compilers and interpreters; introduction to departmental machines and the Unix operating system. Algorithms, Programs and Programming Languages. The basics of design - sequence, selection and iteration/recursion; program design, composition, modularity and information hiding; abstract data types; algorithms; object orientation; the design/implement/test cycle. Elements of the implementation language: basic constructs, input and output, functions/procedures/methods and parameter passing, data types, static data structures, dynamic data structures; introduction to objects, classes, inheritance and polymorphism.
