• This is a freshman-level course that will introduce you to some important ideas about logic, reasoning, and math related to computer programs. It is the first of a few courses in the Computer Science degree that separates hackers/hobbyists from people who know what they're doing.
  • The schedule on this page lists the topics we will cover by date.

Required Materials

  • Laptops will be required in class. Please bring your laptop to class every day. We'll be using them for activities.
  • We will not use a textbook for this course. All lecture notes and supplementary materials are available online (links below in schedule).

Office Hours

  • Doyle 309
  • Monday: Noon - 1PM
  • Thursday: 2 - 3 PM
  • Or by appointment


  • Treat this course like a job where your trying to get promoted. If you show up and do your work, you will get a good grade.
  • NO LATE WORK WILL BE ACCEPTED. However, I will drop the lowest two homeworks and quizzes before computing final grades at the end of the semester.
    • Homework: 35 %
    • Participation: 10 %
    • Quizes: 25 %
    • Midterm: 15 %
    • Final: 15 %
    Percentage Letter Grade
    91+ A
    89-90 A-
    87-88 B+
    77-86 B
    75-76 B-
    73-74 C+
    62-72 C
    60-61 C-
    50-59 D
    Below 50 F

Scheduling Conflicts

  • If you have a (legitimate) scheduling conflict with a quiz or exam, it is possible to schedule a makeup session. You must let me know at least two weeks prior to the quiz/exam date. Legitimate scheduling conflicts include religious observances.
  • LUC's academic calendar can be found here.

Mandatory Reporter Statment

  • Each faculty and staff member at Loyola University Chicago is required to report any incidents of gender-based misconduct that they are made aware of, even if it happened in the past. Gender-based misconduct includes discrimination based on actual or perceived sex, sexual orientation, gender expression or identity, or pregnancy or parenting status; dating and domestic violence; sexual misconduct (including sexual assault, sexual harassment, and sexual exploitation); and stalking.


  • No collaboration is permitted on exams or quizzes.
  • Collaboration, but not copying, is encouraged on homework assignments. If you obtain a solution through research, e.g., in the library or online, cite your source completely and write up the solution in your own words.

Course Schedule


Date Topic Details
08/27 Introduction Course Overview
Further reading:
08/29 Sets & SQL Lab Further reading:
Activity: Database fun
09/03 Functions, Linear Operators (Sum), convexity Homework 1 Assigned
Further reading:
  • Video: Function Properties (Khan Academy)
  • probabilitycourse.com 1.2.4
  • Video: Invertibility (Khan Acadmey)
  • 09/05 Counting & Permutations/Combinations Quiz 1: Sets & Functions
    Further reading:
    09/10 Propositions Neil out of town
    Homework 1 Due
    Homework 2 Assigned
    Neil out of town
    09/12 Binary Number Rep. & Modular Arith Neil out of town
    Homework 6 Assigned
    Homework 5 Due
    Further reading:
    • Mano & Ciletti 1.2-1.6,1.8
    Further reading:
    09/17 Probability: Axioms, Discrete PMFs Quiz 2: Functions
    Further reading:
    Activity: coin flipping experiment
    09/19 Probability: Bayes' Rule
    09/24 Quantifiers, Proofs Homework 3 Assigned
    Homework 2 Due
    09/26 Induction Quiz 3: Probability
    Further reading:
    10/01 Recursion
    10/03 Boolean Algebra & Karnaugh Maps Homework 4 Assigned
    Homework 3 Due
    Further reading:
    • Mano & Ciletti 2.1-2.5, 3.1-3.3
    Activity: Experiment with logic gates in logic.ly
    10/08 Logic Function Implementation Quiz 4: Proofs, including induction
    Further reading:
    • Mano & Ciletti 3.5-3.9
    Activity: Build an adder in logic.ly
    10/10 Finite State Machines & Sequential Logic Homework 5 Assigned
    Homework 4 Due
    Further reading:
    Activity: Build a counter in logic.ly
    10/15 No Class
    10/17 Flip Flops & FSM Implementations Quiz 5: Boolean Logic & State Machines
    Further reading:
    • Mano & Ciletti 5.1-5.5
    10/22 Regular Expressions Homework 4 Due
    Further reading:
    Activity: RegEx in vim
    10/24 Exam review
    10/29 Midterm Exam
    10/31 Graphs & Trees Homework 5 Assigned
    Further reading:
    Activity: Linux distro dependence graphs
    11/05 Turing Machines und der Entscheidunsproblem. Ja. Quiz 6: Graphs
    Further reading:
    11/07 Crypto Basics Quiz 7: Binary Number Representations
    Further reading:
    11/12 Euclid's Algorithm Homework 7 Assigned
    Homework 6 Due
    Further reading:
    Activity: Algorithm for sending cash in the mail. Experimentally determine order of operations for Euclid's Algo
    11/14 Binomial Theorem, Pascal's triangle Quiz 8: Crypto
    Further reading:
    11/19 Matrix fun! Addition, subtraction, inner product Homework 8 Assigned
    Homework 7 Due
    Further reading:
    11/21 Matrix fun! Gaussian elimination Quiz 9: Basic matrix operations
    Further reading:
    11/26 Matrix fun! Projectors & Factorization Homework 9 Assigned
    Homework 8 Due
    Further reading:
    11/28 Thanksgiving: No Class
    12/03 Final Exam Review
    12/05 Final Exam