Skip to content

Latest commit

 

History

History

cm-1025-fundamentals-of-computer-science

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 

Go back to the main page

Table of contents


Fundamentals of Computer Science

In this module, you'll gain a broad understanding of key topic areas in computer science and the fundamental concepts underpinning them. In the area of fundamental concepts, you'll learn about binary representations and logic, complexity theory and theories of computation, finite state machines and Turing machines. Building on this, you'll then study key areas of interest in computer science including databases, artificial intelligence and machine learning. These will be presented as practical examples to illustrate how they are implemented in modern computer systems.

Professor(s)

  • Dr. Golnaz Badkobeh

Topics covered

  • Boolean logic
  • Algorithms
  • Searching and sorting algorithms
  • Theory of Computation and complexity
  • Turing machines and universal machines
  • Basic combinatorial principles
  • Proof techniques
  • Finite automata
  • Regular languages
  • Context-free grammar

Assessment

One two hour unseen written examination and coursework (Type I)

Module specification

Past exams

See past exams here.

Syllabus

Resources

Complementary learning

Essential reading

"Specific essential readings for each week from the following list are included in the Readings page for each week:"

  • 🥇 Kenneth H. Rosen (2011). Discrete Mathematics and its Applications, 7th. McGraw-Hill
  • 🥇 Thomas Koshy (2004). Discrete Mathematics with Applications, 1st, Elsevier Inc.
  • 🥇 Michael Sipser (2012). Introduction to the theory of computation, 3rd. Cengage Learning
  • 🥇 John Hopcroft et al. (2013). Introduction to Automata Theory, Languages and Computation, Pearson
  • 🥈 Merlin Forbes (2012). A Theoretical Introduction to Turing Machine, 1st. Learning Press
  • Dexter Kozen (2007). Automata and Computability, 1st. Springer
  • Shi-Kui Chang (2003). Data Structures and Algorithms, 1st. World Scientific Publishing Co

Textbooks solutions

Discrete Mathematics and its Applications
Introduction to Automata Theory, Languages, and Computation

❤️ Notes

Sample Paper with solutions

March 2020

Study guide

Weekly reading list

Supplementary Videos

Following are supplementary videos for Theory of computation part of the module (week 7-14) for week 1-6 refer NM/DM material and for week 15-20 refer ADS1 material.