The syllabus for this course is here.
I covered sections 1.2, 1.3, 2.2, and 2.3 in the text. You should read these sections. Here are the slides for my first lecture.
If finished chapter 2 by developing the pattern matching algorithm discussed in section 2.3.4 of the text. Here are two drafts of that algorithm that I developed in class. Here also are some slides for the lecture. You should finish reading chapter 2.
Do Exercise 10 from the end of chapter 2. This is due on Friday, January 15.
Chapter 3. Reading is pages 80 through 105.
Our lab next week is lab 9. In preparation for that lab you should read sections 4.2 (pages 130-141), 5.2, and 5.3.
Do exercises 3 and 15 from the end of chapter 3. This is due on Friday, January 22.
The lab for this week is lab 9, von Neumann machines. The files you will need for this lab are here.
I began discussing Java. Reading is sections 8.1 through 8.5. You should pay particular attention to section 8.5, as the next lab will be based on material in that section.
The first midterm exam is coming up on Friday, January 29. That exam will cover chapters 2 and 3. I will ask two specific types of questions: (1) given a problem, write an algorithm to solve that problem and (2) given an algorithm, describe what it does and be able to answer specific questions about its efficiency.
The lab for this week is lab 12, which is the first of three Java labs. The project you will need for this lab is here.
Methods in Java - reading is section 8.7
The lab for this week is lab 13, which is the second of three Java labs. The project you will need for this lab is here.
Write a Java program that prompts the user to enter a time in hour and minutes and an interval in minutes and then computes ands prints the new time in hour and minutes format. For example, given an input time of 10:50 and an interval of 200 minutes, your program should print 2:10. This program is due on Friday, February 5.
I talked a little more about methods and showed several different solutions to the GCD problem. I began the discussion of object- oriented programming. Reading is section 8.8 in the textbook.
I covered section 8.9, Graphical Programming. You should read that section.
The lab for this week is lab 14, which is the third of three Java labs. The project you will need for this lab is here.
I talked a little more about object-oriented programming in Java and showed two versions of a program that plays a simple guessing game. Here are the projects for version one and version two and some lecture notes for today's lecture.
This week's lab covers graphical user interfaces in Java. The instructions for the lab are available here.
Write a Java program that asks the user to enter 10 integers and then prints the numbers back out in the order in which they were entered, but with duplicates removed. For example, on the input
10 -1 2 10 3 -4 -2 2 2 7
your program will print
10 -1 2 3 -4 -2 7
This program is due on Friday, February 19
I talked about HTML and showed how interactive web applications using HTML and Java are built. You will find a basic discussion of HTML in section 9.3.2 in the textbook. The material on web applications is all bonus material that will not be covered on any exam. If you would like to see the web application example I showed in class, here is the NetBeans project for that application.
Lisp programming - reading is section 9.4.1 in the textbook. On Monday I showed some examples of recursively defined functions in Java and Scheme.
The second midterm exam is coming up on Friday, February 26. This exam will cover Java programming only, and will be limited to those aspects of Java programming discussed in chapter 8 in the textbook. To help you prepare for the midterm, I have prepared some sample questions with solutions.
Turing machines - reading is all of chapter 11.
The lab exercise this week is parts of labs 18 and 19, Turing machines. For lab 18 you should do parts 18.1 -18.4. For lab 19 you should do parts 19.1-19.3. To do lab 18 you will need the file example.sta - that file is here.
Neural networks - reading is section 14.4.
The lab exercise this week is lab 23, Neural Networks. Here are the files you will need for this lab.
High level AI - reading is section 14.5. I showed a number of examples in the Prolog language, which is one of the languages used for artificial intelligence programming.
The final exam will be held on Friday, March 19 at 1:30. Here is a study guide with sample questions.