Important message: all Tuesday due dates are moved to Thursdays!
Course Description: In this course we will study concepts and examples of programming languages with the goal of acquiring the tools necessary for critical evaluation and rapid mastery of programming languages and constructs.
TAs. Aditi Barua, abarua/miners… and Angel Garcia, afgarciacontreras/miners…
Their office hours are: Friday morning from 11am to 1pm for Angel in the research lab of the second floor, and Wednesday from 9am to 11am for Aditi, in room 3.1202F.
Textbook: It is very important that ALL students have their textbook from Day1 of the semester.
- Robert W. Sebesta, “Concepts of Programming Languages”, 9th edition, Addison Wesley
Exams: 2 mid-term examinations and one comprehensive final exam; unannounced quizzes.
Grades:
Midterms 15% each
Final exam 20%
Quizzes and homework 22%
Projects 23%
Class participation 5%
SUMMARY OF IMPORTANT DATES:
- First examination: Tuesday February 28th.
- Second examination: Thursday April 11th
- Final examination (comprehensive): Thursday May, 10th from 1pm to 3:45pm.
ANNOUNCEMENTS:
- Week 13:
- The deadline for programming project 4 has been extended!
- Extra-credit programming project will be available this week (due May 3rd)
- Look at the homework assignment for week 14!
- Week 3:
- First programming assignment will be given in class on Tuesday and will be due by February 21!
- Week 1: January 17th is our 1st day of classes!
- COURI program for UnderGraduate Research:
WHAT TO EXPECT — some of this semester’s milestones:
- Programming projects: 4 of them
- First programming project on OOP: due February 23rd
- Second programming project on AOP (AspectJ): due on March 8th
- Third programming project on functional programming: due on April 5th
- Fourth programming project on prolog: due on May 3rd (EXTENDED deadline)
- Extra-credit programming project on PHP: due on May 3rd (no extension will be given).
- First midterm exam on February 28th: it will cover all material seen in class up to that day.
- Second midterm exam on April 11th: it will cover all material see in class up to that day.
- Final exam on May 10th
MATERIAL:
- CS3360 Syllabus
- Copy of the daily grading form
- Outline of the semester lecture and activities: to be posted
- Lecture notes on AspectJ (1, 2, 3)
- Good resource about Haskell (the programming language of programming project #3 and of the homework due after spring break)
- Logic programming project: we recommend you use SWI-Prolog
ASSIGNMENTS:
- Note: unless otherwise specified, homework will be due via email on Thursdays before the class starts
- Week 15:
- Reading assignment: Chapters 3 and 4
- Homework assignment: Chapter 3 Problem set # 22.c, 23, 24, and 25.
- Week 14:
- Reading assignment: Chapter 3, Section 3.5 and Chapter 4.
- Homework assignment (due Thursday): Chapter 3, problem set #6, 11, 15, 17, 19.
- Week 13:
- 2nd Exams back on Tuesday!
- Please note that the deadline for PP4 has been extended (one more week to complete it!)
- Extra-credit programming project given on Tuesday, due on May 3rd
- Reading assignment: Chapter 16 (on logic programming); Section 3.5 of Chapter 3 (on semantics)
- Week 12:
- Review on Tuesday
- SECOND EXAMINATION on Thursday: list of topics now available (see in your emails)
- Homework assignment: Programming exercises 4, 5, and 6 of Chapter 5, due Thursday
- Week 11:
- Topic of the week: data types
- Reading assignment: Chapter 6
- Advice: start working now on the homework for next week!
- Week 10:
- Topic of the week: variables and binding
- Reading assignment: Chapters 5 and 6
- Assignment will be given in class and due Thursday March, 29th
- QUIZ on Thursday!
- Week 8:
- DO NOT FORGET THAT YOU HAVE A PROJECT DUE THURSDAY!
- Reading assignment: Chapter 15 on functional programming
- Week 7:
- FIRST EXAMINATION ON TUESDAY!!!
- Topics include: syntax (BNF, EBNF) and semantics (attribute grammars only), OOP, AOP
- Week 6:
- First programming project due on Tuesday Thursday February 21 23 (description)
- Reading assignment: review all class notes, all chapters assigned so far. The first examination is around the corner: scheduled for February 28th!
- Week 5:
- Extra-credit assignment due on February 14 16: summarize the following article on subtypes and subclasses; write a one-page summary of what you understood from the article. [10 points extra-credit towards exams]
- Homework on Aspect-Oriented Programming and AspectJ due Tuesday Thursday February 14 16 at the start of the class
- Lecture notes on AspectJ (1, 2, 3)
- Week 4:
- Lecture on OOP and AOP
- Homework assignment due on Tuesday (see last slide of lectures from week 1, 2, 3)
- Week 3:
- Lecture on OOP; read chapters 11 and 12 of textbook
- Quiz on Thursday on previous lectures and reading assignment
- Homework given in class is due on Tuesday (see lecture notes from week 2)
- Week 2:
- Presentation about COURI, by Lourdes Echegoyen, on Tuesday, followed by a quiz
- Read Chapters 1, 2, and 3 of textbook
- Week 1:
- Read Chapters 1, 2, and 3 of textbook (quiz on chapters 1 and 2 on Jan. 19)
- For those of you who did not attend Monday’s session: Read, print, sign, and turn in the course syllabus
Note: More information (such as assignments, reminders for due dates, quizzes, exams) will be posted on this page as the semester goes.