CSC 319: Programming Languages

Professor: Clinton Jeffery
Office: TBE B372D
Phone: 895-2493
E-mail: jeffery@cs.unlv.edu
Meets: MW 4:00-5:15PM, TBE B178
eb: http://icon.cs.unlv.edu/jeffery/courses/319/
Prerequisites: CSC 269 and CSC 219
Texts: "Programming Languages", by Sethi
          "Graphics Programming in Icon", by Griswold, Jeffery, and Townsend
          "Programming in Emacs Lisp: An Introduction", by Chassell
          "Python Tutorial", by van Rossum
          Numerous class handouts

Course Description

This course covers the programming languages. It introduces imperative, functional, object-oriented, declarative programming paradigms. It introduces the semantics of programming languages.

Goals

When you finish this course, you should have an understanding of how different programming languages are better for different purposes. You will have written large programs in several languages. You will have written some ridiculously recursive programs, some algorithms that rely on backtracking, and some dataparallel code. In short: your perspective on Computer Science will be Completely Different.

Grading

Your grade will potentially be based on daily homeworks, daily quizzes, and daily (meaning: each class session) laboratory exercises. There will be midterms and a final exam.

Your overall course grade will be divided up as follows: programming assignments 40%, written assignments 10%, quizzes 10%, midterms 20%, final exam 20%.

















Approximate Schedule

Different units will receive different amounts of attention. Each unit will include homework and/or programming assignments. Many programming language topics not on this list will be introduced at appropriate points in the semester.
UnitTopic
1Overview and history of programming languages
2Imperative Languages (Python)
3Dataparallel Languages (APL, F90)
4Functional Languages (Lisp)
5Goal-Directed Languages (Icon)
6Declarative Languages (yacc, interface builders, and others)
7Object-orientation (Unicon)

Note that college of engineering evening courses follow a separate final examination schedule from the main UNLV schedule; the date and time will be announced.

Policy Statements

Cheating is strictly forbidden on both exams and assignments, with severe penalties. Discussion is OK, but do not share your code, or risk failing or being removed from the course.

If you have a documented disability that may require assistance, you will need to go to the Disability Resource Center (DRC) for coordination in your academic accomodations. The DRC is located in the Reynolds Student Services Center rm. 137. The DRC phone is 895-0866 or TDD 895-0652.