Difference between revisions of "CSC111 Class Page 2010"
(→Spring Break) |
(→Weekly Schedule) |
||
(48 intermediate revisions by the same user not shown) | |||
Line 167: | Line 167: | ||
* '''Monday''' | * '''Monday''' | ||
** Random poems, revisited: A look at the work of Eitan Mendelowitz on an interactive setup where random poems are generated. [http://www.aiaesthetic.com/DraftingPoems/1.mpg Eitan Mendelowitz's installation, Drafting Poems]<br /> | ** Random poems, revisited: A look at the work of Eitan Mendelowitz on an interactive setup where random poems are generated. [http://www.aiaesthetic.com/DraftingPoems/1.mpg Eitan Mendelowitz's installation, Drafting Poems]<br /> | ||
− | ** In this video, play close attention to the digital horses, and how, in the preliminary movie, we see how the horses are just collections of fixed size blocks (cylinders) attached to each other. <videoflash> | + | ** In this video, play close attention to the digital horses, and how, in the preliminary movie, we see how the horses are just collections of fixed size blocks (cylinders) attached to each other. <videoflash>4GxPrESfdnM</videoflash><br /> |
** In the next video, the scarabs are objects (''particles'') that move on their own, in a given direction, avoiding collision with objects. <videoflash>xTf3KiHx3h0</videoflash> | ** In the next video, the scarabs are objects (''particles'') that move on their own, in a given direction, avoiding collision with objects. <videoflash>xTf3KiHx3h0</videoflash> | ||
** What happens if you connect basic shapes together ''at random'', connect them with articulation points, give them energy to move one block around the other, and iterate hundred of thousands of times and keep the best solutions to generate new ones?<videoflash>_f-LORZ2EFU</videoflash><br /> (and more videos on this [[Genetic_Programming_and_Music|page]]). <br /> | ** What happens if you connect basic shapes together ''at random'', connect them with articulation points, give them energy to move one block around the other, and iterate hundred of thousands of times and keep the best solutions to generate new ones?<videoflash>_f-LORZ2EFU</videoflash><br /> (and more videos on this [[Genetic_Programming_and_Music|page]]). <br /> | ||
Line 208: | Line 208: | ||
---- | ---- | ||
* No Lab this week. Midterm instead! | * No Lab this week. Midterm instead! | ||
− | * [[CSC111_Homework_7 | Homework #7]] (due week after Spring break) | + | * [[CSC111_Homework_7 | Homework #7]] (due week after Spring break) and its [[CSC111 Homework 7 Solution | solution program]]. |
|| | || | ||
* Sections 7.1 and 7.2 on Simple Decisions and Two-Way decisions in Zelle. | * Sections 7.1 and 7.2 on Simple Decisions and Two-Way decisions in Zelle. | ||
Line 242: | Line 242: | ||
|- style="background:#ffdead;" | |- style="background:#ffdead;" | ||
|'''Week''' || '''Topics''' || '''Reading''' | |'''Week''' || '''Topics''' || '''Reading''' | ||
− | |||
− | |||
|- style="background:#ffffff" valign="top" | |- style="background:#ffffff" valign="top" | ||
− | | Week 9 <br /> 3/22 | + | |width="15%"| Week 9 <br /> 3/22 |
− | || | + | |width="60%"| |
* '''Monday''' | * '''Monday''' | ||
** Variations on a scheme: Graphics and if/else statements | ** Variations on a scheme: Graphics and if/else statements | ||
Line 255: | Line 253: | ||
** Moving a ball around: [[CSC111 moveBall.py | moveBall.py]]. We stopped with this version: [[CSC111 moveBall2.py | moveBall.py, Version 2]] | ** Moving a ball around: [[CSC111 moveBall.py | moveBall.py]]. We stopped with this version: [[CSC111 moveBall2.py | moveBall.py, Version 2]] | ||
* '''Friday''' | * '''Friday''' | ||
+ | ** Q&A and review of the lab | ||
+ | ** Using try/except | ||
+ | ** elif tests | ||
---- | ---- | ||
* [[CSC111_Lab_8 | Lab #8 ]] and [[CSC111 Lab 8 Solution Programs | Solution Programs]] | * [[CSC111_Lab_8 | Lab #8 ]] and [[CSC111 Lab 8 Solution Programs | Solution Programs]] | ||
− | * [[CSC111_Homework_8 | Homework #8]] | + | * [[CSC111_Homework_8 | Homework #8]] and its [[CSC111 Homework 8 Solution | solution]]. |
|| | || | ||
* We're still in Chapter 7 of Zelle. | * We're still in Chapter 7 of Zelle. | ||
+ | * And we are done at the end of the week! | ||
<!-- ================================================================== --> | <!-- ================================================================== --> | ||
Line 266: | Line 268: | ||
|| | || | ||
* '''Monday''' | * '''Monday''' | ||
+ | ** Review of for loops: break, continue, return | ||
+ | ** A couple programs to start with: [[CSC111 For-Loop Programs | demo programs]] | ||
* '''Wednesday''' | * '''Wednesday''' | ||
+ | ** While Loops | ||
+ | ** [[CSC111 Exercises on Loops|Loop Exercises]] | ||
+ | ** Accessing Web pages: [[CSC111 getWeather.py| getWeather.py]], a program that gets the temperature from http://www.weather.com/weather/today/01060 | ||
* '''Friday''' | * '''Friday''' | ||
+ | ** deMorgan's Laws | ||
+ | ** Python: language vs. libraries/modules | ||
+ | ** how to import modules/libraries | ||
+ | ** urllib2 (example with http://xgridmac.dyndns.org/cgi-bin/getWikiPageById.cgi) | ||
+ | ** Accessing data on the Web | ||
---- | ---- | ||
− | * [[CSC111_Lab_9 | Lab #9 ]] | + | * [[CSC111_Lab_9 | Lab #9 ]] and [[CSC111 Lab 9 Solution Programs | solution programs]] |
− | * [[CSC111_Homework_9 | Homework #9]] | + | * [[CSC111_Homework_9 | Homework #9]] and [[CSC111 Homework 9 Solutions | solution programs]] |
|| | || | ||
− | + | * Chapter 8 | |
<!-- ================================================================== --> | <!-- ================================================================== --> | ||
Line 279: | Line 291: | ||
|| | || | ||
* '''Monday''' | * '''Monday''' | ||
+ | ** Introduction to OOP | ||
+ | ** OOP and graphics | ||
+ | ** [[CSC111 A class for a simple car| Python programs defining and using classes]] | ||
* '''Wednesday''' | * '''Wednesday''' | ||
+ | ** Creating a class for a car using the class Wheel created on Monday | ||
+ | ** Another class example holding student information | ||
+ | *** [[CSC111 studentClass Programs | studentClassN.py]] | ||
* '''Friday''' | * '''Friday''' | ||
+ | ** [[CSC111 Lab10 Solution 1 | Solution program for Lab 10]], Part 1. | ||
---- | ---- | ||
* [[CSC111_Lab_10 | Lab #10 ]] | * [[CSC111_Lab_10 | Lab #10 ]] | ||
− | * [[CSC111_Homework_10 | Homework #10]] | + | * [[CSC111_Homework_10 | Homework #10]] and its [[CSC111 Homework 10 Solution | solution program]] |
|| | || | ||
− | + | Read Chapter 10! | |
<!-- ================================================================== --> | <!-- ================================================================== --> | ||
|- style="background:#eeeeff" valign="top" | |- style="background:#eeeeff" valign="top" | ||
− | | Week 12 <br /> 4/12<br /> | + | | Week 12 <br /> 4/12<br /> |
|| | || | ||
* '''Monday''' | * '''Monday''' | ||
+ | ** [[CSC111 defaultParameters.py | Default parameter values]] | ||
+ | ** More programming with classes: [[CSC111 studentClass Programs | studentClassN.py]] | ||
+ | ** Date/Time example [[CSC111 DateTimeExample.py | program]] | ||
+ | ** Sending mail from a [[CSC111 sendMail.py | Python program]] | ||
* '''Wednesday''' | * '''Wednesday''' | ||
+ | ** Class inheritance: [[CSC111 myRectangle2.py | myRectangle2.py]] | ||
+ | ** Using the graphics car of Lab10 as the base and derived classes | ||
+ | *** [[CSC111 carLab10.py | carLab10.py ]] | ||
+ | *** [[CSC111 newCarLab10.py | newCarLab10.py ]] | ||
+ | |||
* '''Friday''': <font color="orange">No Class</font> | * '''Friday''': <font color="orange">No Class</font> | ||
---- | ---- | ||
− | * [[CSC111_Lab_11 | Lab #11 ]] | + | * [[CSC111_Lab_11 | Lab #11 ]] and [[CSC111 Lab 11 Solution Program | Solution]] |
− | * [[CSC111_Homework_11 | Homework #11]] | + | * [[CSC111_Homework_11 | Homework #11]] and its [[CSC111 Homework 11 solution program]] |
|| | || | ||
− | + | * We're still in Chapter 10. | |
+ | * Default argument (parameter) values are covered in [http://docs.python.org/tutorial/controlflow.html#default-argument-values Python.org] | ||
<!-- ================================================================== --> | <!-- ================================================================== --> | ||
Line 305: | Line 334: | ||
|| | || | ||
* '''Monday''' | * '''Monday''' | ||
+ | ** Review last lab ([[CSC111 Lab 11 Solution Program | lab11.py]]) | ||
+ | ** Creating a module with [[CSC111 newCarLab10.py | newCar.py]], containing an inherited class. | ||
+ | ** A view of Programming Languages | ||
+ | <center><videoflash>cc5gIj3jz44</videoflash></center> | ||
+ | <center><videoflash>1uIzS1uCOcE</videoflash></center> | ||
+ | |||
* '''Wednesday''' | * '''Wednesday''' | ||
+ | ** A word on [http://docs.python.org/tutorial/datastructures.html#list-comprehensions list comprehension]. Look for an illustration of this python feature in the [[CSC111_Homework_10_Solution |solution program for HW 10]] | ||
+ | ** Dictionaries. How to use them. How they work. | ||
+ | ** Ulysses by James Joyce: available [http://www.gutenberg.org/files/4300/4300.zip here]... | ||
+ | ** [http://en.wikipedia.org/wiki/Letter_frequency Letter Frequency in English] and other languages... | ||
+ | ** [[CSC111 Search1M.py| search1M.py]] search in a million-record list | ||
+ | ** [[CSC111 Search1MHash.py | search1MHash.py]] search in a million-record hash table | ||
+ | ** Dictionaries: [[CSC111 countwords.py| countwords.py]] | ||
* '''Friday''' | * '''Friday''' | ||
+ | ** Designing a new language from scratch. | ||
+ | ** Review Lab | ||
---- | ---- | ||
− | * [[CSC111_Lab_12 | Lab #12 ]] | + | * [[CSC111_Lab_12 | Lab #12 ]] and [[CSC111 Lab 12 Solution | Solution program]] |
− | * [[CSC111_Homework_12 | Homework #12]] | + | * [[CSC111_Homework_12 | Homework #12]] and its [[CSC111 Homework 12 Solutions | solution programs]] |
|| | || | ||
− | + | * Dictionaries are covered in Chapter 11 | |
+ | * List comprehension is presented in [http://docs.python.org/tutorial/datastructures.html#list-comprehensions Python.org], Section 5.1.4 in [http://docs.python.org] | ||
<!-- ================================================================== --> | <!-- ================================================================== --> | ||
Line 318: | Line 363: | ||
|| | || | ||
* '''Monday''' | * '''Monday''' | ||
+ | ** [[CSC111 Experiment: Designing a new language| Designing a new language]] | ||
+ | ::<videoflash>5X8cM2JiqzI</videoflash> | ||
+ | ** Introduction to Recursion | ||
+ | ***[[CSC111 RecursiveFactorial.py | factorial.py]] | ||
+ | ***[[CSC111 BinarySearch.py | binarySearch.py ]] | ||
+ | [[Image:SuperMan.jpg|100px|right]] | ||
* '''Wednesday''' | * '''Wednesday''' | ||
− | * '''Friday''': <font color="orange">Last Class</font> | + | ***[[CSC111 RecursiveFactorial.py | factorial.py]] |
+ | ***[[CSC111 BinarySearch.py | binarySearch.py ]] | ||
+ | **[[CSC111 maze.py | maze.py]] | ||
+ | * '''Friday''': <font color="orange">Last Class</font> | ||
+ | ** Presentation of the Final take home exam | ||
---- | ---- | ||
− | * [[CSC111_Lab_13 | Lab #13 ]] | + | * [[CSC111_Lab_13 | Lab #13 ]] and [[CSC111 Lab 13 Solutions | solution programs]] |
* [[CSC111_Final_Exam | Final Exam]] | * [[CSC111_Final_Exam | Final Exam]] | ||
|| | || | ||
− | + | * Recursion is covered in Chapter 13. Read Sections 13.1 and 13.2. | |
− | |||
|} | |} | ||
Latest revision as of 10:17, 2 April 2015
Contents
Prof and TAs
Dominique Thiébaut email |
|
Click here for TA hours this week.
Weekly Schedule
Week | Topics | Reading |
Week 1 1/25 |
|
|
Week 2 2/1 |
|
|
Week 3 2/8 |
|
|
Week 4 2/15 |
|
|
Week 5 2/22 |
|
|
Week 6 3/1 |
|
|
Week 7 3/8 |
|
|
Spring Break
Week | Topics | Reading |
Week 9 3/22 |
|
|
Week 10 3/29 |
|
|
Week 11 4/5 |
|
Read Chapter 10! |
Week 12 4/12 |
|
|
Week 13 4/19 |
|
|
Week 14 4/26 |
|
|
Links and Resources
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
Linux
- Getting Started with Linux (from U. North Carolina, Chapel Hill)
- Intermediate Linux (from U. North Carolina, Chapel Hill)
- A good Emacs tutorial
- Emacs Quick Reference
Misc
- If you decide to work in pairs for the homework assignments, you need to follow the protocol for 'pair programming' as discussed in this article.
- Video talks on Python:
- All the programs of Zelle's Python textbook
- a video of digital horses: what we can do with lists of objects!
Software
- Installing and using the Secure Shell Client on a Windows PC.
- Using SSH on Windows, Linux, or on a Mac with OS X
Math
Back To Main Page