This paper introduces computer science and mathematics students to the formal theory of computation, as well as some important ideas in discrete mathematics of relevance to computer science and IT.
In the discrete mathematics half of the paper, a formal approach to logic is introduced: the basic connectives, well-formed formulas, truth tables, laws of equivalence, testing validity of logical arguments, plus an introduction to predicates and quantifiers. Also covered are modular arithmetic and its applications (to coding and cryptography for example) as well as an introduction to binary relations and directed graphs (connectivity and Warshall’s algorithm).
The other half of the paper deals with the theory of computation. Topics include: finite state automata and regular languages, Kleene’s theorem, Turing machines and the Halting problem, formal grammars and the Chomsky hierarchy. There is laboratory work in which students design Turing Machines.
MATH102 Introduction to Algebra
MATH258 Introduction to Discrete Mathematics
Official Timetable Information
Internal assessment/final examination ratio 1:1
This paper is compulsory for a major in Computer Science, except for the Applied Computing specialisation.
Follow this link for Academic Integrity information.
Follow this link for information on Performance Impairment.
Student Concerns and Complaints
Follow this link for Student Concerns and Complaints information.
Application for Extension
Follow this link for information on applying for an Extension.
Review of Grade
Follow this link for information on applying for a Review of Grade.
Your attention is drawn to the following regulations and policies, which are published in the University Calendar: