CS 536: Science of Programming (S'23, IIT)

ver. Sat 2023-04-29, 14:21

Announcements

Calendar of Classes

Future class dates are somewhat tentative. (*) Exam dates are about 90% certain.

DateSessionTopicHandout postedPractice postedNotes
Mon Jan 9Class 1Syllabus & Propositional Logic2023-01-10 14:002023-01-09 13:50Solved
Wed Jan 11Class 2Predicate Logic2023-01-10 14:352023-01-10 15:00Solved
Mon Jan 16Holiday Martin Luther King Day (no classes)
Wed Jan 18Class 3Expressions, States2023-01-15 18:002023-01-15 18:20Solved
Mon Jan 23Class 4Satisfaction & State Updates2023-01-24 12:052023-01-23 13:50Solved
Wed Jan 25Class 5Language Syntax & Operational Semantics2023-01-25 19:302023-01-25 13:05Solved
Mon Jan 30Class 6Denotational Semantics, Runtime Errs2023-01-31 15:352023-01-30 13:05Solved
Wed Feb 1Class 7Sequential Nondeterminism2023-02-01 13:052023-02-22 13:16Solved
Mon Feb 6Class 8Hoare Triples, pt.12023-02-07 19:002023-02-06 13:50Solved
Wed Feb 8Class 9Hoare Triples, pt.22023-02-09 13:002023-02-09 16:17Solved
Mon Feb 13Class 10Weakest pre. pt.12023-02-13 13:502023-02-13 13:50Solved
Wed Feb 15Class 11wp pt.2, Domain Predicates2023-02-15 18:302023-02-15 13:50Solved
Mon Feb 20Class 12Syntactic Substitution2023-02-20 13:502023-03-01 16:51Solved
Wed Feb 22Exam #1Classes 1‐9, HW 1‐4 (*)2023-03-03 15:00
Mon Feb 27Class 13Forward Assignment; sp2023-04-07 17:002023-04-07 16:55Solved
Wed Mar 1Class 14Proof Rules and Proofs, pt 12023-02-28 18:532023-04-04 13:50Solved
Mon Mar 6Class 15Proof Rules and Proofs, pt 22023-03-06 22:302023-03-20 13:50Solved
Wed Mar 8Class 16Full Proof Outlines2023-03-08 10:462023-03-22 15:30Solved
Mon Mar 13Holiday Spring Break (no classes)
Wed Mar 15Holiday Spring Break (no classes)
Mon Mar 20Class 17Partial and Minimal Proof Outlines2023-03-19 20:002023-04-10 18:56Solved
Wed Mar 22Class 18Total Correctness Rules2023-04-06 16:002023-04-06 17:00Solved
Mon Mar 27Class 19Finding Invariants pt.12023-04-29 14:002023-04-29 14:00Solved
Wed Mar 29Class 20Finding Invariants pt.22023-03-29 19:302023-04-05 18:40Solved
Mon Apr 3Class 21Array Assignments2023-04-03 15:102023-04-10 15:04Solved
Wed Apr 5Class 22Basics of Parallel Programs2023-04-06 15:512023-04-17 15:13Solved
Mon Apr 10Class 23Disjoint Programs2023-04-09 21:312023-04-19 15:15Solved
Wed Apr 12Exam #2Online via BB. Classes 10‐18, HW 5‐8 (*).2023-04-19 13:38
Mon Apr 17Class 24Disjoint Conditions2023-04-15 20:002023-04-24 19:26Solved
Wed Apr 19Class 25Shared Vars and Interference2023-04-21 13:202023-04-24 19:28Solved
Mon Apr 24Class 26Auxiliary Variables2023-04-24 20:202023-04-23 15:35Solved
Wed Apr 26Class 27Await and Deadlocks2023-04-26 12:452023-04-26 12:50Solved
Wed May 3Final Exam Online via BB *** Not in Perlstein Hall ***.
Live: 2 - 4 pm; Internet section: 7-9 PM CST [2023-04-28 typo]. (*)
Wed May 10 Final Grades Due at Noon (CST)

(*) Exam Notes Changes 2023-02-15

  • The exams are mostly (if not entirely) multiple choice. Exams 1 and 2 are each 75 min with roughly 20 questions; the Final Exam is 120 min with roughly 30-35 questions.
  • The exams are open notes. [2023-03-27] For all three exams, you are allowed one sheet of paper notes. You can use both sides of the sheet, which must be 8.5" x 11" or A4. Notes can be printed or hand-written (your choice.)
    No sharing notes, no electronic devices.
  • The Final Exam is comprehensive, about 35-45% on Classes 1-18 + HW 1-8; the remainder on Classes 19-27 + HW 9,10. Even though the exam is compehensive, you are allowed only one sheet of notes.
  • The penalty for cheating during any of the three exams is a grade of E for the course. (In Fall 2022, 11 students failed because of cheating, sigh..)

Assignments

To access the group member Google spreadsheets, you must first log into myIIT. Groups should contain 3 (preferably) or 2 members. There's a 3/60 point penalty for working in a group of 1 without permission. (This will be waived for the first assignment or until the class list settles down so that groups can be stabilized.) For more details on the mechanics of homework, see the Syllabus.  Future due dates below are maybe 75% firm.

You can copy/paste special symbols, from this file. (You can also spell things out in English: "AND" for "∧", etc).

HWDue DateCoversTopicsHandout postedGroupsNotes
HW 1Fri Jan 27Classes 1-2Propositional & Predicate Logic2023-01-26 18:46Groups
HW 2Thu Feb 2Classes 3-4Expressions, States // Satisfaction, State Updates2023-02-01 17:25Groups
HW 3Thu Feb 9Classes 5-6Syntax, Operational Semantics // Denotational Semantics, Runtime Errors2023-02-09 12:22Groups
HW 4Thu Feb 16Classes 7-9Sequential Nondeterminism // Hoare Triples 1 & 22023-02-15 19:00Groups
HW 5Mon Feb 27Classes 10-11Weakest Preconditions 1 & 2 // Domain Predicates2023-02-15 19:50Groups
HW 6Wed Mar 8Classes 12-13Substitution // Forward Assignment, sp2023-03-02 21:29Groups
HW 7Wed Mar 22Classes 14-15Proof Rules & Proofs 1 & 22023-03-09 14:44Groups
HW 8Wed Apr 5Classes 16-18Proof Outlines; Loop Convergence2023-04-14 17:50Groups
HW 9Wed Apr 26Classes 19-21Finding Invariants 1 & 2; Array Assignment2023-04-29 13:39GroupsSolved

Lectures

Mon/Wed 1:50 pm - 3:05 pm, Perstein Hall 131

Live Lectures or Video?

Staff

Instructor: Dr. Jim Sasaki

TAs