This page documents what we do in class. It contains programs that we will discuss in class, reading assignments from our textbook, links to other sources of information, etc.
The reading assignments are listed by the date on which they were assigned. The sample program files are listed by the date on which they were used. When you are viewing a source code page, you can use your browser's "File -> Save As..." menu item to save a copy of the code on your computer. It is a good idea for you to "play" with these example programs; compile them, run them, make simple changes to them and compile and run them again.
- Thursday, May 1.
- Tuesday, April 28.
- Remember that your last homework assignment is on the Homework Assignment page.
- Here are three C compilation units that together make one program. Compile the three source files separately and then link them together into one executable file.
- The following files show how to create and use a simple DLL that implements a small "library" of functions. This gives you an idea of where C Runtime library functions and Win32 API functions come from.
- Thursday, April 24.
- Your last homework assignment is finally available on the Homework Assignment page.
- Here are a few small C programs that we will use to get an idea of how the C runtime system works in Windows. Also, here is a brief overview of some of the concepts involved.
- Here is some documentation that will help us.
- Tuesday, April 22.
- Read Section 9.1 (pages 491-496), Sections 9.4-9.8 (pages 507-523) from Programming Language Pragmatics.
- Thursday, April 17.
- Read Sections 8.3 and 8.4 (pages 442-464) from Programming Language Pragmatics.
- Thursday, April 10.
- Your eighth homework assignment will be available soon on the Homework Assignment page.
- Here is a Scheme program that obviously causes garbage collection that pauses the drawing of an image. Try to figure out from the code what it is that needs to be garbage collected as the program executes.
- Read Sections 8.1 and 8.2 (pages 427-442) from Programming Language Pragmatics.
- Tuesday, April 8.
- Here is a program that shows how to define recursive data types in C.
- Here is a C program with some examples of pointers to arrays and examples of different kinds of storage allocation for the arrays.
- Thursday, April 3.
- Read Sections 7.5, 7.7, 7.8, and 7.10 from Programming Language Pragmatics.
- Tuesday, April 1.
- Your seventh homework assignment is available on the Homework Assignment page.
- Here are three variations on the first example C program from last week.
- Here is a simple demonstration of a C union.
- Thursday, March 27.
- Here are a few simple C programs that demonstrate ideas about type equivalence, type inference, and type conversion.
- Read Sections 7.3 (pages 351-255 and pages 358-362) and 7.4 (pages 365-379) from Programming Language Pragmatics.
- Tuesday, March 25.
- Thursday, March 13.
- Your next homework assignment will be available soon on the Homework Assignment page.
- For after spring break, read Section 6.6.1 (pages 297-301) and Sections 7.1 and 7.2 (pages 319-344, only through Section 7.2.4) from Programming Language Pragmatics.
- Tuesday, March 4.
- Don't forget the list of review problems on the Homework Assignment page.
- Here is a simple C program that gives an example of how programming with side effects can be a problem.
- For next Thursday, read Sections 6.2-6.5 (pages 267-296) from Programming Language Pragmatics.
- Tuesday, March 4.
- See the Homework Assignment page for a list of review problems for the exam next Tuesday.
- Here is a simple C program that gives an example of the distinction between a statement and an expression.
- Thursday, February 27.
- The midterm exam will be on Tuesday, March 11 (instead of on March 6 as stated in the syllabus).
- Read Sections 3.5 and 3.6.1 (pages 144-151) from Programming Language Pragmatics.
- Read Section 6.1 (pages 249-267) from Programming Language Pragmatics.
- Tuesday, February 25.
- Read Section 3.4 (pages 139-144) from Programming Language Pragmatics.
- Here are the Scheme and C programs that we looked at.
- Thursday, February 20.
- Tuesday, February 18.
- For more information about storage allocation in C and C++, look at the following two references.
- Thursday, February 13.
- Tuesday, February 11.
- See the Homework Assignment page for your fourth assignment.
- Here are two more Scheme tutorials that I recently found on the Internet. Both do a good job of summarizing what we have covered so far about Scheme.
- Here are several Scheme programs that illustrate the use of a kind of recursion called "tail recursion".
- See also recursion and tail recursion in FOLDOC.
- Thursday, February 6.
- Read Sections 3.1, 3.2, and 3.3 (pages 106-139) from Programming Language Pragmatics.
- Read Chapter 8 (pages 125-146) of The Little Schemer.
- Tuesday, February 4.
- Read Sections 3.1, 3.2, and 3.3.1 (pages 106-129) from Programming Language Pragmatics.
- Read Chapters 6 and 7 (pages 97-122) of The Little Schemer.
- Thursday, January 30.
- See the Homework Assignment page for your third assignment.
- A simple C program (and a Java version of it) that demonstrates the need to understand the syntax of C tokens.
- A simple C program that demonstrates an ambiguity in the syntax of C.
- C programs that demonstrate various static and dynamic semantic errors.
- Here is an interesting example of a use of BNF, the syntax of URL's (see Section 5. BNF for specific URL schemes).
- Read Sections 2.2.1 and 2.2.2 (pages 39-51) from Programming Language Pragmatics.
- Read Chapters 4 and 5 (pages 59-95) of The Little Schemer.
- Tuesday, January 28.
- Here are some examples of simple syntaxes.
- Read the Preface (pages xi-xiii) and Chapters 1-3 (pages 3-57) of The Little Schemer. You have already seen all of the Scheme ideas mentioned in these chapters. What you should read this for is an explanation of how to think recursively.
- Thursday, January 23.
- See the Homework Assignment page for your second assignment.
- Here is the simple Pascal program from page 17 of the textbook.
- Tuesday, January 21.
- Thursday, January 16.
- See the Homework Assignment page for your first assignment.
- For next Tuesday, read Chapter 2, Section 2.1 (pages 31-39) from Programming Language Pragmatics.
- You may find the online article Understand Extended BNF useful as a supplement to the reading from the textbook.
- Read Sections 2.3 through 2.8 from the online textbook, The Scheme Programming Language. Be sure to do Exercises 2.3.1, 2.4.1, 2.4.2, 2.4.3, 2.5.1, 2.5.3, 2.6.1, 2.7.2 at the end of the sections. These exercises are not a homework assignment to turn in, but feel free to ask me any questions you have about them.
- Tuesday, January 14.
|
|