SECI 1013 DISCRETE STRUCTURE

Back to Year 1 page

Back to profile page

Black and White Math Pattern General LinkedIn Banner.png

This course introduces students to the principles and applications of discrete structure in the field of computer science. The topics that are covered in this course are set theory, proof techniques, relations, functions, recurrence relations, counting methods, graph theory, trees and finite automata. At the end of the course, the students should be able to use set theory, relations and functions to solve computer science problems, analyze and solve problems using recurrence relations and counting methods, apply graph theory and trees in real world problems and use deterministic finite automata finite state machines to model electronic devices and problems.

Chapter1:Set Theory & Logic

1.1   Set Theory

  • Set and Subset
  • Operations on Sets

1.2  Propositions, Conditional Propositions and Logical Equivalences

1.3  Quantifiers

  • Basic Quantifiers
  • Nested Quantifiers

1.4  Proof Techniques

  • Direct Proof
  • Indirect Proof

Chapter2:Relations & Functions

2.1   Relations

  • Digraph
  • Matrices of Relations
  • Characteristics of Relations

2.2 Functions

  • One-to-one, Onto, Bijection, Inverse functions
  • Composition
  • Recursive Algorithm

2.4 Recurrence Relation

  • Sequences
  • Solving Recurrence Relation

Chapter3:Counting Methods & Probability

3.1   Basic Principles

3.2   Permutations

3.3   Combinations

3.4   Pigeonhole Principle (First, Second, third Form)

3.5   Discrete Probability Theory

  • Discrete Probability Theory
  • Bayes’ Theorem

Chapter4:Graph Theory

4.1 Graph Definition and Notations

4.2 Representation of Graphs

4.3 Isomorphism of Graphs

4.4 Path and Cycles

4.5 Euler Cycles

4.6 Hamiltonian Cycles

4.7 Dijkstra’s Shortest Path Algorithm

4.8 Trees

  • Terminology and Characterizations of Trees
  • Rooted Trees
  • Binary Trees
  • Tree Traversals
  • Spanning Tree

Chapter5:Finite Automata

5.1  Deterministic finite automata

5.2  Finite state machines

Reflection

My goal concerning this course is to be able to apply the principles and the things I have learnt in this subject in the related field which is computer science. This course also teaches me a lot on how to solve a problem. All of the topic in this subject is important for a computer science student. As example, in this subject, I have learnt about Finite Automata which is very useful to model electronic devices and problems.

 

To improve my potential in the industry, I need to keep studying more about this subject as this is the most basic knowledge for all computer science students before pursuing their career. I also need to learn something which is not in the topic because it will help me to understand better and I also can view any problems from different perspectives.