cs 105: lisp grg 424 mw 1:00-2:00pm 55428. about me jacob schrum: call me jacob bs in computer...

10
CS 105: LISP GRG 424 MW 1:00-2:00pm 55428

Upload: osborn-singleton

Post on 17-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 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

CS 105: LISP

GRG 424

MW 1:00-2:00pm

55428

Page 2: 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

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/

Page 3: 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

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

Page 4: 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

Syllabus Overview

http://www.cs.utexas.edu/~schrum2/cs105-LISP/syllabus.html No required text Grading:

Assignments 6 * 12% 72%

Quizzes 4 * 5% 20%

Class Participation 8%

Page 5: 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

Assignments

6 Programming Assignments Turn in using UNIX-based turnin program

turnin --submit schrum2 assign# file

Graded using GNU Common LISP (GCL)

Page 6: 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

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!

Page 7: 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

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)

Page 8: 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

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

Page 9: 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

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

Page 10: 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

LISP in Action!

"The only way to learn a new programming language is by writing programs in it."

- Kernighan and Ritchie