My this reflection is about the DESCRETE STRUCTURE COURSE which enables students to strengthen and increase the understanding of discrete mathematics with special emphasis on computer science applications. Topics include sets, number systems, the nature of proof, formal logic, functions and relations, combinatory, recurrence relations, trees and Boolean algebra.
I am studying in SECI1013 of " DESCRETE STRUCTURE" Section 08 which are guided by Dr. Nor Azizah Binti Ali. As a student of computer science(software engineering) in UTM, this course is a compulsory subject to be taken in first semester.
After I study in this semester about months, I able to apply basic algorithmic techniques such as greedy algorithms, binary search, sorting and dynamic programming to solve programming challenges. Besides that, I also able to apply graph and string algorithms to solve real-world challenges: finding shortest paths on huge maps and assembling genomes from millions of pieces and apply various data structures such as stack, queue, hash table, priority queue, binary search tree, graph and string to solve programming challenges.
All lectures, assignments, tasks, projects and tests were straight forward. And this whole learning process assignments comes out very beneficial. About improvement of the course I don't have any special suggestion because the whole course was very detailed and organized but if the course would be F2F it would be better. I actually really enjoyed this course. I totally admire and respect the efforts and hard works of lecturer towards this course.
In a conclusion, learn discrete structure let me know how to solve complex programming challenges using advanced techniques: maximum flow, linear programming, approximate algorithms, SAT-solvers, streaming.