Overview
This is just a rough overview of what the focus will be on each week. Details may change as we go along. Below is a class-by-class overview which will develop as the course progresses.
- week 1: rur-ple
- week 2: python: expressions, statements, variables, functions, conditionals, first programming project due
- week 3: binary number system, internal representation of data, working with strings
- week 4: more on strings, loops, presentation (Commander Data's trial), first midterm
- week 5: lists, second programming project due
- week 6: multi-dimensional lists
- week 7: recursion, third programming project
- week 8: file I/O, dictionaries second midterm
- week 9: machine learning, fourth programming project
- week 10: GUI programming, presentations (current AI research)
- Final exam
Class-by-class
Date | What's going to happen in class | How to prepare |
---|---|---|
Mo 1/4 | Introduction. |
Read the syllabus. |
We 1/6 | Intro to rur-ple. Simple commands/functions. Defining functions. "Repeat" loops. |
Fill in the survey. It is linked from the course's Blackboard page. Read the syllabus (if you haven't done so already). |
Th 1/7 |
More rur-ple. Conditionals. If-statements. While loops. ex_2_harvest_1.wld ex_3_harvest_2.wld ex_5_hurdles.wld ex_6_trash.wld ex_8_uneven_hurdles.wld |
Come to class with a solution to this exercise. |
Fr 1/8 |
More rur-ple. Wall following. Worlds: wall_following_1.wld, wall_following_2.wld, wall_following_3.wld, wall_following_4.wld, maze.wld Robot programs: wall_following_1.rur, wall_following_2.rur, wall_following_3.rur |
Come to class with a solution to this exercise. |
Date | What's going to happen in class | How to prepare |
---|---|---|
Mo 1/11 |
Discussion of the Turing paper. Introduction to the Python interpreter. |
Read the paper Computing Machinery and Intelligence by Alan Turing (see the Resources page for a link). Answer these questions. |
We 1/13 | Statements and Expressions. Variables. Simple function definitions. |
Reading: Chapter 2 of "Think Python: How to Think Like a Computer Scientist". |
Th 1/14 | Conditionals. Python math library: documentation |
Reading: Gaddis, Chapter 2 (to review Wednesday's class) Do the first batch of CodeLab exercises before class. |
Fr 1/15 |
More conditionals. |
Reading: Gaddis, Chapter 3 on functions (to review Thursday's class) The first programming project is due today. |
Date | What's going to happen in class | How to prepare |
---|---|---|
Mo 1/18 |
Discussion of Searle's paper. |
Read the paper Is the Brain's Mind a Computer Program? by John Searle (see the Resources page for a link). Answer these questions. Do the next batch of CodeLab exercises. Reading: Gaddis, Chapter 4 on conditionals. |
We 1/20 |
While-loops. Working with strings: indexing and slicing. |
Do this exercise. Turn it in on Blackboard and bring a print out that you can hand in in the beginning of class. Reading: Gaddis, Section 5.2 on while-loops. |
Th 1/21 | Working with strings (ctd.): string methods, for-loops. |
Do the next batch of CodeLab exercises. |
Fr 1/22 |
(More on) defining functions: passing parameters and returning values. |
Date | What's going to happen in class | How to prepare |
---|---|---|
Mo 1/25 |
Commander Data's trial |
|
We 1/27 |
More on defining functions. |
Do the next batch of CodeLab exercises. Reading: Gaddis, Chapters 3 and 6 (functions), Chapter 8 (only the first part about strings) |
Th 1/28 |
Binary numbers. Representing characters and strings using binary numbers. |
Reading: Gaddis, Chapter 1.3 (binary numbers, ASCII) |
Fr 1/29 |
First Midterm Exam. an interview with Jean Bartik (one of the very first programmers) |
Date | What's going to happen in class | How to prepare |
---|---|---|
Mo 2/1 |
Local vs. global variables. Intro to lists. First set of examples: ex_1.py, ex_2.py, ex_3.py, ex_4.py, ex_5.py, ex_6.py |
Nothing special to prepare. But please have a look at the second programming project so that you can plan for the necessary time to work on it. |
We 2/3 |
Working with lists. |
Do the next batch of CodeLab exercises. Reading: Gaddis, Chapter 8 (Lists) |
Th 2/4 |
Swarm intelligence. |
Do the newest batches of CodeLab exercises. (There are two for today. Some of you have already done the first.) |
Fr 2/5 |
More lists. Swarm intelligence. |
Date | What's going to happen in class | How to prepare |
---|---|---|
Mo 2/8 |
Discussion: Who is responsible for software errors? |
Do the next batch of CodeLab exercises. (Some more exercises to practice using for-loops and for-loops with range.) |
We 2/10 |
Searching and sorting lists. |
|
Th 2/11 |
Working with multi-dimensional lists.
Talk by Jeff Orkin. 12:50-1:50. |
|
Fr 2/12 |
Wrapping up lists. |
Date | What's going to happen in class | How to prepare |
---|---|---|
Mo 2/15 |
Discussion: Promises and threats of AI. Intro recursion. |
Review the solution to the "Lights Out" programming exercise. Do the survey on Blackboard. |
We 2/17 |
Recursion |
If you haven't done so, yet, do the survey on Blackboard. |
Th 2/18 |
More recursion. |
Reading: Gaddis, Chapter 11 (Recursion) Do exercise 3 on p. 416 (Gaddis, Ch. 11) and submit your solution on Blackboard. |
Fr 2/19 |
Role of the operating system. File I/O. to get started: gol_with_file_input.py example inputs: gol_mini_input.txt, gol_glider_gun.txt |
The third programming project is due today. Please download a new version of gol_display.py. (Tim K. found an error in the old version.) |
Date | What's going to happen in class | How to prepare |
---|---|---|
Mo 2/22 |
Discussion: Copyright. Python under Linux. |
|
We 2/24 |
More file I/O. to get started: gol_with_file_input.py example inputs: gol_mini_input.txt, gol_glider_gun.txt |
|
Th 2/25 |
Workign with dictionaries and file I/O. bush_state_of_the_union.txt, clinton_state_of_the_union.txt Talk by Richard Stallman. 4:00pm |
Questions for the writ-up on the Stallman talk: What is, according to Stallman, the problem with copyright? How can it be fixed? Do you agree? |
Fr 2/26 |
Second midterm. More on dictionaries. |
Date | What's going to happen in class | How to prepare |
---|---|---|
Mo 3/1 |
Discussion: Privacy. More on dictionaries. |
Do the Codelab exercises for today. Decide on a topic you want to work on for the final presentations. Ask me if you need suggestions or help finding material. |
We 3/3 |
Finishing dictionaries. Intro to neural networks. |
|
Th 3/4 |
Working with neural networks. |
|
Fr 3/5 |
Working with neural networks (ctd.). recognize_9.py, optdigits.tra, optdigits.tes, optdigits.names |
Reading: I postponed the 4th programming projct until the following Monday because we needed a little longer than I had planned for dictionaries. |
Date | What's going to happen in class | How to prepare |
---|---|---|
Mo 3/8 |
Event-driven programming. |
|
We 3/10 |
Event-driven programming. |
Examples: tkinter_1_mainwindow.py, tkinter_2_labels.py, tkinter_3_buttons.py, tkinter_4_quit.py, tkinter_5a_entry.py, tkinter_5b_entry.py, tkinter_6_entry_and_output.py, tkinter_7_frame.py Solution: multiplication_game.py |
Th 3/11 |
Presentations on a current AI research project.
|
|
Fr 3/12 |
Presentations (ctd.).
Review session in Olin 102, 12:50-1:50pm. |
Tue 3/16 |
Final exam. 9-11am in Olin 102. |
---|