Programming Languages (COSC 252) (Fall 2021)


PROFESSOR:

Mahendran Velauthapillai mahe@cs.georgetown.edu (202) 687-5936 (Office) Department of Computer Science 331 St. Mary's Hall

OFFICE HOURS: MW 3.30-4:30 PM or by appointment.


NOTES:

TEACHING ASSISTANTS:
NameOffice Hours Location Email
Allison Herr MW 3-4PM Zoom TBA ash122@georgetown.edu
Didier Akilimali TBA TBA dda34@georgetown.edu


Course Description: This course acquaints the student with different classes of programming languages, criteria for language selection in various application areas, and the fundamentals of language design. Formal notations for language definition will be introduced. Run time support for each class of language will be examined. The student will be required to write two interpreters to become familiar with some of the concepts covered in the course. Lexical and syntax snalysis, bindings, scope rules, concurrency, exception handling are some of the sub topics that will be covered in depth. Credits: 3 Prerequisites: COSC-160
TEXT:
Concepts of Programming Languages by Robert W. Sebesta (Edition: 12)
Publisher Pearson Education,Inc (Addison-Wesley)
ISBN-10:
SBN-13:
0134997182
978-0134997186

READING: Aug 25: Chap1 and Chap2 of the text Aug 30: Chap 3 Sep 1: Chap 3 Sep 8: Chap 3 Sep 13: Chap 4 Sep 15: Chap 4 Sep 20: Chap 5 Sep 22: Chap 5 Sep 27: Chap 6 Sep 29: MT1 Oct 4: Chap 7 Oct 6: Chap 8 Oct 13: Chap 8 Oct 14: Chap 9 Oct 18: Chap 9 Oct 20: Chap 10 Oct 25: Chap 10 Oct 27: Chap 11 Nov 1: Chap 11 Nov 3: MT2 Nov 8: Chap 12 Nov 10: Chap 12 Nov 15: Chap 13 Nov 17: Chap 13 Nov 22: Chap 14 Nov 24: ? Nov 29: Chap 14 Dec 1: Chap15 Dec 6: Chap16


Notes: COURSE REQUIREMENTS: 2 Mid Terms, Final Home work and two major programming projects (50% of your grade)
IMPORTANT DATES: Mid-Term 1: Sep 29 (W) 10% of your final grade Mid-Term 2: Nov 3 (W) 15% of your final grade Final: Dec TBA 25% of your final grade
COURSE SCHEDULE: 2
Week Topic Chap
1 Introduction 2
2 Grammars 3
2 Lexical and Syntax Analysis 4
3 Names, Bindings, Scopes and Data Types 5,6
3 Expression and Assignment statements 7
4 Statement-level control structures 8
5 Statement-level control structures 8
6 Subprograms 9
7 Subprograms 9
7 Implementing Subprograms 10
8 Abstract Data types 11
9 Support for Object Oriented Programming 12
10 Concurrency 13
11 Concurrency 13
12 Exception & Event Handling 14
13 Functional Programming Languages 15

HOME WORKS:
Given Due Problem Points Solution
8/25 8/30 click (2 page summary)5 xx

COURSE POLICY: 1. All Home works and programming projects should be turned in before the beginning of the class. 2. Late home works/projects will not be accepted. If you cannot make it to class its your responsibility to turn in your work before the due date. No credit will be given to programs that do not compile. 3. Makeups and extensions will be given only for medical reasons. 4. Make sure and it is your responsibility to keep all the graded home works until the semester end.
COURSE ETHICS: 1. All course work has to be done individually. Any person cheating will be reported to the dean and is liable to fail the course. Both cheater and the "cheatee" are considered guilty and there will be no exceptions. 2. You may discuss the material presented in class or the book with your classmates. You should not copy solutions from others.