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 | |||
10 | Lecture 1+2 | Course Overview
Environment Setup —Watch "
What Most Schools Don't Teach" from Code.org
Introduction to Computers and Programming
—Read " Why Coding Is Still The Most Important Job Skill Of The Future" from Fast Company —Watch " Libraries Ready to Code" from the ALA —Read
SOWP Chapter 1
—Watch " How computer memory works" from the TED Ed series —Exercises 3-5 from SOWP Chapter 1 |
A1 Assigned: Hello, World |
17 | Snow day! | Class canceled. |
A1 Due |
24 | Lecture 3+4 | Types, Variables, and Operators
—Read
SOWP Chapter 2: Sections 2.1-2.9
Decision Structures
—Algorithm Workbench Problems 2, 4, 8, 10 from SOWP Chapter 2 —Read
SOWP Chapter 3: Sections 3.1-3.6
—Algorithm Workbench Problems 2-4 from SOWP Chapter 3 |
A2 Assigned: Compound Interest |
31 | Lecture 5+6 | Repetition with Loops
—Read
SOWP Chapter 4: Sections 4.1-4.4
Repetition with Loops Part 2
—Algorithm Workbench Problems 3-4 from SOWP Chapter 4 —Read
SOWP Chapter 4: Sections 4.5-4.7
—Algorithm Workbench Problems 6, 8 from SOWP Chapter 4 |
A2 Due
A3 Assigned: Square Roots |
February | |||
7 | Lecture 7+8 | Functions Part 1
—Read
SOWP Chapter 5: Sections 5.1-5.6
Functions Part 2
—Algorithm Workbench Problems 1, 2, 3, 4 from SOWP Chapter 5 —Read
SOWP Chapter 5: Sections 5.7-5.10
—Algorithm Workbench Problems 8, 9, 10 from SOWP Chapter 5 |
A3 Due
A4 Assigned: Blackjack |
14 | Lecture 9 + Review |
Dre out of town -- guest lecturer
Abstraction and Decomposition: Problem Sovling By "Breaking it Down"
Review Checkpoint One: Come prepared with your questions!
|
|
21 | Lecture 10+11 | Working with Files
—Read
SOWP Chapter 6: Sections 6.1-6.3
Catching and Handling Exceptions
—Algorithm Workbench Problem 1 from SOWP Chapter —Read
SOWP Chapter 6: Section 6.4
—Algorithm Workbench Problems 9, 10 from SOWP Chapter 6 |
A4 Due
A5 Assigned: Assigning Grades |
28 | Lecture 12 + Review | Lists
—Read
SOWP Chapter 7: Sections 7.1-7.4
—Short Answer Problems 1-5 from SOWP Chapter 7 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 |
March | |||
7 | Lecture 13+14 | Lists Part 2
—Read
SOWP Chapter 7: Sections 7.5-7.7
Lists Part 3, Tuples
—Algorithm Workbench Problem 4 from SOWP Chapter 7 —Read
SOWP Chapter 7: Sections 7.8-7.9
—Algorithm Workbench Problem 8 from SOWP Chapter 7 |
A5 Due
E1 Due A6 Assigned: Managing Collections |
14 | Spring Break | ||
21 | Lecture 15+16 | Strings
—Read
SOWP Chapter 8
Dictionaries
—Short Answer Problems 1-5 from SOWP Chapter 8 —Read
SOWP Chapter 9: Section 9.1
—Short Answer Problems 1-6 from SOWP Chapter 9 |
|
28 | Lecture 17+18 | More Dictionaries; Sets
—Read
SOWP Chapter 9: Section 9.2
Introduction to the Object-Oriented Paradigm (OOP)
—Short Answer Problems 13-17 from SOWP Chapter 9 |
|
April | |||
4 | Lecture 19+20 | Classes and Instances in Python: Part 1
—Read
SOWP Chapter 10: Sections 10.2-10.4
Classes and Instances in Python: Part 2
—Short Answer Problems 1-4 from SOWP Chapter 10 —Short Answer Problems 5-7 from SOWP Chapter 10 |
A6 Due
A7 Assigned: Battleship |
11 | Lecture 21+22 | In-Class Design Problem: Battleship; Inheritance
—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. —Read
SOWP Chapter 11
—Short Answer Problems 1-3 from SOWP Chapter 11 |
|
18 | Lecture 23+24 | Recursion
—Read
SOWP Chapter 12
—Algorithm Workbench Problems 2-3 from SOWP Chapter 12 |
|
25 | Lecture 25 + Review | In-Class Design Problem: Quicksort
—Watch
Quicksort video from CS50
Web Programming
VCS
—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 | |||
3 | Final Exam | Final exam begins at 7:00pm. |