Schedule

Note: This schedule is subject to change (as needed).

Week Lecture Topic Due
Week 1 Tue, 09/02
Thu, 09/04
Lecture 1 Introduction
  • Intro to the course
  • Intro to modern computers
  • Data representation and conversion
Sign up for a Tutorial Session
Week 2 Tue, 09/09
Thu, 09/11
Lecture 2 Python Basics
  • Basic intro to Python language
  • Data types, variables, expressions, statements
  • Input/output
Week 3 Tue, 09/16
Thu, 09/18
Lecture 3 Flow Control
  • Conditional flow
  • Loops
Week 4 Tue, 09/23
Thu, 09/25
Lecture 4 Function
  • Defining functions
  • Function parameters and return values
  • System functions
Week 5
Week 6
Tue, 09/30
Thu, 10/09
Lecture 5 Data Structures
  • Lists
  • Dictionaries
  • Tuples
Week 7 Tue, 10/14
Thu, 10/16
Lecture 6 Introduction to object-oriented programming (I)
  • Object
  • Class
  • Abstraction and encapsulation
Assignment 1
Due date: Oct 19
Week 8 Tue, 10/21
Thu, 10/23
Review for mid-term quiz
Fri, 10/24 Midterm exam!
Week 9 Tue, 10/28
Thu, 10/30
Lecture 7 Introduction to object-oriented programming (II)
  • Inheritance
  • Polymorphism
Week 10 Tue, 11/04
Thu, 11/06
Lecture 8 Data Structure and Algorithms -- Intro
  • Complexity analysis
  • Recursion (I)
Week 11 Tue, 11/11
Thu, 11/13
Lecture 9 Recursion, Stack, and Queue
  • Recursion (II)
  • Stack
  • Queue
Week 12 Tue, 11/18
Thu, 11/20
Lecture 10 Linked List
  • Linked list
  • Sorting
Week 13 Tue, 11/25
Thu, 11/27
Lecture 11 Tree
  • Tree
  • Tree Search
Week 14 Tue, 12/02
Thu, 12/04
Final Exam Review