Fundamentals of Computer Science

Professor
Ann Nowé, Bart Bogaerts
Course description
Course Content:
  1. Syntax (formal languages):

    1.1. Regular languages and finite automata: equivalence, (non)determinism, optimization.
    1.2. Context free grammars: definitions and general properties (e.g. normalforms), pushdown automata.
    1.3. Introduction to parsing. 

  2. Computability: Solvable and unsolvable problems, Theorem of Church, Turing Machines.
  3. Introduction to logic and basic theorem proving
The corresponding competences:

The objective of this course is to acquaint students in Apllied Computer Science with the formal background of their discipline.

  • Knowledge and Insight:
  • The student knows the Chomsky hierarchy of formal languages, and has insight in the generative power of the different classes and their corresponding automata.
  • The student has gained insight into what problems can be can be solved and computed w.o.w. which problems belong to the class of (semi-)decidable or (semi-)computable problems.
  • The student has sufficient knowledge about logic in order to be able to learn other types of logic.
  • The use of Knowledge and Insight:
  • The student can specify a grammar or an automaton of the appropriate class given an description of a previously unseen language.
  • The students knows the basics of logic, more in particular proposition logic and predicate logic, so that they are able to use this knowledge to formulate and solve problems.
  • Communication:
    The student can present the content of their final project to the other students and communicate his ideas on the solutions.
  • Skills:
  • The course contributes to development of the skills necessary to solve mathematically formulated problems.
    The majority of students in this program have a technological background and lack grounding in the fundamentals of computer science.

All detailed and official information about the course here >