CSCI 301 - Midterm Exam Study Guide

Exam Details

For practice problems, see the Racket practice problems, and the in-class exercises (linked as ws from each day’s lecture on the Schedule table). See also the exercises for BoP Chapters 1-2 and 4-10; odd numbered exercise solutions are in the back of the book.

Course Outcomes:

The course outcomes relevant to this exam are the following, with some parts crossed out that we haven’t covered yet:

  1. Thorough understanding of the mathematical definitions of concepts important to computer science, including sets, tuples, lists, strings, formal languages, functions and relations.
  2. The ability to prove basic theorems involving these mathematical concepts including proofs by contradiction and inductive proof
  3. The ability to employ effectively the functional programming style in a functional programming language

Per-Lecture Goals

Sets 0
Racket 0
Sets 1
Racket 1
Racket 2
Sets 2
Logic 1
Logic 2
Logic 3
Logic 4
Direct Proof
Contrapositive Proof
Proof By Contradiction
Proving Non-Conditional Statements
Proof by Induction