100 likes | 224 Views
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: http://www.cs.utexas.edu/~schrum2/. About this class. Introduction to programming in LISP
E N D
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: http://www.cs.utexas.edu/~schrum2/
About this class • Introduction to programming in LISP • MW 1:00 – 2:00, August 27 – October 15 • Office Hours: MW 11:00 - 12:30, ENS 31NQ • And by appointment • Prerequisites: • Formally: CS307, CS313E or EE322C • Informally: Programming skill in some language
Syllabus Overview • http://www.cs.utexas.edu/~schrum2/cs105-LISP/syllabus.html • No required text • Grading:
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: • http://www.cs.utexas.edu/~schrum2/cs105-LISP/ • 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 • 1962-1984: 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