arrowThe Left Navigation Bar:
Links to class syllabus, assignments, projects, examples,
web tools, downloads, & more (possibly useful) information.
Note: Links are specific to course.


Welcome to CS 201, Discrete Structures!

Hi! Please Start Here:

 

n.b. The above video is a general introduction to this online course, please the see my current home page, current course home page, and current D2L course shell for current semester office hours and syllabus for current semester course requirements. There are no collaboration assignments this semester due to the lack of a "persistent history" in the Google Chat Space, but you may use the space to work together.

 

This course is an introduction to mathematical terminology and concepts, which are utilized in computer science. It is a foundation for a logical approach to problem solving.

It includes an introduction to the fundamental number theoretic, logical, algorithmic, combinatoric, and computational concepts from discrete structures and their applications to computer science. This course involves no programming.

Course Prerequisites: MATH-173 minimum grade of C or MATH-104 minimum grade of C

 

Web site content is subject to change, consider checking this page at least twice weekly.

blocks

 

Computer Science Tutors:

Computer Science Tutor Information: https://cs.neiu.edu/pkimmel/cstutoring/

Student Center for Science Engagement (SCSE)Computer Science Tutor Information:
https://www.neiu.edu/academics/our-centers-and-programs/student-center-science-engagement
(the link to tutoring is on the right side near the bottom of the page)

See the Programming Sequence Google Chat Space for the Peer Leader Team Schedule as well as locations and updates to both tutoring and peer leader availability.
If you do not have access to the chat space, please email me and I will invite you.

blocks

 

Along with your textbook,
(The textbook information: Discrete Mathematics and Its Applications, 8th Edition - By: Kenneth H. Rosen - McGraw-Hill, 2011. ISBN: 978-1-259-67651-2 )
additional supply requirements to bring to every class
: pencil with eraser, black pen, and red pen.

 


 

You are responsible for the reading that is assigned in the syllabus and listed below in the Weekly Schedule.

blocks

Weekly Schedule: reading assignments,written assignments,virtual assignments...

The sign of a prepared student, textbooks in hand, along with materials for note-taking, ready at the first class.


 

 

Quick Links to:

Week 01 :: Week 02 :: Week 03 :: Week 04 :: Week 05

Week 06 :: Week 07 :: Week 08 :: Week 09 :: Week 10

Final Exam

 

 


Week # 1 - (5.20.24 - 5.26.24)

PREREQUISITE REVIEW

Please take the following quiz based on prerequisite college algebra skills: Do you remember your algebra skills?,
then email it to me (subject line: CS 201 > My memories of algebra) - making sure to show all your work.
I will reply with the solution. Then, from there...

Need Some Algebra Review?

More Algebra Review

 

 

COMMENCE (begin here) CS201 - DISCRETE STRUCTURES COURSE

Read Chapter 1: 1.1 Propositional Logic and 1.3 Propositional Equivalences

Print the following to be completed while following mini lectures:
 
- Lecture Outline/Worksheet: 1.1 and 1.3

- Truth Tables: empty templates - print at least 2 copies

Welcome to class! What is Discrete Math?

What is logic? And What is a proposition?
;-) as defined in math

Logic: The Details - Part I
(variables, truth values, connectives...)

Logic: The Details - Part II
(connectives continued (ones used for arguments), some practice and then the Logic Operator Precedence table)

Print a copy of the Java Operator Precedence Table and compare it to PEMDAS(Both files are located in the Reference Section of the navigation bar at the top left.) as well as the logic operator precedence you are about to learn about in the show below.

Logic: The Details - Part III
(building a truth table - time to post what you have learned so far)

Want to practice your truth Table skills?

Test your truth table skills.

Logic: applied to bit operations
(how bits are manipulated by computer circuits)

Boolean Algebra Bonus!

A preview of how this math used in CS 301: Computer Organization

1. For your interest, learn about Boolean Logic & Logic Gates, George Boole and more about George Boole as the inventor of Boolean Logic.

2. View the Huntington Postulates:

3. View a brief explanation of Duality:

4. Review this complete list of Boolean Indentities and Operator Precedence (including notation used).

Propositional Equivalences: the terms to know

One last argument...

 

 

You have reached the end of this module! 😎
Please submit your completed Lecture Outline/Worksheets for this module now.
For all work that is required to be submitted in this course, please submit as .pdf files.

Upon successful completion of this module, you have met the course objective(s):
 
Construct truth tables and evaluate compound logical statements, including being able to determine the validity of a given argument.

 

 


Week # 2 - (5.27.24 - 6.02.24)

Monday, May 27, 2024 - Memorial Day Holiday - University Closed/No Classes

Read Chapter 1: 1.2 Applications of Propositional Logic, 1.4 Predicates and Quantifiers, and 1.5 Nested Quantifiers

Print the following to be completed while following mini lectures:
 
- Lecture Outline/Worksheet: 1.2

- Lecture Outline/Worksheet: 1.4

- Lecture Outline/Worksheet: 1.5

Why should I be logical?

If you have difficulty hearing the game, use this link instead: Golden Balls

Let's look at logic in action in the conditional statements used in branching decision structures in Java...

Time to practice with compound logic statements as applied to Java programming!

How does logic apply to hardware circuitry?

Bonus! Watch this: Building a half adder circuit on a bread board (see how a logic diagram becomes a real circuit)

A Review of Number Types, an English Lesson and onto Predicate Logic

Predicate Calculus: Quantifiers

Some fun things to think about... Post your thoughts on this exercise.

Predicate Calculus: Nested Quantifiers

 

 

You have reached the end of this module! 😎
Please submit your completed Lecture Outline/Worksheets for this module now.
For all work that is required to be submitted in this course, please submit as .pdf files.

Upon successful completion of this module, you have met the course objective(s):
 
Determine a truth set for a predicate logic statement
Understand and work with universal and existential quantifiers.
Determine a truth set or counter-example for a quantified logic statement

 

 


Week # 3 - (6.03.24 - 6.09.24)

Read Chapter 1: 1.6 Rules of Inference and 1.7 Introduction to Proofs

Print the following to be completed while following mini lectures:
 
- Lecture Outline/Worksheet: 1.6

- Lecture Outline/Worksheet: 1.7

- Logic: Using The Rules Of Inference - Proof Example

One Last Argument! ;-)
(using a truth table)

Before you go further, try this puzzle!
It will give you a better understanding of the implication "->"

A Logic Puzzle

Terms, a Classic Argument, and an Introduction to Rules of Inference: Modus Ponens

Rules of Inference
(worksheet includes truth tables to test the argument as well)

Watch another video introduction to Rules of Inference!

Intermission
(try this puzzle)

Introduction to Proofs
(and a review of the ones we have already been using)

 

 

You have reached the end of this module! 😎
Please submit your completed Lecture Outline/Worksheets for this module now.
For all work that is required to be submitted in this course, please submit as .pdf files.

Upon successful completion of this module, you have met the course objective(s):
 
Set up a logic argument and test its validity using a truth table and the Rules of Inference.
Understand the difference between direct proofs and proofs by contradiction.

 

 


Week # 4 - (6.10.24 - 6.16.24)

Before you start this week's module...
(GIGO, EC, and more)

Read Chapter 2: 2.1 Sets

Print the following to be completed while following mini lectures:
 
- Lecture Outline/Worksheet: 2.1

Print a copy of the Primitive Data Types (including range) .pdf file in the Reference Section of the navigation bar at the top left.

Sets. What are they?
(sets defined)

Sets. The Symbols.
(set notation)

Sets. The Symbols.
(cardinality)

Sets. The Symbols.
(Power Sets)

Sets. The Symbols.
(Cartesian Products)

Sets. The Symbols.
(such that?)

Sets. Let's Talk About Them...
(methods for describing sets)

At this point, complete the assigned problems in the worksheet, then watch the following video for solutions to selected problems.

Sets. Some solutions...
(use these answers to check/correct your work with red pen)

To save you from "Googling" ...
(a few more videos on sets)

Watch a video introduction to sets, subsets, and list (AKA roster) notation

Watch another video on sets and subsets

Watch a video on Cartesian Products and Cardinality

You have reached the half way point of this module! 🍕
Please take a break - then keep going!

While you are taking a break...I can read your mind. <-- Try this!

 

 

Week # 4 - (Continued)

Read Chapter 2: 2.2 Set Operations

Print the following to be completed while following mini lectures:
 
- Lecture Outline/Worksheet: 2.2

- Venn Diagrams: Sample Problems

- Venn Diagrams: Blank Worksheets - print 3 copies of this document

- Word Problem: Using Sets

Venn Diagrams
(illustrating relationships among sets)

 

FYI: Venn Diagrams with more than 3 sets (scroll to near bottom of article)

 

Venn Diagrams: Operators/Connectives
(numbered region technique)

Venn Diagrams: more to know
(disjoint, set identities, order of operations)

Who went to the Taste of Chicago?
(a word problem using a Venn Diagram AND the Principle of Inclusion/Exclusion)

Ordering and Multisets
(real world data)

Computer Representation of Subsets
(the bit string)

Fuzzy Sets
(closer to human thinking)

At this point, complete the assigned problems in the worksheet, then watch the following video for solutions to selected problems.

Sets Practice
(use these answers to check/correct your work with red pen)

To save you from "Googling" ...
(a few more videos on Venn Diagrams)

Watch a video to solve a word problem using a Venn Diagram!

Watch a video to solve a another problem using a Venn Diagram!

 

 

You have reached the end of this module! 😎
Please submit your completed Lecture Outline/Worksheets for this module now.
For all work that is required to be submitted in this course, please submit as .pdf files.

Upon successful completion of this module, you have met the course objective(s):
 
Work with sets and set operations as well as Venn diagrams.
Create a set using both list and set-builder notation.
Determine the cardinality and content of a Power Set.
Utilize Venn Diagrams to illustrate a relationship between sets.

 

 


Week # 5 - (6.17.24 - 6.23.24)

Wednesday, June 19, 2024 - Juneteenth Holiday - University Closed/No Classes

Read Chapter 2: 2.4 Sequences & Summations

Print the following to be completed while following mini lectures:
 
- Lecture Outline/Worksheet: 2.4 Sequences and Summations

Sequences
(introduction)

Sequences
(pattern recognition for creating functions)

 

Check this out...pattern recognition > create a function for a sequence

 

Sequences
(Strings)

 

At this point, try the assigned problems on your own, then watch the solutions to check your work.

 

Sequence Practice
(use these answers to check/correct your work with red pen)

 

Check this out...Can you guess the pattern?
Post your answer and reasoning in the course Google Chat Space (it might be worth extra credit ;-)

 

More Sequence Practice
(use these answers to check/correct your work with red pen)

 

Story Time! The Fibonacci Sequence: A Tale of Two Rabbits
(This is an example of a recursive function.)

 

Sequence Practice: a recursive sequence and more advice and solutions...
(use these answers to check/correct your work with red pen)

 

Watch this: What is the rule?
(to help you find a rule)

 

 

Watch this: Logic Sequencing Problem
(analytical reasoning)

 

Summation and Product Notation
(including nested summations and shortcuts)

 

 

You have reached the end of this module! 😎
Please submit your completed Lecture Outline/Worksheets for this module now.
For all work that is required to be submitted in this course, please submit as .pdf files.

Upon successful completion of this module, you have met the course objective(s):
 
Evaluate expressions with summation and product notation as well as use these in their own work.
Recognize a pattern and determine an appropriate mathematical expression to describe it.
Recognize a recursive function, and be able to solve for a particular value as determined by input.

 

 

Withdraw Deadline

If you choose to terminate participation in a class, and wish to receive a grade of withdrawn (W), the deadline to drop a course is Friday, 6.28.24 by 11:59 p.m., via NEIUport. If you do not officially withdraw from a class, you will still receive the grade for the course. Please email me or stop by during office hours to discuss your performance in class before making this decision.

 

 


Week # 6 - (6.24.24 - 6.30.24)

Read Chapter 3: 3.1 Algorithms

Print the following to be completed while following the Algorithms PowerPoint:
 
- Lecture Outline/Worksheet: 3.1 Algorithms

Print a copy of the Flowchart Symbol .pdf file and ASCII Code Table (Latin Subset of Unicode) from the Reference Section of the navigation bar at the top left.

Watch this one first:
 
- Algorithms (It is a silent PowerPoint. Why? I don't want to distract you while you are thinking.)
 
Then watch these ways to determine the work and efficiency of an algorithm)
(add notes to the the Lecture Outline/worksheet)
 
- Big O Notation in 5 minutes
 
- Big O Notation and the carrier pigeon
 
- Big O Notation with code examples
 
Then read to understand what a logarithm is:
 
- Intro to Logarithms (mathisfun)
 
- Intro to Logarithms

Keep it simple, go to: www.bigocheatsheet.com and print the page.

Read: Sorting Algorithms: Slowest to Fastest!
or here is another one: Sorting Algorithms

Watch a visualization of some sorting algorithms:
 
- Bubble Sort
 
- Insertion Sort
 
- Merge Sort
 
- Quick Sort
 
- Selection Sort

Let's solve a problem together!
(using flowcharting)

Task to complete in addition to the Lecture Outline/Worksheet, solve any ONE of the algorithms from the first page except the ones that were already demonstrated as part of this week's content.

Raptor

Check it out!
You can test your flowchart using:
RAPTOR:Flowchart Interpreter

 

 

You have reached the end of this module! 😎
Please submit your completed Lecture Outline/Worksheets for this module now.
For all work that is required to be submitted in this course, please submit as .pdf files.

Upon successful completion of this module, you have met the course objective(s):
 
Think logically and apply concepts of discrete mathematics to applications and future computer science courses.

 

 


Week # 7 - (7.01.24 - 7.07.24)

Thursday, July 4, 2024 - Independence Day Holiday - University Closed/No Classes

Read Chapter 4: 4.1 Divisibility & Modular Arithmetic, 4.2 Integer Representation & Algorithms, and 4.3 Primes & Greatest Common Divisor, and Number Systems (lecture)

Print the following to be completed while following mini lectures:
 
- Lecture Outline/Worksheet: Chapter 4 - Number Theory

- Positional Number Systems - Expanded Notation Reference Chart

- Bit Strings and Base Conversions Between Binary and Hexadecimal, and Binary and Octal

- Signed Integer Registers

- Floating Point Registers

- Practice Problems: Number Systems

- Practice Problems: Floating Point Notation and Using Registers

Print a copy of the web pages referencing Tally Marks and Roman Numerals in the Reference Section of the navigation bar at the top left.

Watch before class this week:
 
- Zero - odd or even
 
- Zero - History
 
- Zero - Found!

For your interest: The Hindu-Arabic Numerals (the history of numbers)

Number Theory
(with a bit of Algebra review)

The videos to supplement the above video:
Euclidean Algorithm
Hindu-Arabic numeral system (a personal favorite)
History of Mathematics : Who Invented the Number System? (Why do we need to learn binary and hexadecimal?)

Number Systems
(symbols used and conversion between bases)

What is a register?
(integer registers, 2's complement method for negative integers, and an introduction to the floating point register conceptually)

 

 

You have reached the half way point of this module! 🍕
Please take a break - then keep going!

While you are taking a break, play a game to practice your binary/hexadecimal skills: Play FLippy Bit (desktop version)
or for android
or for iOS

 

 

More videos to practice concepts covered this week:

Binary numbers, Octal, and Hexadecimal number conversions (review)

Signed number arithmetic

1. Basic addition in any base of a positional number system

Storing negative integer values? Use the 2's complement method

Watch this presentation (and the included videos)
IEEE format for float (single precision) data type

How does a computer store a floating point number utilizing the IEEE standard format?

Once you have watched the above video - be the first to post a correct sample solution to determine the decimal value of this float IEEE format register:
1 1000 0001 0111 0000 0000 0000 0000 000
for +2 pts. ec

 

 

You have reached the end of this module! 😎
Please submit your completed Lecture Outline/Worksheets as well as all the supplemental practice sheets for this module now.
For all work that is required to be submitted in this course, please submit as .pdf files.

Upon successful completion of this module, you have met the course objective(s):
 
Think logically and apply concepts of discrete mathematics to applications and future computer science courses.

 

 


Week # 8 - (7.8.24 - 7.14.24)

Read Chapter 6: 6.1 The Basics of Counting, 6.2 The Pigeonhole Principle and 6.3 Permutation and Combinations

Print the following to be completed while following mini lectures:
 
- Lecture Outline/Worksheet: Chapter 6 - Counting

The basics of counting
(a nostaligic look at the math you already know)

Please enjoy this nostaligic view of counting: Counting the licks to the center of a Tootsie Pop

Permutations and Combinations
(ordering versus choosing)

The Pigeonhole Principle
(distribution of objects - the maximum amount in at least one box)

Counting Practice
(use these answers to check/correct your work with red pen)

 

 

You have reached the end of this module! 😎
Please submit your completed Lecture Outline/Worksheets for this module now.
For all work that is required to be submitted in this course, please submit as .pdf files.

Upon successful completion of this module, you have met the course objective(s):
 
Perform counting problems using combinations, permutations, the pigeonhole principle, and inclusion-exclusion.

 

 


Week # 9 - (7.15.24 - 7.21.24)

Read Chapter 7: 7.1 An Introduction to Discrete Probability and 7.2 Probability Theory

Print the following to be completed while following mini lectures:
 
- Lecture Outline/Worksheet: Chapter 7 - Discrete Probability

Introduction to Probability: Part I
(terms and concepts)

Introduction to Probability: Part II
(all events: from impossible to certain, solving for A', Addition Law of Probability and the union of 2 or more events)

Another example of inclusion/exclusion as applied to probability:

example of inclusion/exclusion

Let's take a break from learning new concepts...and let's see if you can apply what you know at this point.
Please complete the the worksheet page "What have you learned thus far?"
then watch the following video.

What have you learned thus far about probability?
(use these answers to check/correct your work with red pen)

Introduction to Probability: Part III
(conditional probability,independent events,compound experiments, repeated trials, Bernoulli Trials and the Binomial Distribution)

Let's take a break from learning new concepts...and let's see what you know.
Please complete the the worksheet page "Let's Review..."
then watch the following video.

What is the probabilty that you now fully understand Probability?
(use these answers to check/correct your work with red pen)

At this point, how well do you understand probability?
The first to post the correct solution this question (+2 pts. ec)
Random Experiment: Draw a ball from a bag that has 2 red balls, 3 yellow balls, and 1 blue ball.
Repeated trial: 10 times (note: ball is placed back in the bag for the next trial)
Draw a red ball at least 2 times.
There are actually 2 ways to solve this one - the easy way and the hard way - so 2 students can potentially earn +2)

 

 

You have reached the end of this module! 😎
Please submit your completed Lecture Outline/Worksheets for this module now.
For all work that is required to be submitted in this course, please submit as .pdf files.

Upon successful completion of this module, you have met the course objective(s):
 
Understand basic notions of probability.
Determine the probability of a random experiment, compound experiment, and Bernoulli trial

 

 


Week # 10 - (7.22.24 <- LAST DAY OF CLASSES AND FINAL EXAM)

Read Chapter 5: 5.1 Mathematical Induction and 5.3 Recursive Definitions

Print the following to be completed while following mini lectures:
 
- Lecture Outline/Worksheet: Chapter 5 - Mathematical Induction and Recursive Definitions

- Proof By Mathematical Induction Worksheet - print 5 copies of this document

Mathematical Induction
(the concept and reasoning)

Example 1
(The sum of the first 'n' odd natural numbers is equal to n2)

 

Before watching Example 2, try to solve the conjecture on your own.

Example 2
(The sum of the first 'n' natural numbers is equal to (n(n+1))/2)

 

Before watching Example 3, try to solve the conjecture on your own.

Example 3
(working with inequalities)

 

When completing the homework problems, utilize the Proof By Induction (3 step) worksheet.

 

Recursive Functions
(defined and a brief "how to" lesson)

Recursive Functions
(setting up a function to call itself - utilizing stack frames)

recursive image

 

 

 

 

Watch a recursive function demonstrating factorial!

 

 

Final Exam

Location: The exam will be posted in the course D2L as .pdf file to complete, then you will place your answers in the D2L test. Complete the .pdf file - then open and start the D2L test.
Available: 7.22.24 at 12:01 a.m.
Due: 7.23.24 by 11:59 p.m.
Allowed time: 120 minutes (2 hours) once started
(it is your responsibility to set a timer and use only 2 hours for working on the .pdf exam)
You may use your textbook and notes. Then, upon completion of the .pdf exam and D2L Test, return a copy of your completed .pdf file by the due date(as an email attachment)
with your hand-written solutions (answers only do not receive credit),
in the page order that the document was sent to you.
After grading the D2L test, I will review your handwritten test for partial credit, in other words, you used the correct process to solve the problem but made a simple math error.
subject line: CS 201 > completed paper quiz

 

 

You have reached the end of this module! 😎
Please submit your completed Lecture Outline/Worksheets for this module now.
For all work that is required to be submitted in this course, please submit as .pdf files.

Upon successful completion of this module, you have met the course objective(s):
 
Think logically and apply concepts of discrete mathematics to applications and future computer science courses.
Understand proof by induction and be able to use it on simple examples.
Recognize a recursive function, and be able to solve for a particular value as determined by input

 

 

NEIU Home :: NEIUport

web page updated: 7.17.24