CIS 2220
Programming Languages
Instructor: Dr. John Youssefi
Course Hours: Monday 6:00-9:00PM, SM 203
Office: St. Mary Room #205
Contact: (650) 508 - 3450 / jyoussefi@ndnu.edu
Office Hours: Tuesday and Friday 5:30 - 6:30 pm or by appointment
Text: Concepts of Programming Languages by Robert W. Sebesta (Eighth Edition)
DESCRIPTION: This course is concerned with the structures and design of programming languages. Also we will look at some of the implementation issues in programming language. This course will help the students to critically evaluate languages and language features, both old and new, from several important viewpoints. Languages such as FORTRAN, LISP, ML, ALGOL, COBOL, BASIC, PL/I, SIMULA, C, Prolog, Ada, Smalltalk, Java, Javascript, PHP, C#, Python, and C++ will be discussed. You will write programs in Pseudo-code, Lisp, and in your choice of language to implement parts of a compiler.
Couese Objectives:
Grades:
Programs&Homework . . . . . . . 40%
Quizzes . . . . . . . . . . . . . . . . . . 10%
Presentation. . . . . . . . . . . . . . . .10%
Midterm test . . . . . . . . . . . . . . .20%
Final test . . . . . . . . . . . . . . . . . 20%
93-100 A 90-93 A-
87-90 B+ 84-87 B
80-84 B- 77-80 C+
74-77 B 70-74 C-
67-70 D+ 64-67 D
60-64 D- 0 -60 F
I do not give make-up tests; for an excused absence I count the other grades proportionately higher. 10% off for each weekday on programs.
Complete academic integrity is expected, according to the Code of Student Conduct.
Incompletes will not be assigned except for documented compelling reasons, according to the university Grading Systems. Check the Academic Calandar for Add/Drop dates.
Presentation:
Each person will be on a two person team to study, report and present a language which we do not cover in class.
Tentative Scheduale:
Week 1 Course intro; Chapter 1 and Interpreter(Program # 1)
Week 2 Compiler phases
Week 3 BNF; Chapter 3
Week 4 Semantics; Project part 2;
Week 5 Lexical and Syntax Analysis; Chapter 4; Quiz
Week 6 Names, Bindings, Type Checking, and Scopes; chapter 5
Week 7 Data Types; chapter 6
Week 8 Midterm
Week 9 Expressions and Assignment Statements; Project part 3; Chapter 7
Week 10 Control Structures; Chapter 8
Week 11 Subprograms; Chapter 9, 10
Week 12 OOP; Chapter 11 and 12
Week 13 Functional Programmming; Chapter 15
Week 14 Logic Programming; Chapter 16
Week 15 Final (Dec. 8, 2008)
Students are strongly encouraged to come during office hours with any problems regarding the course or assignments. Missed classes will cause severe problems to your progress. Full preparation for every class is very important to your success.