Computing Fundamentals
The rationale is to provide the students with the theoretical and practical basis to understand the design and construction of Computer software and hardware.
Synopsis of Module
The underlying theory of Computation, the major paradigms of Computation, the concepts of software, systems and data
modelling, the interaction between software and hardware in a von Neumann computer, data representation in a computer system. •
Aims of Module
- To introduce the students to the underlying theory of Computation.
- To introduce the students to the major paradigms of Computation.
- To introduce the students to the concepts of software, systems and data modelling.
- To introduce students to the architecture of von Neumann computers.
- To provide students with an understanding of the interaction between software and hardware in a von Neumann computer.
- To provide students with an understanding of data representation in a computer system.
- To provide students with an understanding of von Neumann computer programming.
Learning Outcomes
The student should be able to
- Describe and use the notations of set theory and logic and apply them in modelling software, systems and data.
- Discuss the major paradigms of Computation and their application in software systems.
- Describe the architecture of a von Neumann computer and how storage, arithmetic and I/O system interact in such a computer.
- Describe how data and instructions are represented and stored in a von Neumann computer and how high level language abstractions relate to the machine implementation.
Outline Syllabus
- Basic discrete Mathematics, including set theory, logic, Boolean algebra, and its use in Computing (20%)
- Relations and functions and their use in Computing (15%)
- Computational models, including finite state machines, the von Neumann machine, the Turing Machine, -Calculus and Predicate Calculus. (15%)
- Basic von Neumann machine architecture (15%)
- Basic data representation and manipulation (15%)
- Von Neumann machine programming (20%)