CS4713 Syllabus (updated for Spring 2021) 

Instructor:

Larry Clark

Email:

larry.clark@utsa.edu  Please include cs4713 and your name in the subject.

 

Please feel free to send me an email about your assignments; however, I cannot guarantee an immediate response (especially after 9pm). Start on your assignments ASAP to allow for time to receive help from a TA or me.

Office Hours:

TuTh 230pm-330pm

I do not have an office during the COVID-19 era; instead, I will be on Discord.

My Webpage:

http://www.cs.utsa.edu/~clark/

Class Hours:

TuTh 1:00pm-2:15pm via Blackboard Collaborate Ultra  (see links in Blackboard)

Textbooks:

Both optional:

Engineering A Compiler, 2nd Edition, Cooper and Torczon

ISBN: 978-0-12-088478-0

Compilers: Principles, Techniques, & Tools by Aho, et al.

ISBN: 0-321-48681-1

I provide very detailed course notes. Many of you have used my notes for other courses even if I wasn't the instructor.

Prerequisite:

CS3723 (Programming Lang) and CS3843 (Computer Org)

CS4713 assumes you are familiar with the C, Java, and IA32. You will write a compiler/interpreter using Java. This course requires time for large programming assignments.

Course Objectives:

An introduction to implementation of translators. Topics include formal grammars, scanners, parsing techniques, syntax-directed translation, symbol table management, code generation, and code optimization. 

 

The course will emphasize practical use of compilation techniques to solve problems. 

Grading:

500 Programs, Quizzes, Homework, Class Participation

A large portion of your grade will be applying course concepts to create a working compiler/interpreter. Most of the assignments in this course will involve group work.

If you do not complete the first programming assignment (which is not a group assignment), you will not be allowed to work in a group for subsequent assignments.

 

A portion of the programming grade is contribution which will be split between the team members based on individual contribution. On the group assignment, if you do not complete a minimum of 15% of the code, you will lose half of the total credit on all of the group assignments. 

 

Scholastic dishonesty will not be tolerated.

 

200 Midterm Exam. 

This will probably use Microsoft Word so you MUST have a functioning version of that product so that you can submit a Microsoft Word document.

 

300 Final Exam.

This will probably use Microsoft Word so you MUST have a functioning version of that product so that you can submit a Microsoft Word document. It may also have some questions that use Blackboard's automated testing tools.

Late Policy:

Programs:

10% off per day late (not accepted after 5 days late). 
 Programs will be turned in via Blackboard.

Homework:

late homework not accepted

Quizzes:

no makeup except for university sanctioned excused absences.

Exam Policy:

If a Midterm Exam is missed, the Final Exam will count for a missed exam.  There will be no make up for the Final Exam except for university sanctioned excused absences.

Final Exam :

Tu May 11, 1:00pm-2:50pm

Attendance:

Attendance in the lecture is required. Lectures will use Blackboard Collaborate Ultra (BCU).

Important:

Your education is very important to me. If there is anything (reasonable) we can do to make it better, please let me know. 

 

Ask questions.  It is important to ask questions; others probably have the same question. In some circumstances, I may postpone an answer until necessary material is covered. We will use the text box provided by BCU for questions. To avoid, communication nightmares, students will be muted.

Distractions hurt your education.  Please be considerate of others:

>      Please turn OFF (do not just silence) your cell phones and pagers. If you have a potential emergency, please inform me before the class begins. In that circumstance, you can leave your mobile device on vibrate; quietly exit the class room to take your call.

>      Please arrive to class on time. When someone arrives late, they distract many of the students who were on time.

 

Consulting electronic devices is not allowed during exams.  During exams, such consultation may result in a zero.

 

Programs must be written based on my programming standards.

Miscellaneous:

All students are expected to understand the general rules and regulations of UTSA including the information at http://provost.utsa.edu/syllabus.asp

 Black Board:

After the semester begins, most course information will be available only through Black Board. 

Course Notes:

My notes will usually use a two-column format and will be provided in Microsoft Word (use web view), allowing you to edit them to fill in exercise information which will be intentionally blank. To print the notes, use print view, landscape orientation, and narrow margins. Some of the notes will use Microsoft PowerPoint.

Fine Print:

This Syllabus is provided for informational purposes regarding the anticipated course content and schedule of this course. It is based upon the most recent information available on the date of its issuance and is as accurate and complete as possible. I reserve the right to make any changes I deem necessary and/or appropriate. I will make my best efforts to communicate any changes in the syllabus in a timely manner. Students are responsible for being aware of these changes.