Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 603: Programming Language Organization Lecture 1 Spring 2003 Department of Computer Science University of Alabama Joel Jones.

Similar presentations


Presentation on theme: "CS 603: Programming Language Organization Lecture 1 Spring 2003 Department of Computer Science University of Alabama Joel Jones."— Presentation transcript:

1 CS 603: Programming Language Organization Lecture 1 Spring 2003 Department of Computer Science University of Alabama Joel Jones

2 ©2003 Joel Jones Outline Policy and Syllabus Prerequisites Diagnostic ImpCore

3 ©2003 Joel Jones Policy and Syllabus

4 ©2003 Joel Jones Prerequisites Forms Knowledge of several different programming languages At least one non-imperative

5 ©2003 Joel Jones Teaming and Active Learning Active Participation in Classroom –Questioning –Preparation –Working in Pairs –Reporting

6 ©2003 Joel Jones Why Study Weird Programming Languages? Why don’t you tell me? Pair Up: Why study weird programming languages? Why are you taking this class?

7 ©2003 Joel Jones Languages and their Paradigms Brainstorm—name as many programming languages as you can. –LISP, Scheme, CLOS, Python, APL, C, C++, Smalltalk, Ruby, Perl, AWK, COBOL, FORTRAN, AWK, Pascal, AppleScript, Visual Basic, BASIC, Java, Prolog, CLP, SML, Haskell, etc. Brainstorm—what “paradigms” or “kinds” of languages are these? –functional (applicative), object-oriented, imperative, scripting, logic programming

8 ©2003 Joel Jones Diagnostic

9 ©2003 Joel Jones What is the Simplest Possible Language? Simple Syntax Few Primitives

10 ©2003 Joel Jones ImpCore Language Two kinds of expressions –Function definitions: (define double (x) (+ x x)) –Expressions: (double 5) Environment is interactive/interpreted

11 ©2003 Joel Jones LISP-like Syntax input -> expression | fundef fundef -> ( define function arglist expression ) arglist -> ( variable * ) expression -> value | variable | ( if expression expression expression ) | ( while expression expression ) | ( set variable expression ) | ( begin expression + ) | ( optr expression * ) optr -> function | value-op value -> integer value-op -> + | - | / | = | | print function -> name variable -> name integer -> sequence of digits, possibly preceded by minus sign name -> any sequence of characters not an integer, and not containing a blank or any of the following characters: ( ) ;.

12 ©2003 Joel Jones Reading & Questions for Next Class Chapter 1 of textbook Come up with a question: –That would help others when reading these chapters -or- –A question raised, but not answered by these chapters


Download ppt "CS 603: Programming Language Organization Lecture 1 Spring 2003 Department of Computer Science University of Alabama Joel Jones."

Similar presentations


Ads by Google