Introduction to the use of mathematical models of software systems for their specification and validation, finite state machine models, models of concurrent systems, verification of models, and limitations.
Software Engineering & Data Structures courses
At the end of the course the student should be able to
The tentative point distribution is as follows.
| Homework Assignments | 30% |
| Quiz | 10% |
| Final exam | 50% |
| Presentation | 10% |
| Week | Topic | Readings |
|---|---|---|
| 1 | Introduction | - |
| 2 and 3 | Program Graphs | Chapter 1 |
| 4 and 5 | Guarded Commands
Online lecture HW 1 |
Chapter 2 |
| 6 and 7 | Program Verification
Online lecture HW 1 |
Chapter 3 |
| 8 and 9 | Program Analysis
Online lecture HW 2 |
Chapter 5 |
| 10 and 11 | Language-Based Security
Online lecture |
Chapter 6 |
| 12 |
Model Checking
Online lecture |
Chapter 7 |
| 13 |
Procedures
Online lecture |
Chapter 8 |
| 14 |
Concurrency
Online lecture HW 3 |
Chapter 9 |
| 15 |
Review of the semester
Online lecture |
- |
| 16 | Final Exam: June 10, 10:00-12:00 |
The instructor reserves the right to make changes to the above syllabus as necessary. Students are responsible to be aware of changes announced in class and/or via the internet.