The courses in this module provide fundamental knowledge of programming and theoretical computer science, which are essential skills for every computer scientist.
Students acquire basic concepts of object-oriented programming, such as modeling, selecting and creating data structures, implementation, and quality assurance. They also develop essential problem-solving skills by analyzing problems and solving them using programs.
In theoretical computer science, fundamental concepts such as formal languages, propositional logic, and formal mathematical automaton models are introduced. They are motivated by their relevance to practical applications in computer science.