Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Look up keyword
Like this
1Activity
0 of .
Results for:
No results containing your search query
P. 1
UT Dallas Syllabus for ce4337.001.10f taught by Shyam Karrah (skarrah)

UT Dallas Syllabus for ce4337.001.10f taught by Shyam Karrah (skarrah)

Ratings: (0)|Views: 25|Likes:
UT Dallas syllabus for taught by
UT Dallas syllabus for taught by

More info:

Published by: UT Dallas Provost's Technology Group on Sep 01, 2010
Copyright:Traditional Copyright: All rights reserved

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

10/14/2013

pdf

text

original

Course Syllabus
Page 1
Course Syllabus
Course Number:
CS 4337
Section number:
001
Course Title:
Organization of Programming Languages
Credit Hours:
3
Instructor:
Shyam Karrah
Office: ECSS 4.704
Office Phone: 972-883-4197
E-Mail:sk a r ra h@utd a lla s.ed u
Web Site:www. utd a lla s.ed u/~sk a rra h
Office Hours:
Tuesday and Thursday:
9:00 A.M to 2:00P.M. in ECS 4.704
Other hours by appointment.
TA:
TBA

Office:
Office hours:
Email:

Prequisites:
CS 2336 or CS3 33 3 and CS 2305.
Course Description:

Principles of design and implementation of contemporary programming languages. Formal description
including specification of syntax and semantics of programming languages. Language definition structures
including bindings, scoping, data types, control structures, parameter passing, abstraction mechanism, and
run-time considerations. Design issues of imperative languages, object oriented languages, functional
languages and logic languages. Design, implement, and debug programs in various programming language
paradigms

Course Expectations:
After successful completion of this course, the student should have an:
Course Syllabus
Page 2

1. Ability to identify the characteristics of programming paradigms and phases of translation
2. Ability to understand the importance of formal syntax and semantics
3. Ability to understand the different forms of binding, scope, and the semantics of expressions and

data types
4. Ability to understand the concepts of data abstraction, control abstraction and various parameter
passing mechanisms
5. Ability to understand the concepts of encapsulation, information hiding, inheritance, and
polymorphism
6. Ability to understand the concepts of first class values, lists and recursion and design programs
using functional programming languages
7. Ability to understand the concept of predicate calculus, declarative semantics, resolution and
design programs using a logic programming language
Required Textbook:
Programming Languages – Concepts of Programming Languages, Ninth edition, Robert Sebesta, (Addison
Wesley Publication, 2007).
Suggested Course Materials;
Functional and Logic programming Resources:
SCHEME:
Scheme Software:
http://www.drscheme.org/
http://download.plt-scheme.org/drscheme/
Scheme Programming Language by R. Kent Dybvig:
http://www.scheme.com/tspl2d/
Revised5 Report on the Algorithmic Language Scheme
20 February 1998:
http://www.schemers.org/Documents/Standards/R5RS/
SML of New Jersey:
SML Software:
http://www.smlnj.org/
SML Tutorials:
http://www.smlnj.org/doc/literature.html#tutorials
Elements of ML Programming, ML97 Edition, 2/E
Jeffrey D. Ullman, Stanford University
© 1998 / 0-13-790387-1 / Prentice Hall
PROLOG:
Prolog Software;
http://www.swi-prolog.org/
Prolog Tutorials:http :// www. s wi -p r o lo g. o r g/
Suggested readings: Logic, Programming and Prolog (2ed) by Ulf Nilsson and Jan Maluszynski
Course Syllabus
Page 3
Assignments:

There will be 6 to 8 assignments/programming projects assigned during the semester. Assignments are to
be turned in at the beginning of the class on the due date. Programming projects must be submitted over
Webct. Assignments/projects turned in after the due date will be subjected to penalty. Take home
assignments will not be accepted, if it is more than one week late.

Academic Calendar:
1. Introduction

(chapter 1)
Language Categories, Language Evaluation Criteria
Language Trade off, Language Implementation

2. Syntax and Semantics

(chapter 3 & 4)
Formal Methods of Describing Syntax and Semantics
Grammars, BNF & EBNF
Recursive-Descent Parsing, Bottom-Up Parsing

3. Bindings, Scope, and Data Types

( chapter 5 & 6)
Binding concepts, Types System, Type Checking
Lifetime of Variables and Bindings, Strong typing
Dangling references, Garbage
Primitive types and User Defined Types

4. Expressions and Subprograms

(chapter 7, 9 &10)
Expression evaluation, Type Conversion
Referencing environments and scope rules
Design Issues of Subprograms, Activation Records

5. Modular programming and OOP

(chapter 11 & 12)
Data Abstraction, packages, classes
Design issues of OOP, Encapsulation and Inheritance
Dynamic Method Binding

6. Functional programming

(chapter 15)
Functional programming in perspective, Expressions, Lists, Recursion, Lambda Expressions,
Delayed evaluation, Strings, Vectors, , Binary Search Trees , and Programming in Scheme and
SML

7. Logic programming

(chapter 16)
Predicate Calculus and Proving Theorems, An Overview of Logic Programming, Unification,
Resolution, Backtracking, Lists and Trees and Programming in Prolog

Important dates (subject to change)
Exam 1
Monday, October 4, 2009
Exam 2
Wednesday, November 101, 2009
Exam 3
Monday, December 6, 2009
Grading Policy:
Assignments, projects and exams determine grades. The final grade will be composed as follows:
Assingments and Projects
25%

You're Reading a Free Preview

Download
scribd
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->