Course overview
The course provides a basic introduction to discrete mathematics concepts of objects and their relationships. This course aims to introduce students to the basic concepts of mathematical structures that are fundamentally discrete, rather than continuous. Concepts and notations from discrete mathematics are extremely useful in studying and describing objects and formulating problems in branches of computer science, such as computer algorithms, programming languages, cryptography, automated theorem proving, software development and many other IT principles. The objects studied in discrete mathematics are various, such as logic, sets, functions, number theory, induction, combinations and permutations, graphs, recurrence relations, theoretical principles of cryptography, and trees. The course is mostly theoretical and takes place in an amphitheater. However, it is one of the key courses that highly important in building problem-solving capability, critical and analytical thinking. The curriculum is designed to build fundamental knowledge that is of use in other courses in the curriculum.
Participants in piloting
The course is obligatory in the 2nd year of undergraduate studies at the School of Information Communication and Technology of the Hanoi University of Science and Technology. Approximately 180 students are engaged in the course every semester.
Timeframe
Fall 2019.
Use of ALIEN services and tools
Discrete Mathematics is a theoretical and completely problem-based learning course. Students learn and solve problems in the class in most lectures through pen and paper. Students are also asked to implement algorithms and methods on digital platforms applying discrete mathematics concepts to solve famous problems in order to understand the theory. The digital application allows students to explore potential solutions to the puzzle through computational experimentation before introducing a formal mathematical solution. This activity aims to demonstrate the links between discrete mathematics and programming. It challenges students to analyze a problem and experiment with potential solutions while striving to arrive to a solution formula. It furthermore addresses issues related to solution and programming optimization. As second step, students are called to program a solution to the puzzles, which typically takes place in the context of programming courses.
Other classic problems introduced in the course that demonstrate links with other curriculum courses, such as programming, include the finding a recurrence relation for the Fibonacci sequence, counting the number of paths in the classic travelling salesman problem, calculating shortest paths in graphs (a problem related to programming and algorithms), calculating the maximal flow of a network and more.
Along the lectures, in this course, students are encouraged and introduced to take part in laboratories held by lecturers and professor in the university. Students will have chances to participate in solving real-life problems using the fundamental concepts and theories of discrete mathematics. This activity aims to show the capability of applying discrete mathematics in solving realistic problems, especially how to formulate a real problem using basic discrete structures and objects.