COEN 171

Principles of Programming Languages

Winter 2000

 

Instructor:     

Ron Danielson 

Office EC 244

Phone 408 – 554 - 6813

Email rdanielson@scu.edu

Web Page www.cse.scu.edu/~rdaniels/

Office hours M, T, Th 8:45 - 9:45; M, T, Th 3:00 - 5:00; by appointment

 

Text:  

Sebesta, Concepts of Programming Languages Fourth Edition, Redwood City, California, Benjamin/Cummings Publishing Company, 1999

 

Objectives:    

To understand the fundamental concepts underlying the design of programming languages, how those concepts are explicated in various languages, and how they might be implemented. To gain greater understanding of and program in languages that are not imperative in style. To apply understanding of fundamental concepts to evaluating the design of a programming language with which you are not familiar.

 

Grading:        

Midterm                                               20%

Final                                                     25%

Homeworks                                         10%

Programming Assignments                    25%     (tentatively due January 18, February 8, and March 7)

Term Paper                                          20%     (tentatively due March 9)

 

Tentative Syllabus

 

Week of

Topics

Reading

January 3

Introduction; preliminary concepts, history; syntax and semantics

Chapters 1, 2, 3

January 10

Syntax and semantics (continued); names, types, scope, bindings

Chapter 4

January 17

Functional languages

Chapter 13

January 24

Data types; expressions; control structures

Chapters 5, 6, 7

January 31

Subprograms and parameters

Chapter 8

February 7

Logic-oriented languages; midterm

Chapter 15

February 14

Logic-oriented languages (cont.); implementing subprograms

Chapter 9

February 21

Data abstraction; object-oriented programming

Chapters 10, 11

February 28

OOP (continued); Concurrency and synchronization

Chapters 12

March 6

Exceptions

Chapter 13

March 15

1:30 pm - Final exam