Discrete Structure

Information

Course Code: SECI1013

Section: 06

Lecture: Dr. Suhaila Mohamad Yusuf

Group Member: Omar Khater

                               Elinor

Course Files

Learn About DS

I knew computer is actually a branch of mathematics, however, I have always been a little scared of mathematics because I don’t have the ability to think logically. So before I studied computer science, I was tangled for a long time and wanted to learn about computers, but I heard that only people with good mathematics can learn it well, and people with poor mathematics It is really not suitable for this major. Many people even suggested that I go to a training class. Anyway, they all learn programming, and lots of theory take in university which is not useful at all. The training class is more professional, saves time, and it is easy to find a job after graduation. But I not only want to learn skill, but also get diploma certificate. But through whole semester, I know DS is one of the important subject.

Discrete mathematics was a graduate requirement course for me when I was doing my masters. In terms of problem solving in programming, it was one of the most helpful courses. It helped me understand Boolean math and apply that logic to the code I write. It allowed me to take a long condition and condense it using boolean math or rewrite it in a smarter shorter way.

Chapter 1: Set Theory

Set theory is basic to the type structure of strongly typed languages. A better understanding of that will help us ensure that we create complete functions and not partial functions in our programming which will allow us to construct the exception conditions we expect. It also helps us learn that once we recognize that our problem can be modeled using sets how to represent them and some of the ways we can more rapidly calculate using simple propositional logic, since fundamentally sets and propositions use the same algebra.

set.jpg

Chapter 2: Function and relation
Functions and relations are fundamental. Programs and methods are functions. Relations are the essence of relational database management systems. If we want to understand how an Relational Database Management System (RDBMS is a DBMS designed specifically for relational databases.) simplifies a query to do it more efficiently we need to learn that math.

CNX_Precalc_Figure_01_01_001.jpg

Chapter 3: Counting And Probability
In daily life, we are often faced with problems involving the calculation. During the execution of a job or task, we think of how many ways may be implemented to complete the work or the task. Problems involving the calculations also exist in the field of computer science. For instance, to estimate the run time of an algorithm, we have to calculate how many times a step or loop to be implemented.

images.jpg.1
Chapter 4: Graph and Tree
Trees and Graphs are the object of study in later courses that teach the analysis of algorithms and the fundamental algorithms to use those to model the real world.

graph in real world.jpg      tree in real life.png

               graph in real world                                                                                               Tree in real world

Chapter 5 Finite Automata
Computer has become a necessary tool in completing many task. However, we need to know whether the task can be performed using the computer or not. In this chapter, there are two parts in the finite state machine: machine with output and machine without output as Finite State Machine(FSM) and Deterministic Finite Automata(DFA). The machine can be used to model other machines such as vending machine, the binary adder and the language identifier.

15-Figure8-1.png

                                  ATM FSM

I still remember my one of classmate said what is the meaning in DS, I didn't get anything, it just waste our time, actually I totally disagreed, I know how important DS is, but I don't haave good answer, or I can say I also did not understand DS well, even though I could solve question. Ok, here is good answer by Noor Faizur Reza

DS can be applied in the requirement analysis period of software development cycle. But usually it is not directly used in any part of Software Engineering. Again, everything changes based on the idea of the software product. Suppose, development of the product needs application of mathematical equations in some part of the cycle. Than discrete mathematics come handy. Programming languages are developed based on DS, hence we can point out the development of the product as an application of discrete mathematics. DS also is the fundamental part of computer science, upon which software engineering stands. It is not directly related to software engineering.