Fall/2012

INTRODUCTION TO PROGRAMMING LANGUAGES, Comp501

Section 3

Mon, Wednesday & Friday at 11 in wentw208

Thursday lab from 10 – 11:50 in Dobbs203

Instructor name:Michael Werner, Ph.D.

Office location - DOBBS 006D

Office telephone number:617-989-4143

Office hours and Location: Mon at 12, Wed at 10, Fri at 10 or by appointment

Email address:

Credits/Hours: 4/3/2

______

COURSE DESCRIPTION:

An introduction to Programming Language Concepts including context-free grammars, parse trees, syntax diagrams, symbol tables, data types, control structure, and language translators.

REQUIRED TEXTBOOK(s):

Required: Robert W. SebestaConcepts of Programming Languages,9/e
©2010|Addison-Wesley|
ISBN-10: 0136073476|ISBN-13: 9780136073475

THE COLLEGE BOOKSTORE:

Location:103 Ward Street Boston MA 02115

Telephone:617-445-8814

RECOMMENDED LEARNING MATERIALS:

Generating Parsers with JavaCC by Tom Copeland A book about generating lexical analyzers, parsers, and abstract syntax trees using the open source parser generator JavaCC.
Published by Centennial Books, Alexandria, VA. ISBN 0-9762214-3-8. $39.95

COURSE LEARNING OUTCOMES:

At the completion of this course, the student should be able to:

  • Be able to prepare a grammar for a programming language and express it in Backus Naur Form (BNF).
  • Remove language ambiguities by means such as left factoring.
  • Build finite state automata matching regular expressions.
  • Use JavaCC or a similar compiler compiler to build a lexer and parser for a language expressed in BNF.
  • Understand variable declarations including type and scope.
  • Write function definitions (particularly recursive ones) using the Scheme language.
  • Solve problems by writing Scheme programs consisting of function definitions.
  • Use the logic programming language Prolog to write predicates.
  • Write short Prolog programs to solve problems by resolution using a fact and rule base.

INSTRUCTIONAL METHODOLOGIES:

  • Lecture / Recitation hours for presentation of new material and response to student questions
  • Lab hours for providing individualized help on programming problems
  • Blackboard for obtaining and submitting assignments, tracking grades and posting supplementary materials

COURSE SCHEDULE:

Week of / Topic / Lab / Readings
Sep 3 / Language Design Criteria / Begin research project on comparing 2 programming languages / Chapter 1
Sep 10 / Evolution of Programming Languages / Continue research project. / Chapter 2
Sep 17 / Introduction to Formal Languages
Syntax and Semantics / Research Project due Sep 25 / Sections 3.1 - 3.3
Sep 24 / Lexical and Syntax Analysis
Using JavaCC / Labs 1 / Chapter 4
Oct 1 / Building a parser in Java / Lab 2
Begin parser project (optional) / Handout
Oct 8 / Name bindings, data types. Lexical vs. dynamic variable scoping. / Lab 3. / Chapters 5, 6
Oct 15 / Type checking, strongly typed languages vs. untyped ones, expressions and assignments / Lab 4 / Chapter 7
Slides on typing
Oct 22 / Functional Programming using Scheme / Parser project due Oct 28 Lab 5 / Chapter 15
Oct 29 / Lambda Expressions / Lab 6
Nov 5 / More Scheme / Lab 7
Nov 12 / Logic Programming using Prolog / Lab 8 / Chapter 16
Nov 19 / More Prolog / Lab 9
Nov 26 / Lists in Prolog / Chapter 16
Dec 3 / Statement-Level Control Structures
Tuesday Dec 4 - Last day of classes / Lab 10- Prolog and Lisp / Chapter 8
Dec 6 - 11 / Final Exam Week / Final Exam

ATTENDANCE POLICY:

Attendance will be taken at lectures and laboratories. The attendance policy outlined in the student handbook will be enforced. Students will be withdrawn for excess absenteeism. Students missing 10% of class and laboratory will receive a warning. Students missing 15% of class and laboratory will be administratively withdrawn from the course. Students are responsible for all missed work. Documented absences for illness or emergencies will be considered.

GRADING POLICY:

  • Labs 30% Labs submitted on time are graded on a scale 0..10. Late labs lose 2 points for each week or part of week they are late with an absolute cutoff after 3 weeks.
  • Research Paper10% The paper is graded 0..100. Late papers lose 10 points for each week (or part) late with an absolute cutoff after 3 weeks.
  • Quizzes35%
    Final Exam 25%
  • (Projects 2-6 are optional. Each one replaces 3 labs)

The instructor reserves the right to deviate slightly from these numbers, i.e. to recognize the achievement of a student who started poorly but finished strongly.

Wentworth Grading System:

Grade Definition Weight Numerical

A Student learning and accomplishment 4.00 96-100

A- far exceeds published objectives for the 3.67 92-95

course/test/assignment and student work

is distinguished consistently by its high

level of competency and/or innovation.

B+ Student learning and accomplishment 3.33 88-91

B goes beyond what is expected in the 3.00 84-87

published objectives for the course/test/

assignment and student work is frequently

characterized by its special depth of

understanding, development, and/or innovative

experimentation.

B- Student learning and accomplishment 2.67 80-83

C+ meets all published objectives for the 2.33 76-79

C course/test/assignment and student 2.00 72-75

work demonstrates the expected level of

understanding, and application of concepts

introduced.

C- Student learning and accomplishment 1.67 68-71

D+ based on the published objectives for 1.33 64-67

D the course/test/assignment were met 1.00 60-63

with minimum passing achievement.

F Student learning and accomplishment 0.00 Less

based on the published objectives for than 60

the course/test/assignment were not

sufficiently addressed nor met

DROP/ADD:

The drop/add period for day students ends on Friday of the first week of classes. Dropping and/or adding courses is done online. Courses dropped in this period are removed from the student’s record. Courses to be added that require written permission, e.g. closed courses, must be done using a Drop/Add form that is available in the Student Service Center. Non-attendance does not constitute dropping a course. If a student has registered for a course and subsequently withdraws or receives a failing grade in its prerequisite, then the student must drop that course. In some cases, the student will be dropped from that course by the Registrar. However, it is the student’s responsibility to make sure that he or she meets the course prerequisites and to drop a course if the student has not successfully completed the prerequisite. The student must see his or her academic advisor or academic department head for schedule revision and to discuss the impact of the failed or withdrawn course on the student’s degree status.

MAKE-UP POLICY:

Policy should describe how a student who is legitimately absent makes up the materials missed (what is the student’s responsibility in make-up).

ACADEMIC SUPPORT:

The Learning Center (TLC) assists all Wentworth students with academic challenges in the areas of math, science, technical courses specific to majors, and writing. The TLC is a supportive and safe learning environment for students looking to improve or maintain their academic standing. In this student-based learning environment, students can receive individual help with their studies, meet and work in study groups, or go on-line to find resources to assist them in meeting their goals for academic success. It includes tutors in many subjects, online writing assistance and workshops. Make appointments at or through Lconnect.

ACADEMIC HONESTY STATEMENT:

“Students at Wentworth are expected to be honest and forthright in their academic endeavors. Academic dishonesty includes cheating, inventing false information or citations, plagiarism, tampering with computers, destroying other people’s studio property, or academic misconduct” (Academic Catalog). See your catalogue for a full explanation.

STUDENT ACCOUNTABILITY STATEMENT:

Strong statement about cheating and plagiarism with consequences of such actions clearly described.

DISABILITY SERVICES STATEMENT:

Any student who thinks s/he may require a disability-related accommodation for this course should contact Disability Services privately to discuss their specific needs. Disability Servicescoordinates reasonable accommodations for students with documented disabilities. They are located in Watson Hall 003(the Counseling Center)and can be contacted at 617-989-4390 or . For more information on acceptable documentation and the Disability Services process, visit the Disability Services website at

College of the Fenway Students:

If you are enrolled in this course through COF Cross Registration, notify your course instructor. Please provide her/him with your email address to be sure that you receive course information in a timely way. You should also discuss how to access online applications that might be used in the course.

Estimate Curriculum Category Content (Semester hours)

Area / Core / Advanced / Area / Core / Advanced
Algorithms / 0.5 / 0.5 / Data Structures / 0.5
Software Design / 0.5 / Programming Languages / 1.5
Comp. Arch. / 0.5

ASSIGNMENTS:

Due Date (week of) Assignment______

Date List here

Date List here

Date List here