Lecture 1 - Course Overview
Lecture 2 - Introduction and Survey.0: The standard approach to introductory programming
Lecture 3 - Introduction and Survey.1: Experience with the standard approach
Lecture 4 - Introduction and Survey.2: Alternative approaches, Summary, and Conclusion
Lecture 5 - Basic Ideas in Our Approach.0: Introduction
Lecture 6 - Basic Ideas in Our Approach.1: Examples of translating manual algorithms to computer programs
Lecture 7 - Basic Ideas in Our Approach.2: More examples
Lecture 8 - Basic Ideas in Our Approach.3: Should we teach students (manual) problem solving strategies?
Lecture 9 - Basic Ideas in Our Approach.4: The design of the course
Lecture 10 - Basic Ideas in Our Approach.5: Remarks on individual topics - 1
Lecture 11 - Basic Ideas in Our Approach.6: Remarks on individual topics - 2, Conclusion
Lecture 12 - Pedagogy.0: Introduction and basic principles
Lecture 13 - Pedagogy.1: Scaffolding, Lesson Plan
Lecture 14 - Pedagogy.2: A quick tour of the course - 1
Lecture 15 - Pedagogy.3: Tour-2
Lecture 16 - Pedagogy.4: Tour-3, Conclusion
Lecture 17 - Advanced Programming Topics.0: Introduction, Organization of medium sized programs
Lecture 18 - Advanced Programming Topics.1: Advanced memory management, Standard Library
Lecture 19 - Advanced Programming topics.2: Object Oriented Programming, Concluding remarks
Lecture 20 - In class questions, Assignments, Examinations.0: In class questions and lab assignments
Lecture 21 - In class questions, Assignments, Examinations.1: Examinations
Lecture 22 - Summing up