## SCHEDULE OVERVIEW

The schedule for this class
closely follows the structure of
the required textbook,
"Starting Out with Python."
We'll start with a high-level
discussion of how computers
work, then begin digging into a
range of programming concepts.
Most classes will combine
lecture-style instruction with
hands-on class exercises when
you'll "learn by doing". Therefore,
__be sure to bring your laptop to class
each day__.

Below you'll find a TENTATIVE schedule for the semester. Please note that all topics/dates/etc. are subject to change at any time. I fully expect to make adjustments multiple times over the course of the semester.

Most course readings are from the required textbook "Starting Out With Python", which is referenced as SOWP throughout the schedule. TENTATIVE schedule for the semester. Please note that all topics/dates/etc. are subject to change at any time. I fully expect to make adjustments multiple times over the course of the semester.

### Attention:

The schedule includes readings and exercises that are assigned as preparation for each class. These assignments (shown with a thick gray bar in the schedule) should be completed PRIOR to the start of the corresponding class.

While ungraded, this preparation is essential for your success in this course. It will provide you with a foundation that we will build upon in class through both lectures and hands-on exercises, both of which are designed with the assumption that you will have completed the assigned preparation tasks. In addition, it will help you gain the knowledge and skills you need to complete your programming assignments. Finally, the material covered in these pre-class assignments will be potential topics for exam questions.

## DETAILED SCHEDULE

January | |||

12 | Class 1 | Course 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 |

17 | Class 2 | Introduction to Computers and Programming •Read SOWP Chapter 1 •Watch "How computer memory works" from the TED Ed series •Exercises 3-5 from SOWP Chapter 1 Pages 28-29) | |

19 | Class 3 | Types, Variables, and Operators •Read SOWP Chapter 2 •Algorithm Workbench Problems 2, 4, 8, 10 from SOWP Chapter 2 (Pages 76-77) | A1 Due |

24 | Class 4 | Decision Structures •Read SOWP Chapter 3 •Algorithm Workbench Problems 2-4 from SOWP Chapter 3 (Pages 114-115) | A2 Assigned: Compound Interest |

26 | Class 5 | Repetition with Loops •Read SOWP Chapter 4: Sections 4.1-4.4 •Algorithm Workbench Problems 3-4 from SOWP Chapter 4 (Pages 161) | |

31 | Class 6 | Repetition with Loops Part 2 •Read SOWP Chapter 4: Sections 4.5-4.7 •Algorithm Workbench Problems 6, 8 from SOWP Chapter 4 (Pages 161) | A2 Due A3 Assigned: Square Roots |

February | |||

2 | Class 7 | Functions Part 1 •Read SOWP Chapter 5: Sections 5.1-5.6 •Algorithm Workbench Problems 1, 2, 3, 4 from SOWP Chapter 5 (Pages 228) | |

7 | Class 8 | Functions Part 2 •Read SOWP Chapter 5: Sections 5.7-5.10 •Algorithm Workbench Problems 8, 9, 10 from SOWP Chapter 5 (Pages 229) | A3 Due A4 Assigned: Blackjack |

9 | Class 9 | Abstraction and Decomposition: Problem Sovling By "Breaking it Down" | |

14 | Class 10 | Open Review Session: Come prepared with your questions! | |

16 | Class 11 | Working with Files •Read SOWP Chapter 6: Sections 6.1-6.3 •Algorithm Workbench Problem 1 from SOWP Chapter (Pages 288) | |

21 | Class 12 | Catching and Handling Exceptions •Read SOWP Chapter 6: Section 6.4 •Algorithm Workbench Problems 9, 10 from SOWP Chapter 6 (Pages 288) | A4 Due A5 Assigned: Assigning Grades |

23 | Class 13 | Lists •Read SOWP Chapter 7: Sections 7.1-7.4 •Short Answer Problems 1-5 from SOWP Chapter 7 (Pages 333) | |

28 | Class 14 | Lists Part 2 •Read SOWP Chapter 7: Sections 7.5-7.7 •Algorithm Workbench Problem 4 from SOWP Chapter 7 (Pages 334) | |

March | |||

2 | Class 15 | Lists Part 3, Tuples •Read SOWP Chapter 7: Sections 7.8-7.9 •Algorithm Workbench Problem 8 from SOWP Chapter 7 (Pages 334) | |

7 | Class 16 | Open Review Session: Come prepared with your questions! 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. | A5 Due E1 Assigned: Take-Home "Midterm" Exam |

9 | Class 17 | Strings •Read SOWP Chapter 8 •Short Answer Problems 1-5 from SOWP Chapter 8 (Pages 364-365) | E1 Due |

14 | Spring Break | ||

16 | Spring Break | ||

21 | Class 18 | Dictionaries •Read SOWP Chapter 9: Section 9.1 •Short Answer Problems 1-6 from SOWP Chapter 9 (Pages 413) | A6 Assigned: Managing Collections |

23 | Class 19 | More Dictionaries; Sets •Read SOWP Chapter 9: Section 9.2 •Short Answer Problems 13-17 from SOWP Chapter 9 (Pages 413-414) | |

28 | Class 20 | Introduction to the Object-Oriented Paradigm (OOP) | |

30 | Class 21 | Classes and Instances in Python: Part 1 •Read SOWP Chapter 10: Sections 10.2-10.4 •Short Answer Problems 1-4 from SOWP Chapter 10 (Page 475) | |

April | |||

4 | Class 22 | Open Review Session with Heejun Kim: Come prepared with your questions! Prof. Gotz will be traveling. | |

6 | Class 23 | Classes and Instances in Python: Part 2 •Short Answer Problems 5-7 from SOWP Chapter 10 (Page 475) | |

11 | Class 24 | OOP Review and In-Class Design Problem: Battleship •Read Description of the Battleship Game on Wikipedia •Watch How to Play: Battleship from Triple S Games •Try playing a free online version of the game. | A6 Due A7 Assigned: Battleship |

13 | Class 25 | Inheritance •Read SOWP Chapter 11 •Short Answer Problems 1-3 from SOWP Chapter 11 (Page 503) | |

18 | Class 26 | Recursion Part 1 •Read SOWP Chapter 12 •Algorithm Workbench Problems 2-3 from SOWP Chapter 12 (Page 524) | |

20 | Class 27 | Recursion Review and In-Class Design Problem: Quicksort •Watch Quicksort video from CS50 | |

25 | Class 28 | Web Programming | |

27 | Class 29 | Wrap-Up and Review
•Watch "What is VCS? Git Basics #1" from GitHub
•Watch "What is Git? Git Basics #2" from GitHub •Watch "GitHub Integration Features in JetBrains IDEs" from JetBrains | A7 Due |

May | |||

5 | Final Exam | Final exam begins at 12:00 noon. |