CS 3723 Programming Languages
Information - Fall 2000
MWF 9:00--9:50 am, 3.02.28 BB
Textbook: click image for details.
-
Instructor:
Neal R. Wagner
Office: 3.02.16 SB.
Office hours (tentative): MWF 10-11 am, MW 12-1 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- or 7-part programming
project and up to 4 written homework
assignments.
-
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, an in-class midterm exam, a
final exam, and attendance.
-
Dishonesty Policy
As a new policy, you will 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 purchasing the textbook:
-
The UTSA bookstore.
Consistent with UTSA's ``We will not
be oversold'' policy, you probably don't want to buy the text here,
but you might get an inexpensive used text.
Remember that online prices don't have tax, but do have
shipping costs -- it works about even. The book is not yet
available at UTSA.
-
Amazon.com's listing for the text.
Our text is priced here at $69.00.
-
bookpool.com's listing for the text.
Our text is priced here at $59.50, much cheaper than amazon.com.
Various students have recommended this as a cheap source
for technical books.
-
Brian's Book's listing for the text.
Our text is priced here at $65.55.
They have additional savings if you order more than one text.
I have not used Brian's Book's, so I can't vouch for them.
-
Description (From the
UTSA Undergraduate Catalog):
3723 Programming Languages
(3-0) 3 hours credit. Prerequisites: CS 3233 and 3323 (on-line catalog),
CS 2213 and 3233 (printed catalog).
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 prerequisites for this course
are confusing. CS 3233 (Discrete Mathematical Structures)
remains unchanged as a prerequisite, but CS 3323 is no longer required
for a CS major and will no longer be a prerequisite for this course.
Instead, the new course CS 2213 (Advanced Programming) will be one
of the new prerequsites. Since CS 2213 is being offered for
the first time in the fall 2000 semester,
we will not be enforcing this prerequisite.
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 (if at all).
-
Students in the course
A list of students in the course along with their runner
account.
-
Extra Topics:
Midterm Exam:
Monday, 23 October 2000
(review,
answers)
Final Examination:
Tuesday, 12 December 2000,
8:00-10:15 pm
Revision date: 2000-08-28.
(Also known as 28 August 2000, or
8/28/00.
Please use ISO 8601,
the International Standard Date and Time Notation.)