# INFO 150, Fall 2019

## Course Goals:

The primary goal is to teach students to think mathematically and, importantly, to communicate their thinking to others using mathematical language. The emphasis is on the type of computational thinking needed to build and analyze systems for solving problems in real-world domains.

## Course Objectives:

Students will be able to

• Use recursive thinking and pattern identification to analyze complex problems, games, puzzles, numerical sequences, algorithms, and more.
• Use the tools of mathematical logicâ€”truth tables, predicates, implicationsâ€”to reason about the world in a precise manner, to analyze arguments, to solve puzzles, and to better understand computer programming languages
• Communicate via fluent mathematical writing, and be able to both read and write mathematical proofs based on induction and contradiction.
• Apply their reasoning and proof skills to analyze properties of numbers, sequences, and other mathematical objects.
• Understand, analyze, and manipulate functions, relations, and sets, and connect these to the practical concepts of computer programs and data.
• Apply the tools of combinatorics to count the number of objects that satisfy some specified set of conditions.
• Understand and apply the basic rules of discrete probability to compute probabilities and expected values in games of chance and statistical sampling; appreciate the use of computer simulation for estimation of complex probabilities.
• Perform basic operations on—and analyze properties of—matrices and graphs, with application to Markov chains, puzzles, games, pathfinding problems, and social network models.

Reading assignments are from Ensley and Crawley: Discrete Mathematics: Mathematial Reasoning and Proof with Puzzles, Patterns, and Games

Class meetings: MW 2:30-3:45 in CS 140

Exams (dates, times, and locations subject to change):

• Midterm exam #1: October 17, 7-9pm, ILC S331
• Midterm exam #2: November 12, 7-9pm, ILC S331
• Final exam: December 13, 3:30-5:30pm, location TBD

Class schedule (approximate and subject to revision):

Sep 2Course Overview; Number Puzzles and SequencesSec 1.2
Sep 9Truth-tellers, Liars, and Propositional Logic; PredicatesSecs 1.3 and 1.4
Sep 16Translating Predicates and Quantifiers; ImplicationsSecs 1.4 and 1.5 + NotesMon is end of Add/Drop
Sep 23Brute-Force Search; Mathematical Writing; Proofs About NumbersSecs 2.1 and 2.2 + Notes
Sep 30More Proofs About Numbers; Mathematical InductionSecs 2.2 and 2.3Mon class moved to Tue (Columbus Day)
Oct 7More Induction: Sums and Correctness ProofsSecs 2.3 and 2.4 + Notes
Oct 14SetsSecs 3.1-3.3Midterm 1 on Thurs; Also last day to drop with W or elect Pass/Fail (ugrads)
Oct 21Functions and RelationsSecs 4.1-4.3
Oct 28Combinatorics: Basic Rules for CountingSecs 5.1 and 5.2
Nov 4More Combinatorics; Security of PasswordsSecs 5.3 and 5.4 + Notes
Nov 11Intro to ProbabilitySec 6.1No class on Mon (Veteran's Day); Midterm 2 on Tuesday
Nov 18More probability: Games and SimulationSecs 6.2 and 6.3
Nov 25No Class This Week (Thanksgiving)
Dec 2Graphs: Trees and CountingSecs 7.1 and 7.2
Dec 9Proofs About Graphs; Course ReviewSec 7.2Final Exam: Fri, Dec 13 3:30-5:30, LGRC A301