This course explores the foundational concepts for current programming techniques utilizing the Python programming language. The course is based on the work of Dr. Charles Severance at the University of Michigan utilizing his book Python for Everybody: Exploring Data in Python 3—largely an adaptation of the book Think Python by Allen B. Downey—videos, lecture slides, and code examples licensed for use under the Creative Commons Attribution 3.0 license. (Source: https://www.py4e.com)
Download the book in epub format using this link: Python for Everyone: Exploring Data in Python 3 and open it using iBooks or other epub reader. It is also available for checkout from the Trinity Library using the Sora app or as an interactive online book.
The Python Software Foundation site is a secondary text for this class and the final authority on using the language.
The set of exercises for each module is weighted equally in computing the course grade. The final project serves as an exam counting twenty percent of the semester grade. Grades are assigned by the standard Trinity grade scale with all work scored using the following rubric unless otherwise stated in the assignment:
Projects are due at 10:00 pm on the due date with a deduction of 1 point per 2 school days made for late work. No partial deductions will be made so there exists a 24 hour grace period. You must create a free Github account to obtain the required files and do the work for this class. Only work in your GitHub repository will be accepted for credit.
Class meetings are once or twice a week Tuesday and Thursday afternoons as indicated in the Google classroom calendar. Students are expected to work independently during the block periods when class does not meet and since any Internet connected computer can access the class website where the class lessons and materials are provided, students are expected to complete their work even when they are not present at school. The schedule listed below serves as a guideline for pacing of the class, but may change if needed as the semester progresses. Please note new material is not introduced after April 30 with the month of May reserved for the final project.
1/16–1/21
Module 1
Why should you learn to write programs?
1/22–2/3
Module 2
Variables, expressions, and statements
2/4–2/14
Module 3
Conditional execution
2/18–3/2
Module 4
Functions
3/3–3/19
Module 5
Iteration
3/20–3/31
Module 6
Strings
4/1–4/16
Module 7
Files
4/17–4/23
Module 8
Lists
4/24–4/28
Module 9
Tuples
4/24–4/30
Module 10
Dictionaries
5/1–5/18
The month of May is reserved for completing the final project that serves as a final exam for the class and counts no less than twenty percent of the grade. Multiple options are provided for the final exam allowing choice how to demonstrate mastery of the basic programming concepts covered in this class. My expectation is for all students to master the material and earn an A grade in the class.