UCSD - Jacobs School Logo UCSD Extension Logo Classes

CSE DEPARTMENT:

UCSD EXTENSION:


CSE 130: Programming Language Principles & Paradigms
Spring 2007 | University of California, San Diego CSE Department

Course Statement
A programming language is a programmer's principle interface with the computer. More than just knowing how to program well in a single language, programmers need to understand the various features and styles of programming promoted by different languages. Understanding the variety of programming languages available for use, their constructs and their design tradeoffs will make even the single language programmer more versatile and will make learning a new language far easier. Programmers will often on occasion be asked to write a custom language of some sort (e.g. XML schema, small scripting language, configuration file format), and knowledge of the core principles of programming languages should help them produce better languages. Finally, much of this course's material provides a solid background for compiler and parser development course work.

Tentative Schedule

Week 1
April 2: Meeting 1: Themes and Intro   [ 3-up PDF ] [ 1-up PDF ]
April 4: Meeting 2: History of Programming Languages   [ 3-up PDF ] [ 1-up PDF ]
April 6: Meeting 3: JavaScript I   [ 3-up PDF ] [ 1-up PDF ]

Readings: Sebesta Ch 1-2

Week 2
April 9: Meeting 4: Syntax and Semantics   [ 3-up PDF ] [ 1-up PDF ]
April 11: Meeting 5: Lexical and Syntax Analysis   [ 3-up PDF ] [ 1-up PDF ]
April 13: Meeting 6: JavaScript II   [ 3-up PDF ] [ 1-up PDF ]

Readings: Sebesta Ch 3-4

Week 3
April 16: Meeting 7: Names, Bindings, Type Checking and Scopes   [ 3-up PDF ] [ 1-up PDF ]  
April 18: Meeting 8: Data Types   [ 3-up PDF ] [ 1-up PDF ]  
April 20: Meeting 9: Python I   [ 3-up PDF ] [ 1-up PDF ]  

Readings: Sebesta Ch 5-6

Week 4
April 23: Meeting 10: Expressions and Assignment Statements   [ 3-up PDF ] [ 1-up PDF ]  
April 25: Meeting 11: Statement-Level Control Structures   [ 3-up PDF ] [ 1-up PDF ]  
April 27: Meeting 12: Python II   [ 3-up PDF ] [ 1-up PDF ]  

Readings: Sebesta Ch 7-8

Week 5
April 30: Meeting 13: Subprograms  [ 3-up PDF ] [ 1-up PDF ]
May 2: Meeting 14: Implementation of Subprograms   [ 3-up PDF ] [ 1-up PDF ]
May 4: Meeting 15: Ruby I   [ 3-up PDF ] [ 1-up PDF ]

Readings: Sebesta Ch 9-10

Week 6
May 7: Meeting 16: Midterm
May 9: Meeting 17: Abstract Data Types   [ 3-up PDF ] [ 1-up PDF ]
May 11: Meeting 18: Ruby II   [ 3-up PDF ] [ 1-up PDF ]

Readings: Sebesta Ch 11


Week 7
May 14: Meeting 19: Support Object Oriented Programming  
May 16: Meeting 20: Concurrency   [ 3-up PDF ] [ 1-up PDF ]
May 18: Meeting 21: ML I   [ 3-up PDF ] [ 1-up PDF ]


Readings: Sebesta Ch 12, 13

Week 8
May 21: Meeting 22: Functional Programming   [ 3-up PDF ] [ 1-up PDF ]
May 23: Meeting 23: Functional Programming, cont.  
May 25: Meeting 24: ML II   [ 3-up PDF ] [ 1-up PDF ]
Readings: Sebesta Ch 15

Week 9
May 28: No Meeting - Memorial Day Holiday
May 30: Meeting 25: Web PLs   [ 3-up PDF ] [ 1-up PDF ]
June 1: Meeting 26: Prolog I   [ 3-up PDF ] [ 1-up PDF ]

Readings: Sebesta Ch 14

Week 10
June 4: Meeting 27: Logic Programming  
June 6: Meeting 28:Industry and Programming Languages
June 8: Meeting 29: Conclusions   [ 3-up PDF ] [ 1-up PDF ]  

Readings: Sebesta Ch 16

Final Exam
June 15, 8-11am

Grading
Homework: 40%
Midterm: 30%
Final Exam: 30%

Homework Assignments
Class Message Board - Google Groups
http://groups.google.com/group/cse130-spring-2007

Required Text
Concepts of Programming Languages, 7th Edition
Robert W. Sebesta
Addison Wesley, 2006
ISBN: 0-321-33025-0

Recommended Texts
Elements of ML Programming, ML97 Edition, 2nd Edition
Jeffrey D. Ullman
Prentice Hall
ISBN: 0-13-790387-1

JavaScript: The Complete Reference, Second Edition
Thomas A. Powell and Fritz Schneider
Osborne/McGraw-Hill, 2004
ISBN: 0-07-225357-6

Contact Information
Prof. Thomas A. Powell
tpowell@pint.com
On Campus Office Hours: CSE Bldg 3123 TBD
Off Campus Office Hours: By Appointment

Teaching Assistant
William Matthews
wgmatthews@cs.ucsd.edu
Office Hours: Wed 11am-noon in either B225/B240
Fri 10am-11am in either B225/B240


PINT - UCSD Extension and Computer Science Classes by Thomas Powell
858.270.2086 | 888.355.PINT
email PINT info@pint.com
Classes Home PINT Home