CS3213 Lecture Material
Lecture 1: Introduction
In this lecture, we introduced the foundations and the project in this course. Additionally, we introduced the field of "requirements engineering".
Lecture 2: UML
slides, recording (part 1), recording (part 2)
In this lecture, we discussed UML semantics, including sequence diagram based formal modeling of the system description beyond scenarios.
Lecture 3: State Charts
In this lecture, we described the nuances of state chart semantics.
Lecture 4: Intelligent Tutoring System
slides, recording (part 1), recording (part 2), recording (part 2)
In this lecture, we gave an idea of the area behind the course project - Intelligent tutoring systems. We discussed the general topic, available tools, involved technical challenges, and the feedback issue in intelligent tutoring.
Lecture 5: Static Analysis (Part 1 Motivation)
In this lecture, we discussed program representations such as the Control Flow Graph (CFG).
Lecture 6: Static Analysis (Part 2 Program Representation)
In this lecture, we covered simpler descriptin of static program analysis based on data-flow analysis.
Lecture 7: White-box Testing / Test suite estimation
In this lecture, we discussed white box testing and test-suite estimation.
Lecture 8: Mid-term
Lecture 9: Debugging
In this lecture, we continued with our discussions on testing and analysis. Some background material on software debugging was presented, including slicing and fault localisation.
Lecture 10: Non-functional issues: Security and Timeliness
In this lecture, we discussed software performance issues and timing-critical software design.
Lecture 11: Invitation Talks
In this lecture, we had two talks on emerging research topics in automated programming by Dr. Sumit Gulwani and Professor Ilya Sergey.
Lecture 12: Revision of topics
In this lecture, we first continued our discussion on sofware performance aspects, and then recapped previous course topics with some warm-up exercises.