The compilation lab is now posted.
Thu 4 April: Lab 6 posted
The REBOL lab is now posted.
Thu 7 Mar: Lab 5 posted
The type-checking lab is now posted.
Plus, here are some links on "Shooting yourself in the Foot" with various programming languages:
And finally, another language list, but with pithy quotes and the like, is here.
Wed 20 Feb: Some sample expressions to parse
Here are some sample expressions for Lab 3. All of these should work OK (i.e., they are valid). I'll post another file of invalid ones later. (Remember that you need not give good error messages, but you should reject all invalid inputs and properly echo (parenthesized) valid inputs.)
And here are some examples of invalid expressions.
Thu 24 Jan: Sample input files for Lab #1 are available here on the web or (better) through the L drive in the classes/cs348/inputs directory (there are 9 files in all). You should access the files directly through the file system or make copies on your H drive, as browsers will mess up the formatting (especially tabs). For your demo, be prepared to show how your program handles these files as input.
Many of the keywords and much of the syntax of the C language is deceptively similar to cognate constructs in Java: nevertheless, there are huge differences between the languages both at the conceptual level and in the nitty-gritty details which matter so much in getting a program to run. In particular, you should note that:
Here is a link to a sample C program using structs which I will be using in lecture as a guide to C syntax.
Here is a list of on-line courses and notes on C and some of its tr=ickier aspects:
So far we have had an introductory lecture on the basics of language (syntax and semantics, types of language, etc.; no on-line notes for this one yet) and an overview of programming languages with some interactive demos of APL, Rebol, Squeak, Haskell and Toontalk.
See also the "figs" directory of pre-drawn figures used in lecture.
Here is "collected information on about 2350 computer languages, past and present", as of 1994, courtesy of Bill Kinnersley of the University of Kansas.