CS 3723 Programming Languages
Information - Spring 2000
MW 3:30--4:45 pm, 3.01.08 BB
Textbook: click image for details.
-
Instructor:
Neal R. Wagner
Office: 3.02.16 SB.
Office hours (tentative): MWF 9-10 am, MW 1-3 pm.
Phone: (210)458-5550.
-
Syllabus
Basic information about the course, some of it repeated
in more detail below.
-
Goals and Objectives
The syllabus mentions course goals and objectives,
while this link discusses them in more detail.
-
Lectures and Assignments (tentative)
There will be a 6-part programming
project and up to 4 written homework
assignments.
-
Class Seating Chart, BB 3.01.08
Please try to stick to the same seat each period.
-
Overview of the Programming Project
This is a project to write a compiler for a small
subset of C/C++ (and almost Java).
-
Grading Policy
Your grade will depend on a programming project,
written homework, two in-class hour exams, a
final exam, and attendance.
-
Dishonesty Policy
As a new policy, you will be required to submit
a concatenated file of all programming assignments
by e-mail. You will also need comments at the
beginning of each programming assignment identifying
any sources of program code that you did not write
yourself.
-
Course Handouts
Many handouts for the course will be provided
here in several forms: as text-only (".txt" or ".text"),
as source programs (".c" or ".cpp" or ".java"),
and as a Postscript file (".ps").
-
Textbook: Compilers: Principles, Techniques,
and Tools
By Alfred V. Aho, Ravi Sethi, and Jeffrey D. Ullman,
Addison-Wesley, 1986
This text is a classic in the field, written by the world's
leading experts on compiler technology. Written in 1986, the
text is dated in a few respects, but this is a mature technology
whose underpinnings have not been changing much.
(More advanced applications, such as parallelism and code
generation have been changing more rapidly, but we won't be
dealing with these subjects anyway.) The other disadvantage
of the text is that it is written at a fairly sophisticated
level. Finally, there were no reasonable competing texts
on the market.
Sites related to the textbook:
-
Amazon.com's listing for the text.
Our text is priced here at $65.00, the same as in the UTSA Bookstore.
With shipping, but no taxes, it should work out about the same.
-
Publisher's site for the book.
-
bookpool.com's listing for the text.
Our text is priced here at $52.95, in contrast with $65.00
in the UTSA Bookstore.
Various students have recommended this as a cheap source
for technical books. Should be as much as a $12 savings
over the UTSA bookstore.
-
Brian's Book's listing for the text.
Our text is priced here at $57.95, in contrast with $65.00
in the UTSA Bookstore.
I have not used Brian's Book's, so I can't vouch for them,
but assuming the price quoted is correct and with
no tax and modest shipping, this should be a $7 or so
savings over the UTSA bookstore.
-
Description (From the
UTSA Undergraduate Catalog):
3723 Programming Languages
(3-0) 3 hours credit. Prerequisites: CS 3233 and 3323.
An introduction to the organization of high-level programming
languages, including data types, control structures, data flow,
and run time environments. Use of formal syntax descriptions.
The implications of interpretation versus compilation.
Activation records and dynamic storage in block structured languages.
Special Note: The prerequisite of
CS 3323 (Topics in Programming Languages)
is out of date; CS 3323 is no longer required
for a CS major. Instead, this current course, CS 3723, will be
required in the future. Because of other changes to our curriculum
(in particular, because of our decision to introduce programming
with the Java language), we will probably not offer CS 3323 very
often.
The Spring 2000 semester is a special case because many (or most) students
in CS 3723 will have taken the CS 3323 course.
The CS 3323 course has covered some of the elementary material from
a standard CS 3723 course. For this reason,
I plan to teach CS 3723 in a different way from the way that
I anticipate it will be taught in subsequent semesters.
In particular, there will be more emphasis on compiler topics
and there will be a programming project related to compilers.
-
Extra Topics:
First Examination: Wednesday, 23 Feb 2000
Review
Final Examination: Friday, May 12, 2000,
1:30-4:15 pm,
Review
Revision Date: 5/2/00