SCHEDULE OVERVIEW


The schedule for this class will follow the structure and order of the textbook, "Starting Out with Python". At first, you will have a high-level understanding of how computers work, and then you will learn about the concepts of computer programming. Most classes will have lecture-type instructions and following in-class exercise in which you are going to "learning by doing". The Python and PyCharm IDE are already installed in the computer lab, but I encourage you to bring your own laptop for the exercise.


The table below is a tentative schedule for this semester. Keep in mind that topics, dates, and so on can change at any time. In the case of major changes, such as exam dates or homework dues, you will be notified as soon as possible.


The schedule includes the pre-class assignments such as readings and exercises for each lesson. These assignments should be completed before the beginning of the corresponding class. This preparation is essential for you to success in this class. Although Python is a relatively intuitive programming language, there are many difficulties in understanding the programming language in the beginning. Being familiar with the course material will help you better understand the contents of each lecture. The hands-on exercises during the lesson will be given assuming you have understood the assigned readings and my lecture. Finally, the content covered in the pre-class assignments is likely to be potential test questions.


DETAILED SCHEDULE

August
23Class 1Course Overview
Envirionment Setup
•Watch "What Most Schools Don't Teach" from Code.org
•Read "Why Coding Is Still The Most Important Job Skill Of The Future" from Fast Company
•Watch "Libraries Ready to Code" from the ALA
A1 Assigned: Hello, World
28Class 2Introduction to Computers and Programming
•Read SOWP Chapter 1
•Watch "How computer memory works" from the TED Ed series
•SOWP(3rd): Exercises 3-5 from Chapter 1 (Pages 28-29)
•SOWP(4th): Exercises 3-5 from Chapter 1 (Pages 28-29)
30Class 3Types, Variables, and Operators
•Read SOWP Chapter 2
•SOWP(3rd): Algorithm Workbench Problems 2, 4, 8, 10 from Chapter 2 (Pages 76-77)
•SOWP(4th): Algorithm Workbench Problems 2, 4, 8, 10 from Chapter 2 (Page 103)
September
4Labor Day
6Class 4Types, Variables, and Operators Part 2
A1 Due
11Class 5Decision Structures
•Read SOWP Chapter 3
•SOWP(3rd): Algorithm Workbench Problems 2-4 from Chapter 3 (Pages 114-115)
•SOWP(4th): Algorithm Workbench Problems 2-4 from Chapter 3 (Pages 150-151)
A2 Assigned: Compound Interest
13Class 6Repetition with Loops
•Read SOWP Chapter 4: Sections 4.1-4.4
•SOWP(3rd): Algorithm Workbench Problems 3-4 from Chapter 4 (Page 161)
•SOWP(4th): Algorithm Workbench Problems 3-4 from Chapter 4 (Page 203)
18Class 7Repetition with Loops Part 2
•Read SOWP Chapter 4: Sections 4.5-4.7
•SOWP(3rd): Algorithm Workbench Problems 6, 8 from Chapter 4 (Page 161)
•SOWP(4th): Algorithm Workbench Problems 6, 8 from Chapter 4 (Page 203)
A2 Due
A3 Assigned: Square Roots
20Class 8Repetition with Loops Part 3
25Class 9Functions Part 1
•Read SOWP Chapter 5: Sections 5.1-5.6
•SOWP(3rd): Algorithm Workbench Problems 1, 2, 3, 4 from Chapter 5 (Page 228)
•SOWP(4th): Algorithm Workbench Problems 1, 2, 3, 4 from Chapter 5 (Page 279)
A3 Due
27Class 10Functions Part 2
•Read SOWP Chapter 5: Sections 5.7-5.10
•SOWP(3rd): Algorithm Workbench Problems 8, 9, 10 from Chapter 5 (Page 229)
•SOWP(4th): Algorithm Workbench Problems 8, 9, 10 from Chapter 5 (Page 279)
A4 Assigned: Blackjack
October
2Class 11Abstraction and Decomposition: Problem Sovling By "Breaking it Down"
•Read Decomposition on Wikipedia
•Read How to Solve It on Wikipedia
4Class 12Working with Files
•Read SOWP Chapter 6: Sections 6.1-6.3
•SOWP(3rd): Algorithm Workbench Problem 1 from Chapter 6 (Page 288)
•SOWP(4th): Algorithm Workbench Problem 1 from Chapter 6 (Page 339)
9Class 13Catching and Handling Exceptions
•Read SOWP Chapter 6: Section 6.4
•SOWP(3rd): Algorithm Workbench Problems 9, 10 from Chapter 6 (Page 288)
•SOWP(4th): Algorithm Workbench Problems 9, 10 from Chapter 6 (Page 340)
A4 Due
A5 Assigned: Counting Number of Words
11Class 14Lists
•Read SOWP Chapter 7: Sections 7.1-7.4
•SOWP(3rd): Short Answer Problems 1-5 from Chapter 7 (Page 333)
•SOWP(4th): Short Answer Problems 1-5 from Chapter 7 (Pages 401)
16Class 15Open Review Session: Come prepared with your questions!
18Class 16Lists Part 2
•Read SOWP Chapter 7: Sections 7.5-7.7
•SOWP(3rd): Algorithm Workbench Problem 4 from Chapter 7 (Page 334)
•SOWP(4th): Algorithm Workbench Problem 4 from Chapter 7 (Page 402)
A5 Due
23Class 17Lists Part 3, Tuples
•Read SOWP Chapter 7: Sections 7.8-7.9
•SOWP(3rd): Algorithm Workbench Problem 8 from Chapter 7 (Page 334)
•SOWP(4th): Algorithm Workbench Problem 8 from Chapter 7 (Page 402)
At the end of this class, I will distribute an ungraded take-home "midterm" exam. Completing the exam is worth 10% of your class participation grade, regardless of how accurately you answer the questions.
E1 Assigned: Take-Home "Midterm" Exam
25Class 18Strings
•Read SOWP Chapter 8
•SOWP(3rd): Short Answer Problems 1-5 from Chapter 8 (Pages 364-365)
•SOWP(4th): Short Answer Problems 1-5 from Chapter 8 (Pages 432-433)
E1 Due
30Class 19Dictionaries (Online lecture)
•Read SOWP Chapter 9: Section 9.1
•SOWP(3rd): Short Answer Problems 1-6 from Chapter 9 (Page 413)
•SOWP(4th): Short Answer Problems 1-6 from Chapter 9 (Page 483)
November
1Class 20More Dictionaries; Sets (Online lecture)
•Read SOWP Chapter 9: Section 9.2
•SOWP(3rd): Short Answer Problems 13-17 from Chapter 9 (Pages 413-414)
•SOWP(4th): Short Answer Problems 13-17 from Chapter 9 (Pages 483-484)
6Class 21Open Review Session: Come prepared with your questions!A6 Assigned
8Class 22Introduction to the Object-Oriented Paradigm (OOP)
•Read SOWP Chapter 10: Section 10.1
•Watch 'What Is Object-Oriented Language?' from Lynda
13Class 23Classes and Instances in Python: Part 1
•Read SOWP Chapter 10: Sections 10.2-10.4
•SOWP(3rd): Short Answer Problems 1-4 from Chapter 10 (Page 475)
•SOWP(4th): Short Answer Problems 1-4 from Chapter 10 (Page 545)
15Class 24Classes and Instances in Python: Part 2
•SOWP (3rd): Short Answer Problems 5-7 from Chapter 10 (Page 475)
•SOWP (4th): Short Answer Problems 5-7 from Chapter 10 (Page 545)
20Class 25Inheritance
•Read SOWP Chapter 11
•SOWP(3rd): Short Answer Problems 1-3 from Chapter 11 (Page 503)
•SOWP(4th): Short Answer Problems 1-3 from Chapter 11 (Page 573)
A6 Due
A7 Assigned: OOP Excercise
22Thanksgiving Break
27Class 26Inheritance Part 2, A6 Review
29Class 27GUI programming
•Read SOWP Chapter 13
December
4Class 28Web Programming
•Read CherryPy Overview, Introduction, and Tutorials 1-4
6Class 29Wrap-Up and Review
7No classA7 Due
15Final ExamFinal exam begins at 8:00 am.