0% found this document useful (0 votes)
794 views

Programming Languages and Compilers

This 3-page document outlines the syllabus for a summer 2003 graduate course on Programming Languages and Compilers at California State University, Fullerton. The course will cover fundamental concepts of programming languages and compiler construction techniques over 6 weeks. Students will learn about lexical analysis, syntax analysis, parsing, code generation, programming language history and paradigms. Evaluation will be based on a midterm exam, final exam, and term project. The course prerequisites, policies, schedule, and tentative grading scheme are provided.

Uploaded by

Vanchhit Khare
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
794 views

Programming Languages and Compilers

This 3-page document outlines the syllabus for a summer 2003 graduate course on Programming Languages and Compilers at California State University, Fullerton. The course will cover fundamental concepts of programming languages and compiler construction techniques over 6 weeks. Students will learn about lexical analysis, syntax analysis, parsing, code generation, programming language history and paradigms. Evaluation will be based on a midterm exam, final exam, and term project. The course prerequisites, policies, schedule, and tentative grading scheme are provided.

Uploaded by

Vanchhit Khare
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 3

Programming Languages and Compilers

CPSC 905 Summer 2003


Syllabus
Class Meeting: WR 6:00pm 9:30pm, E 202

Instructor: Chang-Hyun Jo
Office: CS 524, (714) 278-7255, [email protected]
Office Hours: WR 9:30pm 10:00pm
(after classes or by appointment)

Teaching Assistant: Not available

Text:
Thomas W. Parsons, Introduction to Compiler Construction, W.H.
Freeman and Company, 1992. (ISBN: 0-7167-8261-8)
Sebesta, Robert W. Concepts of Programming Languages, 5th Edition,
Addison Wesley, 2002. (ISBN: 0-201-75295-6)

References:
V. Aho, R. Sethi, and J. D. Ullman, Compilers: Principles, Techniques, and Tools,
Addison-Wesley, 1986, (ISBN: 0-201-10088-6).
Levine, John, Mason, Tony and Brown, Doug. lex & yacc, 2nd Ed., OReilly, 1992,
(ISBN: 1-56592-000-7).
Siber Systems. BtYacc, http://www.siber.com/btyacc/, (1999).
Sethi, Ravi. Programming Languages: Concepts and Constructs, (2nd Ed.), Addison-
Wesley, (1997). (ISBN: 0-201-59065-4)
Ghezzi, C. and M. Jazayeri, Programming Language Concepts, 3rd Ed., John Wiley &
Sons, 1998. (ISBN: 0-471-10426-4)
MacLennan, Bruce J. Principles of Programming Languages: Design, Evaluation, and
Implementation, 3rd Ed., Oxford Press, 1999. (ISBN: 0-19-511306-3)
Mitchell, John C. Foundations for Programming Languages, MIT Press, 1996. (ISBN: 0-
262-13321-0)
Pratt, T. W. and M. V. Zelkowitz, Programming Languages: Design and Implementation,
3rd Ed., Prentice-Hall, 1996. (ISBN: 0-13-678012-1)
Other related books, papers, handouts and web sites.

Goals of the course:


This course is designed for graduate students who do not have B.S. degree in Computer
Science. This course combines the major topics extracted from two undergraduate
prerequisite courses, CPSC 321 High-Level Language Concepts and CPSC 423
Language Processor Techniques. In this course, students will learn fundamental concepts
of the programming languages and compiler writing techniques.

CSU Fullerton Computer Science 1/3 Summer 2003


Prerequisite: CPSC 904

Recommended:
CPSC 131, CPSC 223A, CPSC 223J, CPSC 223V, CPSC 240, CPSC 253U, CPSC 331,
CPSC 351, or equivalent.
Study of the basic concepts in data structures, algorithms, computer organization,
assembly language, high-level programming languages, formal languages, and operating
systems is recommended.

Grading: Mid-term Exam (30%), Final Exam (30%), Term-Project (40%).


A: 90%+, B: 80%+, C: 70%+, D: 50%+, F: 49%- (tentative)

Important Dates:
June 2 Instruction begins (Mon.)
July 7-11 Final Exams (July 10, Thursday)

Policies:
1. Homeworks should be submitted just before the class of the due date. Late
homeworks or missed exams will be excused only for unforeseen or unavoidable
circumstances. Some homeworks need to be handed in electronically. Unexcused
late assignments receive no credit.
2. Copying someone elses work and passing it off as your own is considered as
academic dishonesty, which is not allowed.
3. You may find it is very useful for you to use the e-mail to have an asynchronous
meeting with me for any questions about the class. Some e-mails will be replied to
the class students in public if the question/answer seems to be helpful to all based on
the instructors judgement.
4. You may also schedule a meeting by phone or e-mail if the office hours are not
available for you.

Attendance:
Regular attendance is expected. Students need to answer for any question from instructor
in the class. The questions are usually related to the lectures and text. These
questions/answers may be covered on the exams.

Accounts:
You may use any computer/operating systems for programming assignments. If you do
not already have a CSUF account, you can apply for one through your department.

On-Line Information:
Class notes, announcements, homework and helpful information will be usually available
on the World Wide Web and/or by e-mails. Our class homepage is accessible at
"http://www.ecs.fullerton.edu/~jo".

Homework: Homework will be announced by on-line or handouts in class.

CSU Fullerton Computer Science 2/3 Summer 2003


Course outlines:
Weeks Dates Contents
1 June 4 Introduction to Class, Homework and Exams
Introduction to Compilation (Parsons Ch.1)
5 Lexical Analysis (Parsons Ch.2) (Sebesta Ch.3, Ch.4)
LEX (Parsons Appendix B)
2 11 Syntax Analysis (Parsons Ch.3) (Sebesta Ch.3, Ch.4)
12 Bottom-Up Parsing (Parsons Ch.4)
YACC (Parsons Appendix B)
3 18 Intermediate Code Generation (Parsons Ch.5)
19 Programming Languages History (Sebesta Ch.1, Ch.2)
Imperative Programming (Sebesta Ch.5 10)
Concurrent Programming Languages (Sebesta Ch.13)
4 25 (Conference, June. 24-26, Tues.-Thurs.)
26
5 July 2 Mid-Term Exam (July 2, Wed.); Term-Project Front-End Due
3 Functional Programming Languages (Sebesta Ch.15)
Logic Programming Languages (Sebesta Ch.16)
6 9 Object-Oriented Programming (Sebesta Ch.12)
10 Final Exams (July 10, Thursday); Term-Project Due and Demonstration

Disclaimer: This syllabus is intended to suggest the outline of the course; it is not absolute.

CSU Fullerton Computer Science 3/3 Summer 2003

You might also like