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
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.
Week | Tuesday | Thursday |
1 | Introduction to Lisp | Basics on Writing Lisp programs |
2 | Variables | Atoms and Lists |
3 | Destructive Ops, Functional Programming | Control Structures |
4 | Advanced Control Structures | Quiz 1, Case Study 1: Genetic Algorithms |
5 | Formatted and File I/O | Iteration vs. Recursion |
6 | More on Recursion | Sequences |
7 | Structures | Other Data Structures |
8 | Quiz 2, The Debugger | Case Study 2: Creating a Database |
Spring Break | Spring Break | |
9 | Functions Revisited | Macros |
10 | Macros continued | The Loop Macro |
11 | Case Study 3: Search | Quiz 3, Compilation |
12 | CLOS: Objects and Slots | CLOS: Methods |
13 | CLOS: Inheritance | Miscellany (packages, exceptions, garbage coll. |
14 | Case Study 4: Expert Systems | Case Study cont, Quiz 4 |
15 | Wrap-up | Review for Final |
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