School of Computing Queen's UNIVERSITY CISC/CMPE-223 SOFTWARE SPECIFICATIONS, WINTER 2023 Course Description - winter 2023 · For important announcements and information on assignments, quizzes, teaching assistants, office hours and all other course information please login to your CISC223/CMPE223 onQ page. · Note: CISC/CMPE223 considers the standard School of Computing syllabus https://www.cs.queensu.ca/students/undergraduate/syllabus/ to be part of the syllabus. Classes Textbook Instructor Goals of the Course Assignments and Tests Grading Software Classes Tuesday 2:30 PM Thursday 8:30 AM Friday 1:30 PM The Tuesday and Friday classes are held in Biosciences Room 1102 and the Thursday classes are held in Dunning Auditorium. Required textbook · Specifying Software A Hands-On Introduction · Author: R.D. Tennent · Cambridge University Press, 2002 · Electronic subscriptions to the textbook are available online through Queen's Library _. Direct link here (Queen's access only.)
· The textbook's web site has a page of corrections to the published text. Supplementary reading Suggested additional reading may be found in the Introductions to Parts A and C and in the additional-reading section at the end of every chapter in the text. There are many textbooks covering the material in the first half of the course (Part C in our textbook). · The following text is available online through Queen's library Author/Creator: Peter Linz Title: An Introduction to Formal Languages and Automata, Fifth Edition Published: Jones and Bartlett Publishers c2012 Instructor · Kai Salomaa · Email: see the onQ site When sending me email concerning the course, please make sure to use your Queen's email account and include CISC223/CMPE223 in the subject line. Otherwise I may never see the email. Teaching assistants: For information on the teaching assistants please login to your CISC223/CMPE223 onQ page. Goals of the course The first part of the course provides an introduction to several conceptual tools that are widely used in computing: state diagrams, regular expressions and context-free grammars. In the second part you will learn to verify the correctness of (small) programs using logic based techniques. This part of the course builds on material you have studied, for example, in CISC 204. Additionally, we will briefly discuss the theoretical limits of algorithmic computation. Learning Outcomes · Design regular expressions, state transition diagrams and context-free grammars for formal languages · Appraise the limitations of regular expressions and context-free grammars and to demonstrate that a language is nonregular · Design specifications for the functional behaviour of algorithmic code fragments · Formally verify the correctness of simple code fragments
· Appraise the limitations of algorithmic computation and prove that the halting problem is unsolvable CISC/CMPE223 considers the standard School of Computing syllabus https://www.cs.queensu.ca/students/undergraduate/syllabus/ to be part of the syllabus. Academic Integrity Please see a Statement on Academic Integrity from the Arts and Science web site posted here. Assignments There will be 4 sets of assignments. The first three assignments are due at 2:00 PM on Thursdays of weeks 3, 5 and 8 and the fourth assignment is due at 2:00 PM on Monday of week 12. For rules concerning