Source guide and important clarifications
On this page 4 headings
These notes cover Lecture 0, Lectures 1.1–1.10, and Tutorials 1.1–1.3 from the supplied Week 1 English transcripts. The six supplied slide decks are used alongside their corresponding transcripts. Repeated slide builds are consolidated, while their final algorithms and data-type rules are retained.
Where to find each source topic
| Source | Lesson in these notes |
|---|---|
| Lecture 0 | Start here: think in clear, repeatable steps |
| Lecture 1.1 | Meet the datasets |
| Lecture 1.2 | Variables and iteration; sums and averages; filtering |
| Lecture 1.3 | Combine filters and group summaries |
| Lecture 1.4 | Introduction to flowcharts |
| Lecture 1.5 | Flowcharts with filtering |
| Lecture 1.6 | Sanity of data |
| Lecture 1.7 | Basic data types |
| Lecture 1.8 | Subtypes |
| Lecture 1.9 | Transform representations |
| Lecture 1.10 | Records and lists |
| Tutorial 1.1 | All-food/no-food bills and average word length |
| Tutorial 1.2 | Long adjectives, customer/store sums and category averages |
| Tutorial 1.3 | Flowchart paths for all-food/no-food bills |
Which values are teaching examples?
The main interactive walkthroughs use the supplied course datasets: 30 score cards, 65 word occurrences and 30 shopping bills. Smaller examples elsewhere isolate a rule so you can check it by hand; they are not the full dataset. Source totals such as 2,171 Mathematics marks and 329 letters are calculated from the complete supplied records.
Corrections and limits made explicit
The corrected slides use TMarks for a three-subject total, with range up to 300 before scaling. Fractional single-subject marks stored at scale 100 need range 0–10000. Date indices run to 364 in a normal year and 365 in a leap year. The April date check allows day 30.
A bounded subtype is not automatically closed under addition or subtraction: choose a valid result type. Exact or quotient division must be specified, and division by zero remains invalid. Fields with legal types still need cross-field and across-record validation.
The classroom restrictions on names, cities, group labels and allowed operations are teaching-model choices. A real application needs its own appropriate rules. Floating-point representations have finite precision. “All food” and “no food” examples assume nonempty bills.
Notation used in these notes
The arrow ← denotes assignment; indentation shows which actions belong inside a loop or condition. Equality in a condition is a test, not an assignment. X.field selects a field from the current record. This is readable pseudocode, not a promise that the text runs unchanged in Python or another programming language.
