Calendar
References
- Python.org's Python Tutorial
- python.org
- How to Think Like a Computer Scientist
- How to Think Like a Computer Scientist @ Open Book Project (new version currently being written - not all chapters are there!)
- How to Think Like a Computer Scientist @ Green Tree Press
- Dive into Python book
- List of Python Modules (take a peek at the math module)
- keywords vs. identifiers
- Software:
- python/IDLE for windows
- python/IDLE for Mac python/IDLE for Macs. Click on "an installer for the latest version, but then pick packages for version 2.4. Don't worry about all the packages listed.
- CoC Tutoring
Week 1:
- Course Syllabus
- Great article on O'Reilly's website
- Excellent Usenix article
- Read chapter 1 - How to Think Like a Computer Scientist (thinkCSpy)
- Playing around in the interpretive "shell"
- Script to calculate hypotenuse
- Better script to calculate hypotenuse (has user input)
- Script to calculate area of circle (with user input)
- Work on Lab 1 (posted under assignments on T Square. See link on navigation bar above.) Contact TAs or Monica immediately with any issues .
- Work on HW 1 (coming soon)
- Read chapter 2 (How to think like a computer scientist)
- Script to convert Fahrenheit to Celsius
- Script to calculate area of circle
Week 2: August 27-31
- Read chapter 2 (How to think like a computer scientist)
- List of Python Modules (take a peek at the math module)
- keywords vs. identifiers
- Notes about variables, operators, etc
- day 4 python shell
- function radian
- Notes about print formatting
- more notes: week2-day1.txt - printing, commenting, operator precedence, quoting, etc
- ...
- Notes about print formatting
- See section 11.2 (although this about writing to files, it still has good examples of the string formatting.) for some more print formatting examples
- script to print an E e.py
- Chapter 3 (thinkCSpy)
- celsius_module.py - celsius converter written as a function
Week 3: Sept 3 - Sept 7
- Chapter 4 (thinkCSpy)
- tickets.py
- tickets2.txt
- week2-day3.txt - to and from binary (base 2 numbers)
- operators.txt
Week 4: Sept 10- Sept 14
-
Exam
1 practice
- Exam 1 Friday!
Week 5: Sept 17 - Sept 21
- Read chapters 4 & 5 (How to think like a computer scientist)
- factorial.py using mathematical recursion!
- A recursive game of High Low
- craps.py using random and recursion!
- How to make a menu driven list of choices for the user recursively
- notes-ch5.txt (some reasons for writing functions)
- While loop - read chapter 6
- while.txt
- while.py - using a while loop to repeat (average, summation, triangle, etc)
Week 6: Sept 24 - Sept 28
- factorialWhile.py
- How can we decide if a word is a palindrome? (Um, first, what is a palindrome?) (two palindrome algorithms and also a reverse function - working with Strings)
- How can we reverse some text?
- Easiest way
- Recursive way
- With a while loop? 1) using the indices or 2) slicing
- whilePrompting.py program that loops on a menu
- Read 7.1, 7.2, 7.4, 7.5 - Intro to Strings
- notes-ch7.txt
- String class
- reverseIt.py - String indexing, slicing, reversing
- Strings code notes
- ...
- Incremental development and planning what you will code: designing an algorithm
- Our rough scrambled word algorithm and then the resultant scrambled word game.
Week 7: Oct 1 - Oct 5
- Chapter 8 - sequences, range, for loop
- arrays2.py - average a list
- Monte Carlo Pi Approx. with for loop
- handy chart of some string (or any *sequence*) operations
- handy chart of sequence/array operations (will not work on strings!)
- range function to generate a sequence
- the for loop is very handy to iterate through a sequence
(list) of things.
- rarely it will be through a literal sequence of things like ["apple", "orange", "banana"]
- often it could be through a list of numbers generated by the range function
Week 8: Oct 8 - Oct 12
- Fall Break Monday, Tuesday
- In class quiz over for loops and range and answers
- index of minimum
- more index of minimum
- for loop could even go through a sequence which has a list of your files and folders! (os module and listdir in action!)
- listdir function from os module
- join, isfile, isdir functions from os.path
- listdir.py
Week 9: Oct 15 - Oct 19
- Discussion on HTML - start your lab 3 now!
- Exam 2 in class Friday!!
- old exam2
- another old exam2
- Practice Exam and some topics:
- binary numbers
- recursion
- while loops
- range
- for loops
- String manipulation and methods in String class
- sequence manipulation
- os module with specifically: listdir, isdir, isfile, join (slash issue)
Week 10: Oct 22 - Oct 26
- find, findAll, binary search
- binary search
- selection sort
- selection sort with better abstraction
- Writing to a file
- Generating HTML and writing to a file
- readFile.py
- readData2D.py
- readTimeFromURL.py
- Revisit selection sort
Week 11: Oct 29 - Nov 2
- Searching and sorting
- working with 2-d arrays
Week 12: Nov 5 - Nov 9
- Generalizing functions (passing functions as parameters) and python's built-in map/filter/reduce functions
- map,reduce,filter documentation
- more map,reduce,filter tutorial
- generalizing functions
- filter and map
- reduce
- PRACTICE with map, reduce, and filter
- PRACTICE solutions
- List comprehensions
- List comprehensions code
- Histograms and frequencies!
- Chap 9: Tuples
- tuples.py
- tuples interactive window
- Chap 10: Dictionaries (also known as hashtables.)
- Dive into Python online book - dictionaries
- Using dictionaries: hash.py
- hash-interactive.txt
Week 13: Nov 12 - Nov 16
- Exam 3 practice problems - UPDATED FROM CLASS
- Exam 3 practice solutions (some of them)
- Exam 3 Friday
Week 14: Nov 19 - Nov 23
- Ch 11.5 exceptions
- Python tutorial 8.3: Handling Exceptions
- Python tutorial 8.6: Finally clause
- Exception handling: exceptions.py
- exceptionAverage.py
- Class Canceled Wednesday
- Thanksgiving Break! (Thursday, Friday)
Week 15: Nov 26 - Nov 30
- Object oriented programming (but chap 14 is where it gets good)
- OOCard.py
- whoGoes.py
- Dice.py
Week 16: Dec 3 - Dec 7
- Review on Wednesday and Friday
- exam 1
- exam 2
- exam 3
- Review problems from Wednesday
- Review problems from Friday
Week 17: Dec 12
- Final exam is Wednesday, Dec 12 at 2:50pm in our classroom