Course Plan 24/25

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)


MONDAY 19-5-2025, 09:00 - 11:30 OLYMPOS - HAL1: THRUSDAY 22-5-2025, 09:00 - 11:30 Exam-1 (2.5hr excl. extension)

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

Thursday 29th May: holiday (Ascension Day)
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)