You are on page 1of 14

FPT UNIVERSITY

UNDERGRADUATE DEGREE PROGRAM IN SOFTW


SYLLABUS
(Under Decision No. 1591/QĐ-ĐHFPT dated 6

1 Course Name
2 Course Code
3 No of credits
4 Degree Level

5 Time Allocation

6 Pre-requisite

7 Main objectives

8 Learning Outcomes

9 Student's task
10 Materials

11 Assessment scheme

12 Scoring scale
13 Schedule
14 Examination
15 Date of Approval
16 Approval Level
FPT UNIVERSITY
UNDERGRADUATE DEGREE PROGRAM IN SOFTWARE ENGINEERING
SYLLABUS
(Under Decision No. 1591/QĐ-ĐHFPT dated 6/12/2019)

DISCRETE MATHEMATICS
MAD101
3
Bachelor
Contact sessions (90' each):
- Lectures: 15
- Tutorials: 15
Nil

Upon finishing the course, students must acquire:


1. the following knowledge: (ABET a.1)
• Concepts of logical expressions & predicate logic.
• The method of induction and recursive definition.
• Concepts of algorithms, recursive algorithms, the complexity.
• Recurrence relations and divide-and-conquer algorithms.
• Application of integers and congruence in information technology.
• Set structure and map, counting principles and combinatorics concepts.
• The terminologies and properties of graphs & trees & weighted graphs.
• The applications of graphs, trees and weighted graphs in information technology.

2. the following skills: (ABET a.2)


• Manipulate logical expressions & produce equivalent logical expressions.
• Produce proof of simple mathematical propositions, including applying induction method.
• Evaluate complexity of algorithms.
• Solving simple congruence equations.
• Apply counting techniques in evaluating various set cardinalities.
• Solve counting problems, apply in analyze algorithms.
• Apply graph’s algorithms to solve problems related to graph theory.

LO1. Manipulate logical expressions and use logic for inference


LO2. Perform basic operations on sets, functions and sequences
LO3. Analyze basic algorithms written in pseudo codes and determine theirs complexities
LO4. Discuss applications of modular arithmetic and analyze algorithms on integers
LO5. Use induction and recursive definition to prove a statement or to describe an object, and write recursive algorithms
LO6. Solve counting problems
LO7. Analyze the structure of a graph and find shortest paths in a weighted graph
LO8. Analyze the structure of a tree and describe algorithms using trees

Students must attend more than 80% of contact hours in order to be accepted to the final examination.
Main materials:
1) Student Textbook:
Kenneth Rosen, Discrete Mathematics and its applications. Ed.6 (or 7), Mc.Graw Hill, IE, 2007 http://www.mhhe.com/rosen (ST
2) Teaching Suggestion and Applications of Discrete Mathematics for ST1 (TS).
3) Testbank for ST1.
4) Powerpoint image in CD + Powerpoint prepared by previous lecturers (PP).
5) Computerized tools (for example C programming tools, Maxima http://maxima.sourceforge.net/) (CT)
Other references:
2) Adam Drozdek. Data structure and Algorithms in Java. 3rd Edition.

• Ongoing assessment:
- 03 Progress tests: 30% (a1)
- 03 Assignments: 30% (a2)
• Final Examination 40% (a1, a2)
• Completion Criteria: Every on-going assessment component > 0, Final Result >=5 & Final Exam Score >=4

10
See Appendix 1 for Schedule Detail
See Appendix 2 for Final Exam Detail
ID Learning outcome Sub.ID
LO1.1

Manipulate logical expressions and use logic for LO1.2


LO1
inference LO1.3
LO1.4
LO2.1
LO2.2
Perform basic operations on sets, functions and
LO2 LO2.3
sequences
LO2.4
LO2.5

Analyze basic algorithms written in pseudo LO3.1


LO3
codes and determine their complexities LO3.2
LO4.1
LO4 Discuss applications of modular arithmetic and LO4.2
analyze algorithms on integers
LO4.3
LO5.1
Use induction and recursive definition to prove a
LO5 statement or to describe an object, and write LO5.2
recursive algorithms
LO5.3
LO6.1
LO6 Solve counting problems
LO6.2
LO7.1
LO7.2
LO7 Analyze the structure of a graph and find LO7.3
shortest paths in a weighted graph
LO7.4
LO7.5
LO8.1
LO8.2

Analyze the structure of a tree and describe LO8.3


LO8 algorithms using trees
LO8.4
LO8.5
LO8.6
Sub.ID Learning outcome
Determine the truth value of a proposition; check if two propositions are equivalent; translate between logical expressions
Determine the truth value of a proposition; check if two propositions are equivalent; translate between logical expressions
Manipulate logical expressions with nested quantifiers.
Recognize the inference rules used in a valid statemment; use inference rules to draw conclusions; check if a statement is
Distinguish basic terminologies in set theory; find the power set and cartersian product; represent a subset using binary bi
Perform operations on sets; check if two sets are equal.
Determine if a given rule represents a function; perform operations on functions and manipulate functions inlvolving the fl
Determine if a function is one-to-one, onto or a bijection, and describe how these properties can be used to compare two
Find a formula for a sequence; evaluate a finite sum with a possible use of special summations.
Determine if a procedure is an algorithm; work out basic algorithms written in pseudocodes including searching, sorting an
Find big-O, big-Omega and big-Theta estimates of a function; describe complexity of an algorithm.
Perform integer division and modular arithmetic; apply congruence in generating pseudorandom numbers and in cryptolo
Find the base b expansion of an integer; perform binary operations and modular exponentiation on integers.
Check if a number is prime and find prime factorization of an integer; find greatest common divisor and least common mu
Prove mathematical statements by induction.
Manipulate sequences and sets defined by recursion.
Work out recursive algorithms, including the mergesort algorithm; distinguish between iterative and recursive algorithms.
Use basic rules for counting
Use recurrence relations for counting, including divide-and-conquer recurrence relations.
Classify and describe a graph; use hand-shaking theorem to analyze a graph; identify special graphs including bipartite grap
Represent a graph using incidence and adjacency matrices; determine if two graphs are isomorphic.
Check connectivity of a graph and identify its connected components; count paths in a graph.
Determine if a graph has Euler/Hamilton paths/circuits; find Euler and Hamilton paths/circuits in a graph.
Run Dijsktra's algorithm to determine the shortest paths and the shortest distance in a weighted graph.
Check if a graph is a tree, and identify basic terminologies of a tree; use properties of m-ary trees to solve problems.
Build binary search trees and decision trees; analyze complexities of algorithms described using binary search trees and de
Recognize and construct prefix codes; build optimal trees using Huffman coding.
Traverse a tree and use tree traversal to generate notations; evaluate prefix and postfix expressions.
Run Depth-first search and Breadth-first search algorithms to find spanning trees
Find minimum spanning trees using Prim, Kruskal,... algorithms
Slot Contents

The Foundations: Logic


2 and Proofs

3
4

6 Basic Structures: Sets,


Functions, Sequences,
7 and Sums

10
The Fundamentals:
Algorithms, the Integers
11
12
13

14
Induction and Recursion
15
16
17

18
Counting

19

20

21
Graphs
Graphs
22
23
24
25
26
27
28 Trees
29

30
Assignment
Topics based on version 6e. Learning
(The corresponding topics in version 7e are stated inside the brackets) Outcomes

0 Introduction
1.1 Propositional Logic (1.1 and 1.2, skip the topic on Logic Circuits) LO1
1.2 Propositional Equivalences (1.3, skip the topic on Satisfiability) LO1

Assignment 1 (LO1, LO2)


1.3 Predicates and Quantifiers (1.4) LO1
1.4 Nested Quantifiers (1.5) LO1
1.5 Rules of Inference (1.6) LO1
2.1 Sets LO2
2.2 Set operations LO2
2.3 Functions (2.3, skip the topic on Partial Functions) LO2
2.4 Sequences and Summations (2.4, skip the topic on Recurrence relations) LO2

Progress Test 1 LO1, LO2

3.1 Algorithms LO3


3.2 The Growth of Functions LO3

Assignment 2 (LO3, LO4, LO5)


3.3 Compexity of Algorithms (3.3, skip the topics on Matrix multiplication, Algorithmic
Paradigms) LO3

3.4 The Integers and Division (4.1, 4.5, and the topic on Classical Cryptography 4.6) LO4
3.5 Primes and Greatest Common Divisors (4.3) LO4
3.6 Intergers and Algorithms (4.2) LO4
4.1 Mathematical Induction (5.1) LO5
4.2 Strong Induction (5.2) LO5
4.3 Recursive Definitions and Structural Induction (5.3) LO5
4.4 Recursive Algorithms (5.4) LO5
5.1 The Basics of Counting (6.1) LO6
Assignment 3 (LO6,

7.1 Recurrence Relations (8.1, skip the topic on Dynamic programming) LO6
LO7)

7.3 Divide-and-Conquer Algorithms and Recurrence Relations (8.3) LO6

LO3, LO4,
Progress Test 2
LO5, LO6

9.1 Graphs and Graph Models (10.1) LO7


9.2 Graph Terminology and Special Types of Graphs (10.2) LO7
nment 4 (LO8, LO9)

9.3 Representing Graphs and Graph Isomorphism (10.3) LO7


Assignment 4 (LO8, LO9)
9.4 Connectivity (10.4) LO7
9.5 Euler and Hamilton Paths (10.5) LO7
9.6 Shortest-Path Problems (10.6) LO7
10.1 Introduction to Trees (11.1) LO8
10.2 Applications of Trees (11.2) LO8
10.3 Tree Traversal (11.3) LO8
10.4 Spanning Trees (11.4) LO8
10.5 Minimum Spanning Trees (11.5) LO8

Progress Test 3 LO7, LO8


ITU Student's tasks Teacher's Student's task
levels before class materials after class

TU
TU Textbook Textbook Exercises
TU Chapter 1 Slides Chapter 1

TU
IT
TU
TU Textbook Textbook Exercises
TU Chapter 2 Slides Chapter 2

TU

TU
TU

TU Textbook Textbook Exercises


Chapter 3 Slides Chapter 3
TU
TU
TU
IT
IT Textbook Textbook Exercises
IT Chapter 4 Slides Chapter 4

TU
TU
Textbook Textbook Exercises
TU
Chapter 5, 7 Slides Chapter 5, 7
IT

I
TU
TU Textbook Textbook Exercises
Chapter 9 Slides Chapter 9
Textbook Textbook Exercises
TU Chapter 9 Slides Chapter 9

TU
TU
IT
Textbook Textbook Exercises
TU Chapter 10 Slides Chapter 10
TU
TU
TU
Back to Syllabus APPENDIX 2: ASSESSMENT STRUCTURE
Number
Type of of
# Catergory Part Weight Time
questions question
s

Assignments/ At least 5/
1 3 30% at home Open
Exercises chapter

15
MC or a
30 questions
2 Progress Test 3 30% suitable
minutes within 30
format
minutes

3 Final Exam Computer


Only one part 40% 60' 50
gradable
ASSESSMENT STRUCTURE

Scope How Note

guided by
instructor
in class, Students use
Chapters introduced completed by notebooks for
students at exercises
home, submitted
by deadline

Instruction and
shedules for
Progress tests must
be presented in the
Course
Implementation
Plan approved by
director of the
by instructor,
campus.
and by
Chapters introduced suitable means
Progress test must
(computer,
be taken right after
paper, oral...)
the last lectures of
required material.

Instructor has
resposibility to
review the test for
students after
graded.

All studied chapters.


At least 6 ~10% of
questions/chapter by Exam Board questions is a2
objective oriented

You might also like