CS 105: LISP GRG 424 MW 1:00-2:00pm 55428
About Me Jacob Schrum: call me Jacob BS in Computer Science, Math and German at Southwestern University Currently a PhD student in NNRG More about me:
About this class Introduction to programming in LISP MW 1:00 – 2:00, August 27 – October 15 Office Hours: MW 11: :30, ENS 31NQ – And by appointment Prerequisites: – Formally: CS307, CS313E or EE322C – Informally: Programming skill in some language
Syllabus Overview No required text Grading: Assignments6 * 12%72% Quizzes4 * 5%20% Class Participation8%
Assignments 6 Programming Assignments Turn in using UNIX-based turnin program turnin --submit schrum2 assign# file Graded using GNU Common LISP (GCL)
Your Responsibilities You are required to read the course syllabus and be familiar with it. Important announcements will be posted to the course web page: – – You are required to check this page regularly for announcements. Let’s get started!
Brief History of LISP 1958: John McCarthy designs language for symbol manipulation – LISt Processing language : Many incompatible dialects of LISP are developed 1984: First edition of Common LISP standard unites best features from various dialects (Scheme is a popular, simplified dialect)
Why use LISP? (1) Commonality, Consistency, Simplicity: – all commands have similar syntax Expressiveness, Efficiency: – same functionality out of fewer lines of code Power, Reflectivity: – Common representation of code and data, macros Interactivity, Extensibility, Incremental: – Interpreted, allowing easy interaction with code Efficiency: – Modern LISP implementations are fast
Why use LISP? (2) Portability, Compatibility: – Generally compatible across implementations Garbage Collection: – No memory management necessary Functional Programming: – No side-effects, functional arguments Imperative Programming: – Fast data structures, allows state Abstraction: – Symbols, higher-order functions, generics
LISP in Action! "The only way to learn a new programming language is by writing programs in it." - Kernighan and Ritchie