CSC111 Class Page 2015b
--D. Thiebaut (talk) 11:12, 24 August 2015 (EDT)
Week 1 Sept 7 |
Topics: Introduction, Python, Idle, Piazza, Moodle submission Lab/Hw Reading - Wednesday
- Syllabus
- Expectations
- Pair Programming (video to watch on your own)
- A feel for coding in Python
- Lecture Notes
- Friday
- Review of the lab
- Variables
- assignment,
- variable names
- camelCase notation
- Exercises
- Lecture Notes
- Preparation for Lab 1: you may want to do this before the first lab.
- Lab 1
- Homework 1
- Solution programs can be found at the end of the lab and homework pages
- Read Chapter 1 in Zelle (textbook)
- Read the article on Pair Programming
- Wednesday
Week 2 Sept. 14 |
Topics: Chapter 2: variables, definite loops, input Lab/Hw Reading - Monday: (Lecture presented by Prof. Joe O'Rourke)
- Variables: simultaneous assignment
- Where do variables live?
- Programming: from problem to solution: an iterative process
- definite loops:
- looping through items in a list
- the range() function: allows iteration through various lists of numbers
- Wednesday
- Review & Prep for Lab 2
- Exercises
- Lecture Notes
- Programs developed in class
- Friday
- Numbers of the day:
- Printing, and the idea of emptiness: "" and []
- Programming exercises from the Lecture Notes
- Programs developed in class
- Lab 2
- Homework 2
- Solution programs can be found at the end of the lab and homework pages
- Read Chapter 2 in Zelle.
- Monday: (Lecture presented by Prof. Joe O'Rourke)
Week 3 Sept. 21 |
Topics: Arithmetic operators, math functions, main(). Lab/Hw Reading - Monday:
- Finish the grade program from Friday ( Programs developed in class)
- 4 minutes from Grier's video: When computers were human. Start at time=28m12s.
Women at work tabulating during World War II (Shorpy)
- Operators: * / + - ** // % abs()
- The type() function
- tellerMachine.py example.
- Formatting numbers (see Section 5.8.2 in Zelle), and example program
- Lecture Notes
- Programs developed in class
- Wednesday
- Review the tellerMachine.py program. Review a student's solution using a loop.
- Printing formatted integers and floats with the { } format.
- Review the bar-graph problem and use the { } format to print the box.
- Program organization: from now on, we will be using a main() function.
- int(), round(), float(), abs() ==> the idea of robustness
- Rule for all programs: add a blank line between input section and output section.
- Accumulating results in loops. Example: computing the average age of students in the class.
- Accumulating strings in a loop: Generage a string of 5 groups: "**--**--**"
- Programs developed in class
- Friday
- Monday's class will be on video... stay tuned to Piazza
- Example of Midterm Exam: Warning: some of the questions refer to material that hasn't be covered as of 9/25/15, but will have been covered by the time the test is administered.
- Back to Accumulating results: debugging a loop
- Debugging the program printing alternating patterns
- Review Challenge #7 from Lab 3
- Programs developed in class
- Lecture Notes & (exta)
- Lab 3
- Homework 3
- Solution programs can be found at the end of the lab and homework pages
- Read Chapter 3 in Zelle.
Week 4 Sept. 28 |
Topics: Lab/Hw Reading - Monday:
- Video class today. The class is covered in 3 different videos. Click on the video icons below, from left to right, please!
- Wednesday
- Review & Q&A
- Strings are immutable
- String methods
- On-line documentation: docs.python.orgs
- Exercises
- Programs developed in class
- Lecture Notes
- Friday
- Split()
- Functions
- Lecture Notes
- A video with some words about real numbers and why they behave strangely:
- Programs developed in class
- Lecture Notes
- Lab 4
- Homework 4
- Solution programs can be found at the end of the lab and homework pages
- Read Chapter 6 in Zelle
Week 5 Oct 5 |
Topics: Functions, Files. Lab/Hw Reading - Monday:
- Functions, review
- Functions returning values
- Exercises
- Writing robust programs: they don't crash!
- Lecture Notes
- Programs developed in class
- Wednesday
- Mountain Day?
- Friday
- Review: Functions, parameters, returned values
- Exercises
- Programs developed in class
- Lecture Notes
- We are still working with material from Chapter 6.
Week 6 Oct. 12 |
Topics: Lab/Hw Reading - Monday: Fall Break
- Wednesday
- Files: reading and writing text files
- Processing text information
- Lecture Notes
- Programs developed in class
- Friday: Midterm Exam
- Lab 6
- No homework this week
Week 7 Oct 19 |
Topics: Lab/Hw Reading - Monday:
- Wednesday
- Friday
- Lab
- Homework
Week 8 Oct. 26 |
Topics: Lab/Hw Reading - Monday:
- Wednesday
- Friday
- Lab
- Homework
Week 9 Nov. 2 |
Topics: Lab/Hw Reading - Monday:
- Wednesday
- Friday
- Lab
- Homework
Week 10 Nov 9 |
Topics: Lab/Hw Reading - Monday:
- Wednesday
- Friday
- Lab
- Homework
Week 11 Nov 16 |
Topics: Lab/Hw Reading - Monday:
- Wednesday
- Friday
- Lab
- Homework
Week 12 Nov 23 |
Topics: Lab/Hw Reading - Monday:
- Wednesday: Thankgiving Break
- Friday: Thankgiving Break
- Lab
- Homework
Week 13 Nov 30 |
Topics: Lab/Hw Reading - Monday:
- Wednesday
- Friday
- Lab
- Homework
Week 14 Dec 7 |
Topics: Lab/Hw Reading - Monday:
- Wednesday
- Friday
- Lab
- Homework
Week 15 Dec 14 |
Topics: Lab/Hw Reading - Monday: Last Class
- Final Exam
Links and Resources
Graphics
- Zelle's graphic library can be found here
- A page with color names supported by the graphics library.
On-Line Python books
- disocovermagazine.com blog. Check out the answers posted by many readers. They contain some interesting links that you may find useful!
Python keywords
- The list of all the reserved words of the Python language
- and del for is raise assert elif from lambda return break else global not try class except if or while continue exec import pass yield def finally in print.
Python Programs in Textbook
- All the programs of Zelle's Python textbook
Misc
- If you decide to work in pairs for the lab, you need to follow the protocol for 'pair programming' as discussed in this article.
- Video talks on Python: