Name: Anonymous 2010-07-13 5:03
I am so FUCKED! I need to pass this shit and my professor is a ridiculous hardass. So far I've been slacking off and passing my previous CS classes by mooching off group project grades and such. This class is all solo work. What the hell should I do? THIS CLASS IS TOO HARD!
Heres the syllabus:
MIT
School of Computer Science
COP 4020 Programming Languages I
Syllabus
Professor : Eurípides Montagne Tele.: 823-2684 email:eurip@eecs.mit.edu
Lecture meetings: MW 12:00 p.m. – 1:50 p.m. (HEC 103)
Office hours: M from 4:00 p.m. to 5:30 p.m. (HEC 217)
T from 12:00 p.m. to 2:30 p.m. (HEC 217)
TA : Rochelle Elva email: relva@eecs.mit.edu
Office hours: TBA
Course Objective:
This course is designed to provide a fundamental understanding of the design and implementation issues surrounding programming languages and their running environment. Students will be exposed different models of computer programming during the course, including: concurrent programming model, declarative computation model and relational model.
Course outcomes:
1) Outcome 1: A passing student shall have an understanding of run time environments for sequential and concurrent programs.
2) Outcome 2: A passing student shall have to understand the implementation of concurrent programming constructs and demonstrate the correct use of synchronization primitives such as semaphores, Monitors and the CSP model.
3) Outcome 3: A passing student will have knowledge of lambda calculus and the declarative programming model.
4) Outcome 4: A passing student will have an understanding of the semantics of programming languages.
Course Topics:
History of programming languages. Fundamental concepts of programming languages, such as scope, binding, abstraction, encapsulation, typing etc. Run time environment. Lambda calculus. Declarative computation model. Concurrent programming model and message passing. Operational semantics, axiomatic semantics, and denotational semantics. Relational computation model.
Prerequisites: COP 3530C
Required textbook:
Concepts, Techniques, and Models of Computer Programming, P. van Roy and S. Haridi, MIT
press, 2004, ISBN: 0-262-22069-5.
Other recommended source:
Concepts of Programming Languages, 9th Edition, Robert W. Sebesta, Addison Wesley, 2010, ISBN: 0-13-607347-6
Style of Class Meetings:
Class meetings will not consist of traditional lectures, with the instructor doing most of the talking and the student doing most of the listening. Rather, meetings will consist of discussions on each topic and the instructor will help guide the discussion by asking questions.
Grading Policy:
• (15%) First Midterm exam – closed book, closed notes exam given in class.
• (15%) Second Midterm exam – closed book, closed notes exam given in class.
• (15%) Presentation
• (25%) Final Exam – closed book, closed notes comprehensive exam given during final exam week.
• (30%) 4-6 programming assignments
Letter grades: 90% - 100% = A ; 80% - 89% = B; 70% - 79% = C; 50% - 69% = D;
less than 50% = F
Note: Any academic dishonesty (including, but not limited to, Cheating, copying and/or plagiarism) with respect to any exam or assignment in this class will result in a grade of F, following by the usual procedures for dealing with such behavior, as describe in the MIT Golden Rule : a handbook for students.
The Semester Plan: Tentative.
1. Introduction and Preliminaries:
2. Run time environment: Stack mechanism (review)
3. The concurrent programming model
4. Message passing: CSP
5. Introduction to Lambda calculus
6. The declarative computation model
7. Declarative concurrent model
8. Relational computation model
9. Describing the meaning of programs: Semantics
10. Exception Handling and Event Handling: (time permitting)
This is a general time frame only and is subject to the needs of the class. It will be altered without notice, but will generally follow the same progression. At the end of each class I will tell you what we will be discussing during the next class period.
Heres the syllabus:
MIT
School of Computer Science
COP 4020 Programming Languages I
Syllabus
Professor : Eurípides Montagne Tele.: 823-2684 email:eurip@eecs.mit.edu
Lecture meetings: MW 12:00 p.m. – 1:50 p.m. (HEC 103)
Office hours: M from 4:00 p.m. to 5:30 p.m. (HEC 217)
T from 12:00 p.m. to 2:30 p.m. (HEC 217)
TA : Rochelle Elva email: relva@eecs.mit.edu
Office hours: TBA
Course Objective:
This course is designed to provide a fundamental understanding of the design and implementation issues surrounding programming languages and their running environment. Students will be exposed different models of computer programming during the course, including: concurrent programming model, declarative computation model and relational model.
Course outcomes:
1) Outcome 1: A passing student shall have an understanding of run time environments for sequential and concurrent programs.
2) Outcome 2: A passing student shall have to understand the implementation of concurrent programming constructs and demonstrate the correct use of synchronization primitives such as semaphores, Monitors and the CSP model.
3) Outcome 3: A passing student will have knowledge of lambda calculus and the declarative programming model.
4) Outcome 4: A passing student will have an understanding of the semantics of programming languages.
Course Topics:
History of programming languages. Fundamental concepts of programming languages, such as scope, binding, abstraction, encapsulation, typing etc. Run time environment. Lambda calculus. Declarative computation model. Concurrent programming model and message passing. Operational semantics, axiomatic semantics, and denotational semantics. Relational computation model.
Prerequisites: COP 3530C
Required textbook:
Concepts, Techniques, and Models of Computer Programming, P. van Roy and S. Haridi, MIT
press, 2004, ISBN: 0-262-22069-5.
Other recommended source:
Concepts of Programming Languages, 9th Edition, Robert W. Sebesta, Addison Wesley, 2010, ISBN: 0-13-607347-6
Style of Class Meetings:
Class meetings will not consist of traditional lectures, with the instructor doing most of the talking and the student doing most of the listening. Rather, meetings will consist of discussions on each topic and the instructor will help guide the discussion by asking questions.
Grading Policy:
• (15%) First Midterm exam – closed book, closed notes exam given in class.
• (15%) Second Midterm exam – closed book, closed notes exam given in class.
• (15%) Presentation
• (25%) Final Exam – closed book, closed notes comprehensive exam given during final exam week.
• (30%) 4-6 programming assignments
Letter grades: 90% - 100% = A ; 80% - 89% = B; 70% - 79% = C; 50% - 69% = D;
less than 50% = F
Note: Any academic dishonesty (including, but not limited to, Cheating, copying and/or plagiarism) with respect to any exam or assignment in this class will result in a grade of F, following by the usual procedures for dealing with such behavior, as describe in the MIT Golden Rule : a handbook for students.
The Semester Plan: Tentative.
1. Introduction and Preliminaries:
2. Run time environment: Stack mechanism (review)
3. The concurrent programming model
4. Message passing: CSP
5. Introduction to Lambda calculus
6. The declarative computation model
7. Declarative concurrent model
8. Relational computation model
9. Describing the meaning of programs: Semantics
10. Exception Handling and Event Handling: (time permitting)
This is a general time frame only and is subject to the needs of the class. It will be altered without notice, but will generally follow the same progression. At the end of each class I will tell you what we will be discussing during the next class period.