#lang slideshow ;; ;; This presentation is a program written in DrRacket’s Slideshow language. To ;; start it, choose “Run” from the “Racket” menu. ;; (require slideshow/code) (require racket/draw) (define northwestern-purple (make-color 78 42 132)) (current-title-color northwestern-purple) (slide #:title "EECS 111 (Spring ’18)" (table 2 (list (bt "Instructor") (t "Jesse Tov") (bt "Office") (t "Ford 2-215") (bt "Office hours") (t "Tue. & Thu. by appointment") (bt "Email") (t "jesse@cs.northwestern.edu") (bt "Web") (t "eecs.northwestern.edu/~jesse/course/eecs111") (bt "Piazza") (t "piazza.com/northwestern/spring2018/eecs111")) vl-append ht-append 25 10)) (slide #:title "Course Staff" #:gap-size 10 (para (bt "Head TAs:")) (item "Shu-Hung You") 'next (para (bt "Peer TAs:")) (item "Jeffrey Birori") (item "Shu Han") (item "Alin Hulli") (item "Aaron Kaneti") (item "Rohit Rastogi") (item "Nila Suresh") (item "Prashanth Tirupachur Vasanthakrishnan") (item "Hayden Udelson")) (slide #:title "Prerequisites" (para "The course assumes a basic familiarity with arithmetic and algebra." "It demands curiosity, self-discipline, and some amount of people" "skills, because all computer scientists end up working with others" "interactively all the time, including in this course.") 'next (para "The course does not assume any prior programming experience. It is" "therefore suitable for first-year students—majors and non-majors" "alike—who wish to explore the intellectual ideas of the discipline.")) (slide #:title "DrRacket" (item "We use a family of languages based on" (it "Racket")) (item "This family of languages lives in a programming environment: DrRacket") (item "We start with “Beginning Student Language”" "and eventually add more features")) (slide #:title "The Design Recipe" (para "Like writing an essay, writing a program requires planning." "(Writing a complicated program requires more planning.)") (para "We use various" (it "Design Recipes") "," "which give us" "a systematic way to turn problems into solutions (ideas into programs)") (para "We'll be seeing these" (it "a lot."))) (slide #:title "The Simplest Recipe" (table 2 (list (t "Signature, Purpose") (t "Specify classes of input and output") (t "and Header") (t "data; describe purpose; name the") (t "") (t "program") (t "") (t "") (t "Examples") (t "characterize input-output relationship") (t "") (t "with examples") (t "") (t "") (t "Body") (t "define the body of the function") (t "") (t "") (t "Tests") (t "discover mistakes (types and logic") (t "") (t "errors)")) vl-append ht-append 25 0)) (slide #:title "Design Matters" (t "Design matters!")) (slide #:title "How to Get a Grade" (table 2 (list (t "Exam 1 (3 May)") (t "30%") (t "Exam 2 (7 June)") (t "30%") (t "Homework*") (t "30%") (t "Daily quizzes") (t "10%")) (list vl-append vr-append) ht-append 25 10) 'next (para "* Your homework grade must be passing on its own in order to" "pass the class"))