COMP520 Compilers

https://www.cs.unc.edu/~kakiryan/teaching/summer-520.html

Summer 2024 – June 24 through July 30

General Course Info

Term: Summer Session 2 (June 24 through July 30)

Department: COMP

Course Number: 520

Section Number: 001

Credit Hours: 3

Instructor Info

Name: Kaki Ryan

Pronouns: She/Her

Office: FB 342

Email: kakiryan@cs.unc.edu

Office Hours: T/Th 2p-4p (Kaki)

TA Info

Name: Will Zahrt

Pronouns: He/Him

Email: wzahrt@unc.edu

Office Hours: 10a-12p SN142

Textbook and Resources

The course web page is the primary resource for this course. There is no required textbook for COMP520. We will distribute occasional readings, reference material, and tutorials via the course website and e-mail announcements.

Course Description, Target Audience, and Pre-requisites

This upper-level undergraduate class (also available for graduate credit) extends and integrates material from prerequisite courses to build a compiler for a non-trivial subset of the Java programming language. Java is also the implementation language for the compiler. Upon completion of this course, you should:

Course Requirements

Student should attend all lectures and check the course web page for announcements and updates. Students will be required to complete a large programming project. There will also be several written assignment

Additionally, there will be 4 quizzes and a final exam.

Students should expect to spend 3-4 hours of work per day on reviewing course material and programming assignments; start early and ask questions.

Final Exam – July 30th 8:00 - 11:00am

The course final is given in compliance with the UNC final exam regulations and according to the UNC Final Exam calendar. If you have a non-standard final exam that conflicts with COMP 520, per UNC policy the non-standard final exam must offer you an alternate time.

Key Dates

As stated above, the final exam will be held July 30 from 8-11am per the official university schedule.

The dates for the 4 quizzes are:

There will be 4 major checkpoints for the programming project, each due on Tuesdays at 11:59pm. There will be a 5th “programming assignment” that involves optional extensions and writing up documentation. This will be due on LDOC (7/25)

There will be 4 written assignments due on Fridays that provide practice with the theoretical concepts discussed in class.

Exact details will be posted on the course site!

There will be office hours available daily, in-person, from 10-12pm, and from 2-4pm, M-F. The UTAs will be holding the morning office hours and Kaki will hold the afternoon office hours.

Grading Criteria

To do well in this course you must come to your own individual mastery of introductory programming concepts. Final grades are calculated with the following weights for each course component:

If, and only if, you take all quizzes and your final examination score exceeds a quiz score, then we will replace the lowest quiz score with your final exam score.

Honor Code

Ensure that help is only obtained from textbooks, lectures, and office hours. Any outside help is disallowed and considered a violation of the honor code. Contract cheating services (Chegg), AI (Chat GPT), public source code (GitHub/GitLab), and material (verbal, googled, printed, shared in any form) from those not associated with this course is explicitly disallowed.

When in doubt, ask me!

Code Review Test

I reserve the right to, at any time, ask you to submit to a “code review” test with me or a head TA. We may ask you to meet to explain any line of code or decision made in your program that we deem suspicious or confusing. Thus, you should be able to comfortably explain why you (and you alone) wrote any single line of code in an assignment handed in for credit. Should you be unable to do so, you may be taken to honor court depending on the severity of the infraction.

Late policies

All assignments, outside of assessments such as quizzes and the final exam, will have an 11:59pm deadline as their due date.

I am happy to work with you and understand life happens. Please never be afraid to email me if you have any concerns or questions.

Grading Scale Breakdown

In cases of fractional points, grades will be rounded up if greater than 0.4599999999…

Course Schedule

See the home page of the website where I will try to keep the most up to date schedule!

Diversity Statement

I value the perspectives of individuals from all backgrounds reflecting the diversity of our students. I broadly define diversity to include race, gender identity, national origin, ethnicity, religion, social class, age, sexual orientation, political background, and physical and learning ability. I strive to make this classroom an inclusive space for all students. Please let me know if there is anything I can do to improve, I appreciate suggestions.

Title IX Resources

Any student who is impacted by discrimination, harassment, interpersonal (relationship) violence, sexual violence, sexual exploitation, or stalking is encouraged to seek resources on campus or in the community. Please contact the Director of Title IX Compliance (Adrienne Allison – Adrienne.allison@unc.edu), Report and Response Coordinators in the Equal Opportunity and Compliance Office (reportandresponse@unc.edu), Counseling and Psychological Services (confidential), or the Gender Violence Services Coordinators (gvsc@unc.edu; confidential) to discuss your specific needs. Additional resources are available at safe.unc.edu.

Accessibility Resources and Services

The University of North Carolina at Chapel Hill facilitates the implementation of reasonable accommodations, including resources and services, for students with disabilities, chronic medical conditions, a temporary disability or pregnancy complications resulting in barriers to fully accessing University courses, programs and activities.

Accommodations are determined through the Office of Accessibility Resources and Service (ARS) for individuals with documented qualifying disabilities in accordance with applicable state and federal laws. See the ARS Website for contact information: https://ars.unc.edu or email ars@unc.edu.

Counseling and Psychological Services

CAPS is strongly committed to addressing the mental health needs of a diverse student body through timely access to consultation and connection to clinically appropriate services, whether for short or long-term needs. Go to their website: https://caps.unc.edu/ or visit their facilities on the third floor of the Campus Health Services building for a walk-in evaluation to learn more. (source: Student Safety and Wellness Proposal for EPC, Sep 2018)

Policy on Non-Discrimination

The University is committed to providing an inclusive and welcoming environment for all members of our community and to ensuring that educational and employment decisions are based on individuals’ abilities and qualifications. Consistent with this principle and applicable laws, the University’s Policy Statement on Non-Discrimination offers access to its educational programs and activities as well as employment terms and conditions without respect to race, color, gender, national origin, age, religion, creed, genetic information, disability, veteran’s status, sexual orientation, gender identity or gender expression. Such a policy ensures that only relevant factors are considered and that equitable and consistent standards of conduct and performance are applied. If you are experiencing harassment or discrimination, you can seek assistance and file a report through the Report and Response Coordinators (see contact info at safe.unc.edu) or the Equal Opportunity and Compliance Office, or online to the EOC at https://eoc.unc.edu/report-an-incident/.

Disclaimer

The instructor reserves to right to make changes to the syllabus, including assignment due dates and quiz dates. These changes will be announced as early as possible.