McMaster University
Software Specification and Correctness

COMP SCI 3EA3 — Winter 2017

Instructor

Musa Al-hassy
ITB-229, alhassm@mcmaster.ca

Teaching Assistant

Curtis D'Alves
ITB-229, dalvescb@mcmaster.ca
Office hours: In ITB-128 on Thursdays at 13:05-14:55.

Outline and Relevant Times

( Here is a useful timetable generator for McMaster University students. )

News

Theorem Listpdf Proving every non-axiom in a consistent (that is, non-cyclical) sequence is an excellent exercise!

Schedule — covered so far

Reports: Pellets Puzzle with Frama-C pdf ; Importance of Algebraic Properties pdf ; (another report on) The Importance of Algebraic Properties pdf ; Comparing Variants of the Binary Search Algorithm pdf ; A Survey of Binary Search pdf ; A Comparison of Search Algorithms pdf ; Comparing and Contrasting Searching Algorithms and their Specifications pdf ; (another report on a) Survey of Binary Search pdf ; Theory to Practice: The Benefits of Correct-by-Construction Programmingpdf ; (yet another report on) A Survey of Binary Searchpdf

Scribed notes: Lattices and Categories pdf ; Galois Connections pdf ; The Mathematics of Programming pdf ; Weakest Preconditions pdf ; Fixed Points and Loops pdf ; Algorithm Derivation pdf ; Replacing Constants by Variables pdf ; Array Assignment pdf ; Bounded Linear Search pdf ; Finding an Invariant pdf ; Finding an Invariant pdf ; Heuristic Programming pdf ; Review and Goodbye pdf

Each week-date below has an accompanying PDF that contains assigned readings, discussion of which is an integral part of class. Moreover, such PDF's also contain suggested exercises that reinforce the theory covered in class and serve as preparation for the quizzes, and are covered in tutorial.

Week Monday Wednesday Friday
Jan 1 – 7 pdf Classes Begin today, the 4th! Introduction pdf Pragmatism pdf
Jan 8 – 14 pdf Games pdf Last day for enrollement and changes is the 12th!
GCL in C
“Letter of Introduction” is due!
Formally Frama-C pdf
Jan 15 – 21 pdf Quiz 1 ; sol The Power of Two pdf When is one thing equal to some other thing? pdf
Jan 22 – 28 pdf CalcCheck ; Avenue a little bit of lattice theory pdf a little bit of lattice theory pdf
Jan 29 – Feb 4 pdf Quiz 2 ; sol Galois Connections pdf The Mathematics of Programming pdf
Feb 5 – 11 pdf Weakest Preconditions pdf Array Assignment pdf Fixed Points and Loops pdf
Feb 12 – 18 pdf Quiz 3 ; sol Algorithm Derivation pdf
Feb 19 – 25 No class! Mid-term Recess! No class! Mid-term Recess! No class! Mid-term Recess!
Feb 26 – Mar 4 pdf Bounded Linear Search pdf Replacing Constants by Variables pdf Finding an Invariant pdf
Mar 5 – 11 pdf Quiz 4 ; sol Order Morphisms Co-transitivity
Mar 12 – 18 pdf General Binary Search Predicate Binary Search pdf Tail Recursion
Mar 19 – 25 Strengthening the invariant Quiz 5 ; sol Guest Lecture
Mar 26 – Apr 1 Deleting a Conjunct, again Introducing a Variable, again Heuristic Programming pdf
Apr 2 – 8 Quiz 6 ; sol Review and Goodbye pdf No Class! Classes ended on the 6th!

Possibly Interesting Literature and Links


Academic Ethics

You are expected to exhibit honesty and use ethical behaviour in all aspects of the learning process. Academic credentials you earn are rooted in principles of honesty and academic integrity.

Academic dishonesty is to knowingly act or fail to act in a way that results or could result in unearned academic credit or advantage. This behaviour can result in serious consequences, e.g. the grade of zero on an assignment, loss of credit with a notation on the transcript (notation reads: “Grade of F assigned for academic dishonesty”), and/or suspension or expulsion from the university.

It is your responsibility to understand what constitutes academic dishonesty. For information on the various kinds of academic dishonesty please refer to the Academic Integrity Policy, specifically Appendix 3, located at http://www.mcmaster.ca/academicintegrity

The following illustrates only three forms of academic dishonesty:

  1. Plagiarism, e.g. the submission of work that is not one's own or for which other credit has been obtained.
  2. Improper collaboration in group work.
  3. Copying or using unauthorized aids in tests and examinations.

Discrimination

“The Faculty of Engineering is concerned with ensuring an environment that is free of all adverse discrimination. If there is a problem that cannot be resolved by discussion among the persons concerned, individuals are reminded that they should contact the Department Chair, the Sexual Harassment Office or the Human Rights Consultant, as soon as possible.”

Emergency Changes

The instructor and university reserve the right to modify elements of the course during the term. The university may change the dates and deadlines for any or all courses in extreme circumstances. If either type of modification becomes necessary, reasonable notice and communication with the students will be given with explanation and the opportunity to comment on changes. It is the responsibility of the student to check their McMaster email and course websites weekly during the term and to note any changes.