Maharishi University of Management
Computer Science Department

Computer Science 505

Advanced Programming  Languages

____________________________________

Course Creator: Gregory Guthrie, Ph.D.
DE Instructor: Helmuth Trefftz

College of Science and Technology
Computer Science Faculty

Spring 2005
______________________________

 

Prerequisites:  COMP 350, COMP 380
Duration:  12 weeks / 4 units
Goals of the Course:
To provide an understanding of the fundamental concepts and principles of programming languages and how these are formulated and described in formal methods, and reflected in existing computer languages.

 

Course Objectives:  
1) Gain an understanding of the basic formalisms used to define programming languages.
2) Gain an appreciation of the usefulness of the formal specification of programming languages.
3) Gain an understanding of the relation between syntax and semantics in programming language theory.
4) Gain an understanding of the basic concepts of representation and abstraction in programming languages.
5) Gain experience with the use of some programming language paradigms: functional and logic programming.
6) Gain an understanding of the important concepts in functional programming, such as, higher order functions, referential transparency, equational reasoning, pattern matching and polymorphism.
7) Gain an appreciation of the role and value of type checking and type systems in programming languages.
8) Gain a deeper appreciation of the perfection of the language of nature -- the Ved.
MAJOR THEMES
Evaluation Criteria:
All elements of the course are considered in evaluation, and a student must do satisfactorily in all areas.  An approximate weighting of the areas is as follows:
	Homework & Labs	25%
Midterm 30%
Final 35%
Newsgroup Participation 10%
Text:
References:
Readings:

Supplementary Readings: