Difference between revisions of "CSC111 Class Page 2018"
Line 11: | Line 11: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 1''' | + | |width="45%"|'''Week 1''' Jan 26 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 24: | Line 24: | ||
|-valign="top" | |-valign="top" | ||
| | | | ||
− | * ''' | + | * '''Friday''' |
** Syllabus | ** Syllabus | ||
** Expectations | ** Expectations | ||
Line 30: | Line 30: | ||
::<center><videoflash>vgkahOzFH2Q</videoflash> | ::<center><videoflash>vgkahOzFH2Q</videoflash> | ||
** A feel for coding in Python | ** A feel for coding in Python | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
** [http://cs.smith.edu/dftwiki/media/CSC111_2018_Week1Notes.pdf Lecture Notes] | ** [http://cs.smith.edu/dftwiki/media/CSC111_2018_Week1Notes.pdf Lecture Notes] | ||
| | | | ||
− | * [[CSC111_Preparation_for_Lab_1_2018 | Preparation for Lab 1]]: you may want to do this before the first lab. | + | * <!-- [[CSC111_Preparation_for_Lab_1_2018 | Preparation for Lab 1]]: you may want to do this before the first lab. |
* [[CSC111 Lab 1 2018 | Lab 1]] | * [[CSC111 Lab 1 2018 | Lab 1]] | ||
* [[CSC111 Homework 1 2018 | Homework 1 ]] | * [[CSC111 Homework 1 2018 | Homework 1 ]] | ||
− | * <font color="magenta">Solution programs can be found at the end of the lab and homework pages</font> | + | * <font color="magenta">Solution programs can be found at the end of the lab and homework pages</font> --> |
| | | | ||
* Read Chapter 1 in Zelle (textbook) | * Read Chapter 1 in Zelle (textbook) | ||
Line 57: | Line 48: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 2''' | + | |width="45%"|'''Week 2''' Jan. 29 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 70: | Line 61: | ||
|-valign="top" | |-valign="top" | ||
| | | | ||
− | * | + | * Monday/Wednesday/Friday |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| | | | ||
− | * | + | * |
− | |||
− | |||
− | |||
| | | | ||
* Read Chapter 2 in Zelle. | * Read Chapter 2 in Zelle. | ||
Line 107: | Line 75: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week 3''' | + | |width="45%"|'''Week 3''' Feb. 5 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' | ||
Line 120: | Line 88: | ||
|-valign="top" | |-valign="top" | ||
| | | | ||
− | * '''Monday | + | * '''Monday, Wednesday, Friday''' |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
| | | | ||
− | * | + | * |
− | |||
| | | | ||
* | * | ||
Line 164: | Line 101: | ||
---- | ---- | ||
{| style="width:100%" border="0" | {| style="width:100%" border="0" | ||
− | |width="45%"|'''Week | + | |width="45%"|'''Week 4''' Feb. 12 |
|width="20%"| ''' ''' | |width="20%"| ''' ''' | ||
|width="25%"| ''' ''' | |width="25%"| ''' ''' |
Revision as of 12:44, 16 January 2018
D. Thiebaut (talk) 11:45, 16 January 2018 (EST)
Week 1 Jan 26 |
Topics: Introduction, Python, Idle, Piazza, Moodle submission Lab/Hw Reading - Friday
- Syllabus
- Expectations
- Pair Programming (video to watch on your own)
- A feel for coding in Python
- Lecture Notes
- Read Chapter 1 in Zelle (textbook)
- Read the article on Pair Programming
- Friday
Week 2 Jan. 29 |
Topics: Chapter 2: variables, definite loops, input Lab/Hw Reading - Monday/Wednesday/Friday
- Read Chapter 2 in Zelle.
Week 3 Feb. 5 |
Topics: Arithmetic operators, math functions, main(). Lab/Hw Reading - Monday, Wednesday, Friday
Week 4 Feb. 12 |
Topics: Processing Files Lab/Hw Reading - Monday:
- Finish Dynamic Web Page example
- The IF statement
- Boolean values: True and False
- Wednesday
- Boolean operators: and, or, and not
- Graphics
- Graphics library
- Simple graphic programs
- Friday
- Graphic objects: everything is an object!
- Measuring distances between points on the graphic window.
- Something fun: Eliza
- Chapter 7 in Zelle
- Documentation for the graphics.py library
Week 8 Oct. 26 |
Topics: Lab/Hw Reading - Monday:
- Review if statements and Boolean variables
- Exercises on boolean variables and boolean functions
- is there a negative number in a list of numbers?
- count the number of negative numbers in a list of numbers
- Back to Eliza
- Lecture Notes
- Wednesday
- Exact and Inexact Matching Algorithms
- Break and Continue
- Lecture Notes
- Friday
- Exercise with While loop
- Programming patterns for looking at text data (review of Lab 8)
- Processing Text
- Man in the Hole (Kurt Vonnegut, Matthew Jokers)
- Memory Project (Tim O'Brien, Wordle)
- Indefinite loops are covered in Chapter 8 in Zelle.
Week 9 Nov. 2 |
Topics: Exceptions, Classes, and Objects Lab/Hw Reading - Monday:
- Exceptions
- Classes and Objects
- Programs developed in class
- Lecture notes
- Wednesday
- Cats, cats, cats
- Creating a Cat class
- Default string representation: __str__()
- A list of cats
- Reading cats from a CSV file
- Searching a list of objects
- Friday
- Object-Oriented Graphics
- Creating a wheel class
- Moving the wheel
- Creating a car class
- Moving the car
- A list of cars...
- Horse objects. In the "Digital Horses" video, you get to see how the animators for the movie The Lord of the Rings create software objects to represent horses. In some parts of the video, below, you see that in some cases, horses are a collection of 3D shapes that are connected to each other, and move together around articulation points. This should remind you of how we built a car class around geometrical 2D objects.
- The video below shows similar examples of 3D objects, and lists of 3D objects where objects have their own behavior (the same way that our car objects have their own speed and direction of movement).
- Programs developed in class
- Lecture notes
- (You can go to this site to print graph paper)
- Description of Graphics Library objects
- Section 7.4 in Zelle, on Exceptions
- Chapter 10: Defining Classes
Week 10 Nov 9 |
Topics: Image Processing Lab/Hw Reading - Monday:
- Image processing
- Displaying gif images
- Sweep through an image: vertical sweep, horizontal sweep
- Changing the color of a pixel
- Changing the color of all the pixels of an image
- Grey scales
- Saturation
- Lecture Notes
- Programs developed in class
- Wednesday
- Mirroring
- Displaying a chessboard
- Creating the graphics for a game of checkers
- Lecture Notes
- Programs developed in class
- Friday
- No class today (conference in Seattle), but there is a video lecture to watch on your own... Stay tuned!
- Slides for Video Presentation
- DT's video presentation
- Page with Prof. Helene Visentin's presentation
- Quiz: go to Moodle, and look for the Week 10 LAM section.
Week 11 Nov 16 |
Topics: LAM, User Interface, Widgets, Button, digitizing and rendering a Map Lab/Hw Reading - Monday:
- Introduction to the LAM project this week
- The problem we will solve this week
- User Interface: widgets and buttons
- Using buttons to control user interaction
- Polygons. Creating polygons, saving polygons to a CSV file
- Lecture Notes
- Programs developed in class
- Wednesday
- Crowd-Sourcing: assignment for the day: defining the format in the CSV flle.
- Sharing the CSV file
- Animation loop with win.checkMouse() ==> animation
- Lecture Notes
- Programs developed in class
- Friday
- Review Lab 11
- Edit shared csv file with proper names
- Merging file information
- Color-coding by date
- Application: Fish in an aquarium
- Lecture Notes
- Programs developed in class
Week 12 Nov 23 |
Topics: Lab/Hw Reading - Monday:
- The new CSV File for Homework 11
- A few words about filtering a CSV file
- Something different And now for something completely different...
- Lecture Notes
- Programs developed in class
- Wednesday: Thankgiving Break
- Friday: Thankgiving Break
- No Lab
- No Homework. Just the continuation of Homework 11.
- Zelle, Section 11.6 on Dictionaries.
Week 13 Nov 30 |
Topics: Lists of lists, Inheritance Lab/Hw Reading - Monday:
- Filtering and cleaning up text information.
- The data files for today can be found here.
- Introduction to Class Inheritance
- Programs developed in class
- Lecture Notes
- Wednesday
- Introduction to Class Inheritance
- Programs developed in class
- Lecture Notes
- Friday
- Continuation of the concept of Class Inheritance
- Introduction to Polymorphism
- Programs developed in class
- Lecture Notes
- Chapter 11 on Lists of lists
- Chapter 12 in Zelle, on Objects and Inheritance
Week 14 Dec 7 |
Topics: Recursion Lab/Hw Reading - Monday:
- Introduction to Recursion and Recursive Functions
- Class exercise with a bunch of bananas. Everbybody's a minion...
- Finding a banana, recursively
- Programs developed in class
- Lecture Notes
- Wednesday
- A look at some of the Maps of HW 11.
- Visiting a Maze
- Fractal Trees
- Revisiting the Towers of Hanoi problem
- Programs developed in class
- Lecture Notes
- Friday
- No Class!
- A sample of wrapping paper styles...
- Read Chapter 13 in Zelle.
Week 15 Dec 14 |
Topics: Lab/Hw Reading - Monday: Last Class: Presentation of the take-home final exam, which will be due at 4:00 p.m. on the last day of exams.
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
- When you work in pairs during the labs, or on homework assignments, you need to follow the protocol for 'pair programming' as discussed in this article.
- Video talks on Python:
Maps of Smith College
This section contains various maps to be used in the Liberal Arts Module (LAM). If you want to use one of these images, and want the original, click twice on the image, until you get it by itself, full size, in your browser. Then you can either right click or control click on it to save it to your computer.
Original Map from GIS Center, Smith College
This map was generated by Emily Kim.
The original of the image below can be found here. It is huge, be careful!
Edited Full Map, Smith College, PNG format
Edited, Cropped Map, Smith College, GIF format
This image is 750 × 730 pixels.
Additional Maps from the Smith GIS lab
Thanks to Jon Caris, of the GIS Lab, for sending these maps.
(The darker trees are conifers)