Book

Programming Languages (CSCI-4430/CSCI-6969)

Section 01 - Tuesdays & Fridays 9:00am-10:50am in Greene 120

David E. Goldschmidt (click here to send me an e-mail)
Department of Computer Science
Rensselaer Polytechnic Institute

course description

From the Catalog: This course is a study of the important concepts found in current programming languages. Topics include language processing (lexical analysis, parsing, type-checking, interpretation and compilation, run-time environment), the role of abstraction (data abstraction and control abstraction), programming paradigms (procedural, functional, object-oriented, logic-oriented, generic), and formal language definition. Prerequisite: CSCI-2400

learning objectives

required textbook

Concepts of Programming Languages, 8th ed. by Robert W. Sebesta. Addison-Wesley, 2008. ISBN 0-321-49362-1.

assignments

Homework assignments and projects are due on the due date specified and will be penalized 10% for each business day (24 hours) late, up to a maximum of 5 days, after which the assignment cannot be accepted for credit.

Instructions for submitting assignments will be available for each assignment.

graduate students and the doctoral qualifying exam

Programming Languages is a qualifying exam course. As such, Ph.D. students registered for CSCI-6969 will be required to perform additional work on projects throughout the semester. More details will be provided as the semester progresses.

exams

There will be a midterm exam and a final exam, both of which will be open book, open notes. Sample exam questions will be provided.

grading criteria

OPTION ONE:

Project 1 ..... 15%

Project 2 ..... 15%

Project 3 (Scheme) ..... 15%

Project 4 (Prolog) ..... 15%

Midterm Exam ..... 20%

Final Exam ..... 20%

OPTION TWO:

Project 1 ..... 12%

Project 2 ..... 12%

Project 2.5 ..... 12%

Project 3 (Scheme) ..... 12%

Project 4 (Prolog) ..... 12%

Midterm Exam ..... 20%

Final Exam ..... 20%

OPTION THREE:

Project 1 ..... 15%

Project 2 ..... 15%

Project 2.5 ..... 10%

Project 3 (Scheme) ..... 10%

Project 4 (Prolog) ..... 10%

Midterm Exam ..... 20%

Final Exam ..... 20%

grading policies

Grades for individual and team-based assignments are determined by the instructor and/or the TAs. Students may appeal a grade by contacting the instructor via e-mail, during class time, or during office hours.

Grades will be provided throughout the semester to provide students with an ongoing assessment of their progress. By mid-semester, students will have some homework and project grades, as well as their midterm exam scores.

attendance & classroom policies

Please attend class and be prepared to participate in class discussions and activities. Please turn off cell phones before class begins.

academic integrity

From The Rensselaer Handbook of Student Rights and Responsibilities (2006-2008): Intellectual integrity and credibility are the foundation of all academic work. Academic dishonesty is, by definition, considered a flagrant offense to the educational process. It is taken seriously by students, faculty, and Rensselaer and will be addressed in an effective manner.

If found in violation of academic dishonesty policy, students may be subject to two types of penalties: the instructor administers an academic (grade) penalty, and the student may be subject to the procedures and penalties of the student judicial system outlined in this handbook.

squiggleinstructor

NAME: David Goldschmidt, Ph.D.
E-MAIL: click here to send me e-mail
ADJUNCT OFFICE: Amos Eaton 208
OFFICE HOURS: Fridays 11:00am-12:00pm


squiggleteaching assistants

NAME: Brian Boodman
E-MAIL: boodmb@rpi.edu
OFFICE: Amos Eaton 217
OFFICE HOURS: Mondays 12:00pm-1:50pm

NAME: Jonathan Purnell
E-MAIL: purnej@rpi.edu
OFFICE: ΣΦΕ Fraternity, 2009 15th Street
OFFICE HOURS: Wednesdays 10:00am-12:00pm


squiggleassignments & readings

SCHEDULE: Click here to view semester schedule

READ: Chapters 1, 2, 3, 4, 5, 6, 7, 11, 12, 13, 15, 16

MIDTERM EXAM SOLUTIONS (available outside of Lally 207): a | b | c

DUE Thursday 2/7: Project #1

DUE Tuesday 3/4: Project #2

DUE Friday 4/4: Optional Project #2.5

DUE Friday 4/18: Project #3

DUE Tuesday 4/29: Project #4

FINAL EXAM: Wednesday 5/7 3:00-5:50pm in DCC 318 (Sample Exam Questions)



squiggletopics

  • Programming language design
  • Language processing
  • Interpretation and compilation
  • Lexical analysis and parsing
  • Type-checking
  • Data and control abstraction
  • Imperative/procedural languages (C++, Java)
  • Functional languages (Scheme/LISP)
  • Logic-based languages (Prolog)