Re: QUICKCHECK Your Assignment 2 Submission
Dear CSCI-316 Students,
No classes are scheduled at the College next Monday; our next class will be on Wednesday 22nd. We will ALSO meet for class on Friday of next week, 10/24, when classes will follow a Monday schedule; but I will NOT have a 4:45-5:20 office hour period that day.
However, the main reasons I am sending this email are:
-
(a) To announce two reading assignments—Reading Assignments 1 and 2 below—that you should do after submitting Lisp Assignment 3. If possible, do these reading assignments before our 12th class (10/22, next Wednesday). Otherwise, do this reading as soon as possible after that class.
-
(b) To provide you with a list of built-in functions and other features of Lisp that have been covered in class or have been covered in earlier reading assignments or are covered in Reading Assignments 1 and 2 below. Be sure to look over this list, and do so again before Exam 1 and before the final exam!
-
(c) To announce that Lisp Assignment 4 is now available to you on Brightspace. You ought to be able to do problems A-G of Sec. 1 of Lisp Assignment 4 after doing Reading Assignments 1 and 2 below.
You should be able to do the thirteen problems in Sec. 2 after doing Reading Assignments 1 and 2 and attending our 12th and 13th classes on Wednesday and Friday of next week. (Some of you may be able to do many or even all the problems of Sec. 2 after our 12th class next Wednesday.)
Reading Assignments
Section titled “Reading Assignments”Reading Assignment 1
Section titled “Reading Assignment 1”In the course reader, read the subsection on LET and LET* on pages 390-91. Note: The square function on p. 391 is defined at the top of p. 389.
Reading Assignment 2
Section titled “Reading Assignment 2”Read the subsections on LET and LET* in Touretzky (i.e., secs. 5.5 & 5.6 on pp. 141-47).
If you cannot do Reading Assignments 1 and 2 above before our 12th class (next Wednesday, 10/22), then do this reading as soon as possible after that class.
List of Covered Lisp Features
Section titled “List of Covered Lisp Features”Assuming you have attended all classes, after reading all the pages in Touretzky you were asked to read in my previous emails and doing the two reading assignments given above, you should be able to write Lisp code that uses any of the following:
Special Forms and Control Flow
Section titled “Special Forms and Control Flow”- SETF (But SETF must NOT be used in the functions you write for Assignments 3, 4, and 5, and must NOT be used in the functions you write to answer exam questions.)
- DEFUN
- QUOTE or
' - IF, COND
- AND, OR
- LET and LET*
- T and NIL
Arithmetic Functions
Section titled “Arithmetic Functions”+, -, *, /, ABS, SQRT
List Functions
Section titled “List Functions”CARandCDRC...Rfunctions (CAAR, CADDR, etc.)FIRST, REST, SECOND, THIRD, FOURTHCONS, LIST, APPEND(Note that, whereas LIST and APPEND can take more than 2 arguments, CONS must be called with just 2 arguments.)LENGTH
Logical and Type-checking Functions
Section titled “Logical and Type-checking Functions”NOTNULLTYPEPNUMBERP, INTEGERP, RATIONALP, FLOATPREALP, SYMBOLP, LISTP, CONSPATOM
Comparison Functions
Section titled “Comparison Functions”EQUAL, EQ, EQL=, /=<, >, <=, >=ZEROP, PLUSP, MINUSPEVENP, ODDP
List Membership
Section titled “List Membership”ENDPMEMBER
Please look over the above list after doing the two reading assignments given above and check that you are indeed familiar with everything that is listed here!
Lisp Assignment 4
Section titled “Lisp Assignment 4”Lisp Assignment 4 is now available to you on Brightspace.
You should do the seven problems in Section 1 of Lisp Assignment 4 (i.e., problems A-G) after you have done the two reading assignments that are given above. Try to have done all of them by the time we meet for our 13th class (next Friday, 10/24).
Try to do all thirteen problems of section 2 BEFORE OR WITHIN 24 HOURS AFTER our 14th class (on Monday, 10/27). Lisp Assignment 5 and reading assignments relating to Assignment 5 will be provided to you no later than 10/29.
Important Notes on Assignment Code
Section titled “Important Notes on Assignment Code”When doing the assignments, make sure your code is written in a functional style. So variables must be immutable and your functions must not have side-effects. For example, the functions you write must NOT use SETF! Moreover, the functions you write for Lisp Assignment 4 are not expected to use any features of Lisp other than those listed above.
Also make sure the body of each of your function definitions consists of JUST ONE EXPRESSION: Each function definition must end with ... )) where the 2nd-last ”)” matches the ”(” that immediately follows the function’s list of formal parameters.
See you in class on Wednesday.
T. Yung Kong, D.Phil.
Professor
Computer Science Department
Queens College, CUNY
Flushing, NY 11367, U.S.A.