Detailed Course Description

SEG-2106 "Software Construction"

Winter 2016

Below you find for each chapter of the course the following information:

Curiosity notes: Here are comments about historical developments, some famous researchers and specific applications. This will not be part of the exam questions, but it belong to the general culture of computer science and software engineering.

CASE Tools: The following tools will be used during the lab sessions and for the assignments:

Section 1: Requirement engineering: structural and behavioral modeling using state machines

Note: The learning objectives below are preceeded by references to the "graduate attribute criteria" to which they belong. These graduate attributes are explained in Section 3.1 of the CEAB Accreditation Criteria and Procedures. In addition, at the end of each objective, there is an indication of the labs and assignments which are intended to help you attain the objective.

1. Introduction to requirements modeling

2. Behavioral modeling

3. Communicating state machines

Section 2: Languages, grammars and analysers

1. Introduction to languages and compilers

2. Lexical analysis (formal languages, regular expressions and accepting automata)

3. Syntax analysis

Section 3: Concurrency, implementation design and performance issues

1. Concurrency

Implementation design and performance issues

Last update: June 22, 2015