CS5363, Programming Languages and Compilers, Spring 2026
General Information and Syllabus

Course Description: A study of programming languages with an emphasis on their implementation. Topics include lexical analysis, language syntax, control structures, the binding of names, procedures, and their implementation in compilers. The topics of this class include: formal langauges, automata, lexical analysis, parsing, code generation, code optimization, object-oriented languages and functional languages. If permitted by time, also new developments in contemporary compilers.
Instructor: Wei Wang, wei.wang AT utsa.edu
Office: NPB 3.42
Online Materials: Will be posted on this course website.
Office Hours: Mon/Wed 2pm to 3:30pm,
and by appointment. For e-mail contact, always include "CS5363" in the subject line.
Teaching Assistant (grader): Yui Takashima
TA Office Hours: None
Schedule: Please follow this link.
Prerequisites: CS 2233 Discrete Mathematical Structures
CS 3343 Analysis of Algorithms
There will be considerable C/C++ programming tasks.
Texts: Optional: Compilers: Principles, Techniques, and Tools (2nd Edition) – Aho, Lam, Sethi and Ullman.

Optional: Engineering a Compiler (2nd Edition) – Cooper and Torczon
Grading: There will be one midterm exam (20%), one final exam (20%), 2-5 written assignments (20%), a compiler building project through 5 programming assignments (35%), pop quizzes, extra credit opportunities, class participation (3%).

Keep all graded materials to provide evidence of grades in case there is an error in transcription. Attendance in class may be noted and negatively affect your class participation grade. Excessive unexcused absences from class is grounds for receiving a failing grade. These tentative percentages are subject to change if circumstances warrant. Please note: the assignments may not be equally weighted.

Weights are assigned according to level of difficulty and the number of assignments that the class completes.

No makeup exams or assignments are given. If you must miss an announced exam or an assignment deadline, you should let me know in advance.
Course Rules: There may be an occasional unannounced quiz. Exams and due dates are scheduled in advance. A grade of zero will be recorded for missed exams and late assignments unless prior arrangements are made. Assignments turned in after the due date, but within a week from the due date are penalized 10%. Assignments that are more than one week late will not be accepted.
Cheating: Students are encouraged to discuss assignments in general and to help one another find bugs in existing programs, but using another's assignment answers or program code from someone else is cheating and a violation of the University's Honor Code. This includes consulting solutions to assignments from previous years or tests from previous years. Keep listings to provide evidence of creative development.
Projects: There will be a compiler-building project.
Accommodations: If you may need special consideration because of a disability, please discuss your situation with me at the very beginning of the course. If you are registered with Disability Services and anticipate having your exams administered in a manner that varies from what other students will experience, please notify me the special testing circumstances that you might require as soon as possible (and before the first exam). It is essential that there be an agreement on a reasonable and satisfactory accommodation, and not one that is excessively burdensome to the conduct of the course or unfair to the other students. Information about Disability Services is available in the UTSA Information Bulletin. As a general rule, students are only eligible for special treatment or consideration if they are registered with Disability Services and I am instructed by that office as to the special treatment or consideration that is to be allowed. Consult: http://utsa.edu/disability/
Exclusion Zone: Pursuant to HOP 9.48, Carrying of Concealed Handguns on Campus, my private office (NPB 3.210) is a designated exclusion zone. As set out in Section 30.06, Penal Code (trespass by license holder with a concealed handgun), a person licensed to carry a Concealed Handgun under Subchapter H, Chapter 411 Government Code (handgun licensing law), may not enter this property/office with a concealed handgun.

De conformidad con HOP 9.48, Llevar Armas de Fuego Encubiertas en el Campus, mi oficina privada (NPB 3.210) es una zona designada de exclusión. Conforme a la sección 30.06 del código penal (trespasar portando armas de fuego) personas con licencia bajo del sub-capitulo H, capitulo 411, codigo de gobierno (ley de portar armas), no deben entrar a esta propiedad portando un arma de fuego.
Video and Audio Recording: The instructor may record meetings of this course. Any recordings will be available to all students registered for this class as they are intended to supplement the classroom experience. Students are expected to follow appropriate University policies and maintain the security of passwords used to access recorded lectures. Unless Student Disability Services has approved the student to record the instruction, students are expressly prohibited from recording any part of this course. Recordings may not be published, reproduced, or shared with those not in the class, or uploaded to other online environments except to implement an approved Student Disability Service accommodation. If the instructor or a UTSA office plans any other uses for the recordings, consent of the students identifiable in the recordings is required prior to such use unless an exception is allowed by law. For more information on your privacy and class recordings, review Student Privacy (FERPA) in Virtual Classrooms and Other Educational Recordings and the Guide to Secure Video Conferencing Tools.