• 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
  • Tuesday: Noon - 1PM
  • Thursday: 1 - 2 PM
  • Or by appointment
TA Tyler Arndt


  • Treat this course like a job where you are 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 | solutions
    Quiz 1 Study Topics
    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
    Quiz 2: Counting and Propositions | solutions
    Quiz 2 Study Topics
    Further reading:
    09/17 Modular Arithmetic & Bitwise Logic Homework 3 Assigned
    Homework 2 Due
    09/19 Probability: Axioms, Discrete PMFs Quiz 3: Binary Number Representations | solutions
    Further reading:
    09/24 Probability: Bayes' Rule Homework 4 Assigned | solutions
    Homework 3 Due
    Further Reading:
    09/26 More probability Activity: Coin Flipping Experiment
    10/01 Quantifiers, Proofs Homework 5 Assigned
    Homework 4 Due
    Further Reading:
    10/03 Induction Quiz 4: Probability | solutions | Study Guide | Solutions
    Further reading:
    10/08 No Class
    10/10 Recursion Homework 5 Due
    Further Reading: Activity: Recursion in Python
    10/15 Exam review Practice Midterm | Solutions
    10/17 Midterm Exam
    10/22 Boolean Algebra & Karnaugh Maps Further reading:
    • Mano & Ciletti 2.1-2.5, 3.1-3.3
    Activity: Experiment with logic gates in logic.ly
    10/24 Logic Function Implementation Further reading:
    • Mano & Ciletti 3.5-3.9
    Activity: Build an adder in logic.ly
    10/29 Finite State Machines & Sequential Logic Further reading:
    Activity: Build a counter in logic.ly
    10/31 Flip Flops & FSM Implementations Further reading:
    • Mano & Ciletti 5.1-5.5
    11/05 Regular Expressions Further reading:
    11/07 More RegEx Activity: RegEx in vim | hermes.c
    11/12 Graphs & Trees Homework 6 Assigned
    Further reading:
    Activity: Linux distro dependence graphs
    11/14 Turing Machines und der Entscheidunsproblem. Ja. Quiz 5 | Practice Problems
    Further reading:
    11/19 Crypto Basics Homework 6 Due
    Homework 7 Assigned
    Further reading:
    11/21 Matrix fun! Addition, subtraction, inner product Quiz 6 | solutions Further reading:
    11/26 Matrix fun! Gaussian elimination Homework 7 Due
    Further reading:
    11/28 Thanksgiving: No Class
    12/03 Final Exam Review Practice Final
    12/05 Final Exam