- This course presents an introduction to the mathematical foundations of computer science, with an emphasis on reasoning, analysis, and algorithmic thinking.
1) Chapter 1: Set Theory and Logic
Abouts
--> In this chapter, we have studied about sets and how to perform sets acrobatics with operations (union and intersection). Besides that, we also learn about logic and the uses of logic operators(and , or, conditional, biconditional), quantifiers(all, some) and proof(direct proof, indirect proof, contradiction proof).
2) Chapter 2: Relation and Function
Abouts
--> Chapter 2 is basically same as relation and function in mathematics, but just deeper than we previously learned in secondary school. In topic of relation, we learned about types of relations and how to determine it. We also learned about recurrence relation, which similar to progression, but difference is instead focusing on the whole progression, we mainly focus on the relation of creating these sequence (also might related to previous terms). In topic of function, we have to determine whether it is function or not. If it is a function, what is the type of function (one-to-one/onto/both, which called bijective). We also learned about recursive function, which basically creating the recurrence relation in the form of coding ("while" function).
3) Chapter 3: Counting and Probability
Abouts
--> The topic of counting is mainly about permuatation and combination, which we had learned on Form 5 secondary school, and Basic Counting. Besides that, we also learned about Pigeonhole Principle and how to use it. While in probability topic, we learned about the basic probability and the use of Bayer's Theorem.
4) Chapter 4: Graph Theory
Abouts
--> In this graph theory topic, we learned about the verticles and nodes, and also trails, path, and circuits. Through the topic, we able to learn how to create a connective trails and paths for our circuit with the minimal materials and able to produce optimal outcomes.
5) Chapter 5: Finite Automata
Abouts
--> In this chapter, we will learn about one of the computational modelling methods, which is finite state machine. The purpose of the chapter is to learn about the ways to to ensure the computer can perform the task after the tasks wrer carried out. Besides that, we also able to learn about one of two parts of finite state machice, which are machine without output, called Deterministic Finite Automata and the ways to carry it out.
From the Discrete Sturcture course, I have learned many valuable knowledges about calculations and construction of graphs that are essential for us as a data engineering student to learn about. Besides that, we also learned about function, relation and set theory that involed some algorithm thinking. Overall, the course had given us some valuable insight about mathematical foundation of computer science.