Topic outline

  • General description

    The course aims to employ fundamental concepts in discrete structures to enhance the students computational and mathematical abilities. By the end of the course, the student will be able to: - Strengthen the use of mathematical logic and proof techniques in various fields of informatics. - Design electronic and logical circuits and verify their operation and outcomes mathematically. - Develop certain algorithms based on discrete structure concepts. - Understand how compilers, text editors, language design, and automata are constructed. - Advance in building complex data structures. - Transition from propositional logic to predicate logic, preparing for studies in fuzzy logic and artificial intelligence. - Apply graph theory in designs and solutions. - Bridge the gap between theoretical study of structures and practical application in general. Upon completing this course, the student will be able to design logical and electronic circuits based on logic and Boolean functions, mathematically verifying the accuracy of the output and its alignment with the design. Additionally, the student will acquire a solid foundation for developing and understanding compilers, programming language mechanics, and text processors. The student will also be able to design algorithms to solve various problems and conduct measurements on them. Overall, the course provides a strong foundation for students to employ theoretical knowledge in practical applications.