Academic Calendar 2024-2025

Search Results

Search Results for "CMPE 223"

CMPE 223  Software Specifications  Units: 3.00  
Introduction to techniques for specifying the behaviour of software, with applications of these techniques to design, verification and construction of software. Logic-based techniques such as loop invariants and class invariants. Automata and grammar-based techniques, with applications to scanners, parsers, user-interface dialogs and embedded systems. Computability issues in software specifications.
(Lec: 3, Lab: 0, Tut: 0)
Requirements: Prerequisites: ELEC 278 or MREN 178 and ELEC 270 Corequisites: Exclusions:  
Offering Term: W  
CEAB Units:    
Mathematics 0  
Natural Sciences 0  
Complementary Studies 0  
Engineering Science 24  
Engineering Design 12  
Offering Faculty: Faculty of Arts and Science  

Course Learning Outcomes:

  1. Design specifications for the functional behaviour of algorithmic code fragments.
  2. Formally verify the correctness of simple code fragments involving conditional statements and loops using logic based techniques.
  3. Design regular expressions, state transition diagrams and context-free grammars for formal languages.
  4. Appraise the limitations of regular expressions and context-free grammars and to demonstrate that a language is nonregular.
  5. Appraise the limitations of algorithmic computation and prove that the halting problem is unsolvable.