CSCE 4430-5450: Programming Languages - Spring 2013

Instructor: Paul Tarau, Associate Professor - see my home page for contact info and office hours.

Teaching Assistant. Fahmida Hamid. See her course page for contact info and office hours.

First exam: March 18, 12:30pm – open net – 3 out of 5 problems

Final exam:  Wednesday May 8 10:30am–12:30pm. For 3 additional points please post on Moodle proof of completed SETE evaluations and exit surveys at http://www.cse.unt.edu/exitSurvey.cgi?CSCE+4430+001+12N

 

E-mail : t a r a u@cs.unt.edu
WWW : http://www.cs.unt.edu/~tarau
Address: Department of Computer Science, University of North Texas, P.O. Box 311366, Denton, Texas 76203, USA
Phone : Tel : +1-940-565-2806, +1-940-565-2767
Fax : +1-940-565-2799

Description and Objectives:

An advanced programming language course, with emphasis on programming paradigms and language processors - and some of their formal models like Predicate Logic  and Lambda Calculus and exhibiting actual implementations of key concepts (recursion, inheritance, unification, backtracking, type inference, infinite and  lazy data objects, threads, event-driven and concurrent/distributed programming). The course also provides a glimpse at salient features of  modern object oriented languages and an overview of language implementation techniques, run-time systems, garbage collection, interpreters, compilers with emphasis  on addressing and memory management in efficient procedural languages like C.

Syllabus (L1..Ln) indicate number of the lecture

Prerequisites: mandatory  (Data Structures)

Recommended books and online materials:

 

Evaluation:

More software, tutorials and related  links:

 

Outcomes:

 

1. Understand key concepts of programming languages, with emphasis on programming paradigms and language processors.                 

2. Have a practical understanding of commonalities and differences between major programming paradigms.     

3. Understand the key object oriented, logic and functional programming concepts.

4. Understand the key concepts of event driven and concurrent programming.      

5. Understand the use and implementation of modern programming language concepts like recursion, inheritance, reflection, unification, backtracking, type inference, infinite data objects, and threads.     

6. Have some familiarity with domain-specific languages with emphasis on Internet programming languages.