CSC 375/CIT 394
Programming in Common Lisp
Spring 2006
Syllabus


Professor: Richard Fox
Phone: (859) 572-5334
Semester: Fall 2005
Office: ST 314
Class Meeting Time & Place: TR 12:15 pm - 1:30 pm, ST 248
Email: foxr@nku.edu
Office Hours: MW 10:00 am – 11:00 am, TR 11:00 am – 12:00 pm, and by appointment


Reading List can be found here. There is no textbook required for this course, instead, we will read material from various on-line books.


Prerequisites and Credits:

C or better in CSC 262. 3 Credit hours. This is an elective class for CSC and CIT majors that can fulfill the required CSC/CIT 300-level elective or 3 of the required 45 hours of upper-level electives.


Course Topics:

In-depth examination of the Common Lisp programming language and functional programming. Specific topics will include a look at this rich language with its hundreds of built-in operations, and the large variety of data structures available (atoms, lists, arrays, sequences, strings, structures, objects and more). We will employ both iterative and recursive solutions to problems. We will use object-oriented programming as necessary. We will examine a several AI-oriented problems that lend themselves to functional-based approaches and look over Common Lisp solutions.


Course Objectives:

The student will learn


Course Materials:

All lecture notes are written in PowerPoint and available through the instructor’s course web site at http://www.nku.edu/~foxr/CSC375/csc375.html. Program code will also be made available on the website. Please feel free to download the notes and example code at your leisure. Please print any power point notes using the 6-overhead per page or 9-overhead per page option to save paper. If possible, print all materials on your home computer/printer! Handouts will also be made available only through this website (handouts will usually be in MS Word format). Keep an eye on this website during the semester as it will be a mechanism for the dissemination of information such as corrections to assignments, hints on assignments, and expected results on assignments.


Course Grading:

Grades will be determined by student performance on approximately

The grading scale (subject to curve if necessary) is:
A: 90-100 B: 80-89 C: 70-79 D: 60-69 F: 0-59
The last date to drop with a grade of W is Monday, March 27.


Programming Information and Policies:

There will be a number of programming assignments, most will be short assignments (write a few functions to make up a small program) but a few will be larger scale and more involved. Due dates will be provided when each assignment is provided to the class. All assignments are due at the beginning of the class period of the due date. Late assignments will be accepted with a penalty of 10% per day late for up to 10 days. All programming assignments are individual assignments (unless otherwise noted) meaning that students should work alone at all times except when seeking clarification or syntactic debugging assistance.


Absentee Policy

Aside from the first class period or two, the instructor will not take attendance. It is up to the student to attend class regularly and to determine what materials were missed in the event of an absence. If an assignment is due on a date that the student is absent, it is the student’s responsibility to make sure that the instructor receives the assignment prior to the beginning of class time (whether by Email or having someone reliable drop off the assignment to the instructor in his office, mailbox or classroom). If the student is to miss a class period when a quiz is being given, the student must contact the instructor in advance to make arrangements for a make-up exam, otherwise the student will receive a 0 on that exam.


Tentative Schedule:

WeekTuesdayThursday
1Introduction to LispBasics on Writing Lisp programs
2VariablesAtoms and Lists
3Destructive Ops, Functional ProgrammingControl Structures
4Advanced Control StructuresQuiz 1, Case Study 1: Genetic Algorithms
5Formatted and File I/OIteration vs. Recursion
6More on RecursionSequences
7StructuresOther Data Structures
8Quiz 2, The DebuggerCase Study 2: Creating a Database
Spring BreakSpring Break
9Functions RevisitedMacros
10Macros continuedThe Loop Macro
11Case Study 3: SearchQuiz 3, Compilation
12CLOS: Objects and SlotsCLOS: Methods
13CLOS: InheritanceMiscellany (packages, exceptions, garbage coll.
14Case Study 4: Expert SystemsCase Study cont, Quiz 4
15Wrap-upReview for Final

Final Exam Date: Tuesday, May 2, 1:00 – 3:00 pm

Programming assignments will have due dates stated on them. If you have any questions about due dates or exam dates, check with the instructor.

Note: The above Schedules are tentative and might change during the semester. The instructor reserves the right to alter the syllabus if circumstances dictate.

Students with disabilities who require accommodations (academic adjustments, auxiliary aids or services) for this course must register with the Disability Services Office. Please contact the Disability Service Office immediately in the University Center, suite 320 or call 859-572-6373 for more information. Verification of your disability is required in the DSO for you to receive reasonable academic accommodation. Visit our website at www.nku.edu/~disability

Back to CSC 375/CIT 394 Page
Back to Richard Fox's Home Page