Week | Lectures & theory work-sessions | Theory assignments (graded!) | Project | Deadlines |
---|---|---|---|---|
Note: retake should be on 7th July, 13:30 - 16:30, in Educ-Alfa. BUT check your timetable to make sure. | ||||
1(17) [ThN] |
☀ Unit testing.
☀ Specifying programs. ☀ Test adequacy (with graph-based coverage). We will also kick off the STV Testing Project Testing Project. | slides Chapters to read: A&O (Your book "Introduction to Software Testing by Ammann & Offutt) Ch1, 2.1 - 2.3 (2nd Ed. Ch. 2,3,5,7.1 – 7.3) Slides: organization (pdf) | unit-testing (pdf) | gb-testing (pdf) | |
HW-set-1. |
Testing Project.
Monday: form your team (3 persons) if you have not done so. By thursday you should be in a team and in this week you should already have started coding and testing. |
HW-set-1: Thursday 24th April, 24:00. |
2(18) |
☀ black box testing (partition-based and combinatoric).
☀ Data-flow-based testing. Chapters to read: A&O : Ch. 2.1 - 2.3 (2nd Ed. 7.1 – 7.3), Ch. 4, Ch. 2.2.2 (2nd Ed. Ch. 6, Ch. 7.2.3) Ch. 2.4.2 (2nd Ed. Ch. 7.4.2). Slides: gb-testing (pdf) | bb-testing (pdf) | df-testing (pdf) |
HW-set-2. | Continue with the Testing Project. Work on the components of GameLogic and unit-test them. | HW-set-2: thursday 1st May, 24:00. |
3(19) |
☀ Integration testing. Chapters to read: A&O Ch. 2.2.2, 2.4.2, 7.1 (2nd Ed. Ch. 7.2.3, 7.4.2, but unfortunately there is no replacement for 7.1 in the 2nd Ed.). Slides: df-testing (pdf) |
HW-set-3. | Continue with the Testing Project. At the end of this week you should have finished coding the components of GameLogic and their unit-tests. | HW-set-3: Thursday 8th May, 24:00. |
4(20) |
Tuesday: Handling complex inputs.
slides: complex input (pdf) Thursday (during the lecture hours): we'll run an old exam to prepare you for Exam-1. We will keep the lab session open for questions, or for you to finish your Project, if it is not finished yet. |
Continue with the Testing Project. At the end of this week you should have a working game. Make sure that it works well and does not crash. Start working on your TestAgent, and if you do the Optional part, start working on that too. | ||
5(21) |
Tuesday: ☀ Recap Predicate Logic. ☀ Recap common proof strategies (e.g. proof by contradiction, case split, domain split). ☀ Equational proof. ☀ Correctness of functional programs. slides: proofs (pdf) Chapters to read: LN (the Lecture Notes on Program Correctness) Ch. 1, 2, 3, 4. |
PART-I of the Correctness Proofs assignments set. | Finishing your Testing Project. Ideally midway this week it should be finished. |
Sunday 25th May, 23:59 : DEAD LINE of the Project. Submit it through Blackboard. Only one team member should submit. |
6(22) |
☀ Verifying program correctness with Hoare Logic.
☀ Reduction using weakest pre-condition. Chapters to read: LN Ch. 5, 6.1, 6.2. Slides: proofs (pdf) | weak-strong | Hoare logic ![]() |
PART-I of the Correctness Proofs assignments set.
If you need extra exercises (they will not be graded, but solutions will be provided): from the Lecture Notes, Section 3.9: nr 1, nr 2 a,b,c, nr 4. Section 4.3: nr 2, Section 5.3: nr 1a, 1b, 1e, Section 6.14: nr 1,5,11. If you get stuck on Section 3.9 nr 4, check this spoiler. |
Wednesday 28th May, 24:00: PART-I Correctness-Proofs-set. | |
7(23) |
☀ Dealing with loops; proving termination. ☀ Dealing with loop-breaks. ☀ Dealing with arrays. ☀ Reducing a program-level specification to a statement-level specification. ☀ Constructing invariant. Chapters to read: LN Ch. 6.3 - 6.12. Slides: Hoare logic | invariant (pdf) | a worked-out proof (pdf) |
No 1,2,3 (to be submitted) PART-II of
the Correctness Proofs assignments set.
If you are done, you can continue with No. 4 to be submitted in the next round. If you need extra exercises (will not be graded, but solutions, or at least hints will be provided): Section 6.14, nr 12, 14, 15, 16. |
||
8(24) |
☀ Constructing invariant.
Chapters to read: LN Ch. 7. Slides: invariant (pdf) |
Tuesday: continue with No-3 of PART-II of
the Correctness Proofs assignments set, if you have not finished it yet.
Else you can move on to No 4.
Thursday: No-4 (to be submitted) of PART-II of the Correctness Proofs assignments set. |
Wednesday 11th June, 24:00: PART-II No 1,2,3 of the Correctness-Proofs-set. | |
9(25) |
☀ Handling program call.
☀ Course summary and exam. Chapters to read: LN Ch. 7. Slides: program call (pdf) | course-summary |
Tuesday: No-4 PART-II of
the Correctness Proofs assignments set.
Thursday: revision No-3 (if you didn't get it right) PART-II of the Correctness Proofs assignments set. Exercises you can do (not graded): Lecture Notes Section 7.5, no. 1 - 4. Thursday: we can look into an exam from a previous year as exercise. |
Wednesday 18th June, 24:00:
PART-II No-4 of the Correctness-Proofs-set.
Thursday 19th June, 24:00: Revision No-3 of the Correctness-Proofs-set. |
|
10(26) |
Exam-2: MONDAY 23-6-2025 EDUC-GAMMA 13:30-16:30 (3h excl. extension) |