CS 5002 Syllabus
CS 5002 Syllabus
General Information
This course introduces the mathematical structures and methods that form the foundation of
computer science. We will study basic logic, proof techniques, functions, number theory,
algorithms, graphs and trees. We will discuss counting techniques and apply the techniques to
estimate the size of sets, the growth of functions, and the time complexity of algorithms. We will
examine inductive and recursive definitions of structures and functions, as well as data structures
such as arrays, lists, maps, stacks, and queues.
Learning Objectives
At the end of CS 5002, a student should be able to do the following:
1. Convert between decimal, binary, and hex.
2. Understand two’s complement representations of negative numbers.
3. Read and write mathematical logical formulas.
4. Use logical operators effectively.
5. Understand the set operators of union, intersection, and complement.
6. Understand relations and functions.
7. Perform basic counting tasks - e.g. counting possible passwords - using permutations and
combinations as appropriate.
8. Calculate basic probabilities by counting success outcomes and total outcomes.
9. Apply proof techniques, particularly mathematical induction.
10. Model problems using trees and graphs.
11. Describe the number of operations in an algorithm as a function of the input size, and
identify superpolynomial running times as intractable.
12. Understand the meaning of big-O notation.
Required Textbook:
Discrete Math and Its Applications by Kenneth Rosen (8th ed)
You have the following two choices for the format of the textbook:
1. Textbook only
2. Online Learning System “Connect”: (10-day free trial / $106)
Course Websites: We will use three websites for this course:
1. NEU Blackboard for communicating grades. It contains links to the other two websites.
2. Piazza for discussions, communicating with the instructor and teaching assistants. Class
slides, homework solutions, quiz solutions, exam reviews, etc. will be posted here.
3. (Optional) Connect for electronic textbook, homework assignments, learning activities
Meeting Time: Friday 6:00 PM - 9:15 PM (Local Time — Pacific Time)
Teaching Assistants:
● Rajesh Sakhamuru
● Suyue Jiang
● Tuan Nguyen
● Yibao Hu
● Yuting Chen
● Zach Roney
Office Hours:
Monday 10 AM - 1 PM Raj
1 PM - 4 PM Tuan
4:15 PM - 6 PM Zach
10 AM - 1 PM Suyue
2 PM - 5 PM Yibao
Friday 2 PM - 5 PM Sarah
1. Homework Assignments: will be released no later than Wednesday by 11:59 PM. It is due
the following Wednesday by 11:59 PM. Everyone will get one token for late homework. If you
use a late homework token, your due date will be extended for a week. If you need a homework
extension, please notify me and teaching assistants by a private message on piazza. Additionally,
the lowest homework score will be dropped.
Under no circumstances may you share written answers or code (including electronically)
or dictate answers verbatim to another student. This will be considered plagiarism, see
section "Academic Integrity" below.
2. Quizzes on Fridays: Research shows that frequent quizzes is one of the most effective ways
of learning. Therefore, we will have a quiz every Friday except on 10/18/2019 and 12/06/2019.
Quizzes are closed book quizzes. The lowest quiz score will be dropped. There are no make-up
quizzes for any reason.
3. Exams are closed book exams. The midterm exam is scheduled on Friday October 18th, and
the final exam is scheduled on Tuesday December 10th, 2019.
Important: You are required to take the final exam during the scheduled time. Please do not
make travel plans during the final exam week
Letter grades will only be determined by the following criteria: “A”s going to outstanding work,
“B”s going to good but flawed work, “C”s going to problematic work that nevertheless gets the
key concepts, “D”s going to work where you’ve learned at least some things, and “F”s going to
work that doesn’t show the concepts were learned.
You are expected to treat your instructor and all other participants in the course with courtesy
and respect. Your comments to others should be factual, constructive, and free from harassing
statements. You are encouraged to disagree with other students and the instructor, but such
disagreements need to be respectful and be based on facts and documentation (rather than
prejudices and personalities). Part of the learning process in this course is respectful engagement
of ideas with others.
Academic Integrity:
You should be familiar with Northeastern’s Academic Integrity policy. I will highlight two ways
in which it applies here:
(1) You may not search the web for homework solutions;
(2) You may not copy solutions to homework problems in any case.
You will generally know a homework solution, as opposed to general web research, when you
see it. This includes homework solutions posted for other discrete mathematics classes, students
at other universities posting their work, or using any kind of web tool that automatically solves a
problem you were meant to do by hand.
Copied solutions, from the web or other students, may result in a zero on the corresponding
assignment, or harsher penalties if the problem is more widespread in your work. Students who
share their solutions will face similar penalties.
Attempts to violate the spirit of the rules listed here with loopholes will generally be received
unkindly and treated as integrity violations anyway.
.
Course Schedule:
Date Topics
11/08 Recursion
Relations
1. Reflexivity, symmetry, transitivity
2. Equivalence relations, partial
orders
Functions
1. Surjections, injections, bijections
Inverses
2. Composition
Course Topics Learning Outcomes
The Pigeonhole Principle Apply the pigeonhole principle in the context of a formal proof.
[Usage]
Trees and Graphs (tie with Structural 1. Illustrate by example the basic terminology of graph
Induction) theory, as well as some of the properties and special cases
of each type of graph/tree (unrooted, rooted, binary, not
binary). [Familiarity]
2. Demonstrate different traversal methods for trees and
graphs, including pre-, post-, and in-order traversal of
trees. [Usage]
3. Model a variety of real-world problems in computer
science using appropriate forms of graphs and trees, such
as representing a network topology or the organization of
a hierarchical file system. [Usage]