CSCI 431: Organization of Programming Languages
   
Course Goals A comparative study of programming languages designed to provide the following: (1) An understanding of language features and limitations. (2) An increased ability to learn new languages. (3) An understanding of the theoretical foundations of languages and the significance of implementation. (4) An improved background for choosing and using different programming languages.
   
Text Programming Language Pragmatics , by Michael Scott, Morgan Kaufmann, 2000.
   
Instructor
Rebecca Bruce
Office: RBH 024
Telephone: 232-2275
e-mail: bruce@cs.unca.edu
Office Hours: 11-noon on MW & 4:00-5:00pm on TR


Tentative Course Schedule
Week Starting Lectures & Reading Assignments & Exams
Aug 18 Introduction (Syllabus & Chapter 1)
History of Programming Languages
Aug 25 Overview of Compilation (Chapter 1) & Perl Basics LLLex
Example Solution
Sept 1 Advanced Perl
Perl example programs
Lexical Analysis (Section 2.1 & 2.2.1)
Labor Day: No Monday Classes
Sept 8 Parsing (Section 2.1-2.2.1)
Parsing (Section 2.2-2.3)
LegoLogo Compiler Assignment (worth 60 pts)
(This assignment will use the Lego robots.)
Sept 15 Name, Scope & Binding (Sections 3.1-3.4)
Sept 22 Semantic Analysis (Sections 4.1-4.4)
Sept 29 Scheme (Chapter 11)
Exam 1 Review
Exam 1 scores
Oct 6 catch up
Fall Break: No WRF classes
Scheme Assignment
Oct 13 Control Flow (Sections 6.1-6.4)
Iteration and Recursion (Sections 6.5-6.6)
Oct 20 Prolog Basics
Prolog Lists & Control Flow (Section 11.3)
Prolog Assignment
Oct 27 Intro. to Data Types (Section 7.1)
Type Checking & Type Implementation (Sections 7.2-7.4)
Nov 3 Control Abstraction (Sections 8.1-8.2)
Parameter Passing (Section 8.3)
NetLogo Assignment
Nov 10 Exceptions (Section 8.5)
OO Programming (Sections 10.1-10.2)
Exam 2 Review
Exam 2 scores
Nov 17 Object Lifetime and Garbage Collection (Sections 10.3 & 7.7) Extra Credit on Parameter Passing
Java Assignment (Lego Robot Assignment 2)
Nov 24 NetLogo Presentations
Thanksgiving Break: No WRF classes
Dec 1 Dynamic Binding (Section 10.4)
Multiple Inheritance (Section 10.5)
Dec 8 Final Exam Week Final Exam:
Fri. Dec 12, 1:15-3:45pm


On-Line Resources
Perl
Scheme
Prolog
Java
Lego Robots
NetLogo
StarLogo


Grading
Exam grades 100 x 2 200
Assignment grades 7 x 30 210
Final Exam grade --- 150
Total Points --- 560

Letter Grades: Letter grades are assigned based on the percentage of available points obtained by a student. 100% to 90% guarantees an A, 89% to 80% guarantees a B, and so on. The instructor reserves the option of relaxing the cut-offs for a letter grade in special circumstances.


Attendance Policy:

Lectures: A roll is not taken, but students are expected to attend all class lectures. Failure to do so will be considered a lack of interest in success on the part of the student.

Exams: If you must miss an exam due to illness you must email or telephone the instructor before the scheduled time and perhaps something can be arranged to avoid a zero for this exam. Failure to notify the instructor prior to the scheduled time will produce an automatic zero for the exam.


Policy on Assignments:

The program that you write are your way of telling the instructor about your mastery of this course. Because this is a course about writing programs you are expected to take these assignments very seriously. Your programs must be clearly different than those turned in by others in the class and represent a unique and special effort on your part.


CSCI logo Return to the UNCA Computer Science home page