Course Syllabus

Syllabus

CS 3520/6520 Programming Languages

CTIHB 109 MW 11:50-1:10

(livestreamed and recorded via Zoom)

InstructorS

Co-Instructors:

Ben Greenman <blg@cs.utah.edu> MEB 3252

Matthew Flatt <mflatt@cs.utah.edu> MEB 3256

<help-cs3520@lists.utah.edu>

Teaching Assistant:

 Alec Mills <help-cs3520@lists.utah.edu>

Course Description

Overview

Course CS 3520/6520
Department School of Computing
Pre-Requisites CS 3500 (recommended: CS 3505)
Credit Hours 3
Semester Fall 2023
Description Ideas behind the design and implementation of programming languages. Syntactic description; scope and lifetime of variables; runtime stack organization; parsing and abstract syntax; semantic issues; type systems; programming paradigms; interpreters and compilers.

Goals & Objectives

This course cover concepts of programming languages generally and functional languages in particular, including functions, continuations, syntactic sugar, and type systems. These concepts are explained primarily though a sequence of interpreters and type checkers.

At the end of this course, students will be able to:

  • employ a recipe for functional programming: data, examples, template (including natural recursions), implementation, and tests
  • use and implement lexical scope, closures, records, objects, and classes
  • encode language constructs using constructs that are more primitive, especially lambda-calculus terms
  • represent continuations and state explicitly, instead of relying on host-language implementations
  • use and implement different evaluation orders: eager and lazy
  • explain type soundness and implement sound type checkers for functional and object-oriented languages that include subtyping and parametric polymorphism

Required Materials

Communication

Preferred Contact Methods

The easiest way to contact your instructor directly is to use the   Inbox, located in the far left Canvas menu.

You can also contact your instructor in the following ways:

Office Hours

The teaching staff will hold office hours according to the following schedule... or by appointment with an instructor (Ben and/or Matthew):

Monday 4pm - 6pm MEB 3515 Alec queue
Tuesday 12pm - 2pm MEB 3515 Ben queue
Wednesday 2:30pm-4pm MEB 3256 Matthew queue
Wednesday 4pm - 6pm MEB 3515 Alec queue
Thursday 12pm - 2pm MEB 3252 Ben queue
Friday 10am-10:55am
1pm-3pm
MEB 3256 Matthew queue

Asking for Help

When asking a question in a place where it makes sense to show your code (i.e., in a direct message to the instructor or a TA):

  • Do include the full source of your program as an attachment.
  • Do point the instructor/TA to a particular part of the program (e.g., by line number) where you have a question or where you think there’s a problem.
  • Don’t send just a fragment of your code. The instructor/TA probably needs more context. Also, If you don’t understand why a fragment of code has problems, then maybe you’re looking at the wrong fragment.
  • Don’t include just a screen shot of the program text. Sometimes, the instructor/TA needs to try running your program to see what happens, and screenshots don’t compile. A screen shot is useful sometimes, but in that case, include both program text and a screen image.
  • Don’t copy and paste the text into your mail message, because mail transport mangles text. Provide a program as an attachment.

Evaluation

Your performance in this course will be evaluated by:

  • Homework assignments (55%)
  • Two midterm exams (15% each)
  • Final programming assignment (10%)
  • Video-lecture quizzes (5%)

Course Policies

Submitting Assignments

All assignments must be submitted via the “Handin” button in DrRacket. Install the uu-cs3520 package and restart DrRacket to get the “Handin” button. See DrRacket and the Handin Button for more information. You can check your handin status and get feedback from the Handin status server.

Each set of lecture videos has an associated quiz on Canvas. Quizzes are due before the corresponding class meeting.

Late Assignments

Late quizzes are not accepted. Homework submissions will be accepted up to 48 hours after the deadline. For each student, up to two late homework submissons (each up to 48 hours late) will be accepted without penalty. After a student's first two late submissions, a late submission within 24 hours of the deadline will be penalized 25%. A submission more than 24 hours late but less than 48 hours late will be penalized 50%.

Large Language Models

The use of large language models (LLMs) such as ChatGPT is permitted on homework assignments. An LLM's contribution to your homework submission must be acknowledged in a comment. Students should take care to use LLMs in a way that fosters their own learning — perhaps, for example, relying on ChatGPT as a way of understanding existing code rather than having it change code or write new code for you. The course staff will not provide technical or financial support to help students use LLMs. Do not rely on LLMs to answer course-related questions (grading, due dates, etc.); ask the course staff instead. The use of LLMs, program interpreters, or remote resources is not permitted during in-class midterm exams.

Some general disclaimers: LLMs may output text that is grossly incorrect, subtly incorrect, or otherwise misleading. LLM companies may track the queries you submit. LLMs may have, in the aggregate, a large cost to the environment that companies do not (or, cannot) fully account for.

Grading

Grading for this course

Each quiz associated with a set of lecture videos is worth a number of points corresponding to the number of questions on the quiz, where each correct answer is worth 1 point. The intent is that you take the quiz after/during watching the videos. At the end of the semester, any cumulative quiz grade of 60% or more is rounded up to 100%. Consequently, you should not be unduly concerned about missed quiz questions, even though there are no retakes, as long as you are following the videos and answering most questions correctly.

Homework is graded on the following scale: check+ = 100% for perfect or nearly perfect work, check = 80% for somewhat flawed but acceptable work, check- = 50% for seriously flawed work, 0 = 0% for missing or completely unacceptable work, and check++ = 110% for perfect work plus extra credit (when specifically offered). All homework assignments are weighted equally.

Exams are graded on a scale of 0 to 100 points.

A final assignment will be similar to a homework assignment, but larger, and the handin process will include a 1-page report. The final assignment serves much the same role as a final exam.

University of Utah grading scale

Letter Scoring
A 100% - 94%
A- 93.9% - 90%
B+ 89.9%–87%
B 86.9%–84%
B- 83.9% - 80%
C+ 79.9%–77%
C 76.9%–74%
C- 73.9% - 70%
D+ 69.9%–67%
D 66.9%–64%
D- 63.9% - 60%
E 59.9%–0%

Accommodations

Disclaimer

Accommodations will be considered on an individual basis and may require documentation.

Please contact your instructor and/or teaching assistant as soon as possible (preferably shortly before the semester begins) to request accommodations of any kind.

Extreme personal circumstances

Please contact your instructor as soon as possible if an extreme personal circumstance
(hospitalization, death of a close relative, natural disaster, etc.) is interfering with your ability to
complete your work.

Religious Practice

To request an accommodation for religious practices, contact your instructor at the beginning of the semester.

Active Duty Military

If you are student on active duty with the military and experience issues that prevent you from participating in the course because of deployment or service responsibilities, contact your instructor as soon as possible to discuss appropriate accommodations.

Disability Access

All written information in this course can be made available in an alternative format with prior notification to the Center for Disability Services (CDS). CDS will work with you and the instructor to make arrangements for accommodations. Prior notice is appreciated. To read the full accommodations policy for the University of Utah, please see Section Q of the Instruction & Evaluation regulations.

If you will need accommodations in this class, contact:

Center for Disability Services
801-581-5020
disability.utah.edu
162 Union Building
    200 S. Central Campus Dr.
     Salt Lake City, UT 84112

Changes to the Syllabus

This syllabus is not a contract. It is meant to serve as an outline and guide for your course. Please note that your instructor may modify it to accommodate the needs of your class.

You will be notified of any changes to the Syllabus.

University Policies

COVID-19 Information

 
 
COVID-19 Central @ The U

 801-213-2874
 coronavirus.utah.edu

Drop/Withdrawal Policies

Students may drop a course within the first two weeks of a given semester without any penalties.

Students may officially withdraw (W) from a class or all classes after the drop deadline through the midpoint of a course. A “W” grade is recorded on the transcript and appropriate tuition/fees are assessed. The grade “W” is not used in calculating the student’s GPA.

For deadlines to withdraw from full-term, first, and second session classes, see the U's Academic Calendar.

Academic Honesty, Plagiarism and Cheating

It is assumed that all work submitted to your instructor is your own work. When you have used the ideas of others, you must properly indicate that you have done so.

It is expected that students adhere to University of Utah policies regarding academic honesty, including but not limited to refraining from cheating, plagiarizing, misrepresenting one’s work, and/or inappropriately collaborating. This includes the use of generative artificial intelligence (AI) tools without citation, documentation, or authorization. Students are expected to adhere to the prescribed professional and ethical standards of the profession/discipline for which they are preparing. Any student who engages in academic dishonesty or who violates the professional and ethical standards for their profession/discipline may be subject to academic sanctions as per the University of Utah’s Student Code: https://regulations.utah.edu/academics/6-410.php

Plagiarism and cheating are serious offenses and may be punished by failure on an individual assignment, and/or failure in the course. Academic misconduct, according to the University of Utah Student Code,

“...Includes, but is not limited to, cheating, misrepresenting one’s work, inappropriately collaborating, plagiarism, and fabrication or falsification of information…It also includes facilitating academic misconduct by intentionally helping or attempting to help another to commit an act of academic misconduct.”

For details on plagiarism and other important course conduct issues, see the U's Code of Student Rights and Responsibilities.

Course Materials Copyright

The Content is made available only for your personal, noncommercial educational, and scholarly use. You may not use the Content for any other purpose, or distribute, post or make the Content available to others unless you obtain any required permission from the copyright holder. Some Content may be provided via streaming or other means that restrict copying; you may not circumvent those restrictions. You may not alter or remove any copyright or other proprietary notices included in the Content.
 
Please see the Code of Student Rights and Responsibilities, Section III.A.5 regarding the use and distribution of class Content and materials. Section III.A.5. prohibits the following:
Sale or distribution of information representing the work product of a faculty member to a commercial entity for financial gain without the express written permission of the faculty member responsible for the course. (“Work product” means original works of authorship that have been fixed in a tangible medium and any works based upon and derived from the original work of authorship.)

Safety at the U

The University of Utah values the safety of all campus community members. You will receive important emergency alerts and safety messages regarding campus safety via text message.

For more safety information and to view available training resources, including helpful videos, visit safeu.utah.edu (Links to an external site.).

To report suspicious activity or to request a courtesy escort, contact:

Campus Police & Department of Public Safety
801-585-COPS (801-585-2677)
 dps.utah.edu
1735 E. S. Campus Dr.
     Salt Lake City, UT 84112

Wellness at the U

Your personal health and wellness are essential to your success as a student. Personal concerns like stress, anxiety, relationship difficulties, depression, or cross-cultural differences can interfere with a student’s ability to succeed and thrive in this course and at the University of Utah.

Please feel welcome to reach out to your instructor or TA to handle issues regarding your coursework.

For helpful resources to manage your personal wellness and counseling options, contact:

Center for Student Wellness
801-581-7776
wellness.utah.edu
2100 Eccles Student Life Center
     1836 Student Life Way
     Salt Lake City, UT 84112

Women's Resource Center
801-581-8030
womenscenter.utah.edu
411 Union Building
     200 S. Central Campus Dr.
     Salt Lake City, UT 84112

Addressing Sexual Misconduct

Title IX makes it clear that violence and harassment based on sex and gender (which includes sexual orientation and gender identity/expression) is a civil rights offense subject to the same kinds of accountability and the same kinds of support applied to offenses against other protected categories such as race, national origin, color, religion, age, status as a person with a disability, veteran’s status, or genetic information.

If you or someone you know has been harassed or assaulted, you are encouraged to report it to university officials: 

Title IX Coordinator & Office of Equal Opportunity and Affirmative Action
801-581-8365
oeo.utah.edu
135 Park Building
     201 Presidents' Cir.
     Salt Lake City, UT 84112

Office of the Dean of Students
801-581-7066
deanofstudents.utah.edu
 270 Union Building
     200 S. Central Campus Dr.
     Salt Lake City, UT 84112

To file a police report, contact:

Campus Police & Department of Public Safety
801-585-COPS (801-585-2677)
 dps.utah.edu
1735 E. S. Campus Dr.
     Salt Lake City, UT 84112

If you do not feel comfortable reporting to authorities, the U's Victim-Survivor Advocates provide free, confidential, and trauma-informed support services to students, faculty, and staff who have experienced interpersonal violence.

To privately explore options and resources available to you with an advocate, contact:

Center for Student Wellness
801-581-7776
wellness.utah.edu
328 Student Services Building
    201 S. 1460 E.
     Salt Lake City, UT 84112

Americans With Disabilities Act (ADA)

The University of Utah seeks to provide equal access to its programs, services, and activities for people with disabilities.

All written information in this course can be made available in an alternative format with prior notification to the Center for Disability & Access (CDA). CDA will work with you and the instructor to make arrangements for accommodations. Prior notice is appreciated. To read the full accommodations policy for the University of Utah, please see Section Q of the Instruction & Evaluation regulations.

If you will need accommodations in this class, or for more information about what support they provide, contact:

Center for Disability & Access
801-581-5020
disability.utah.edu
162 Union Building
    200 S. Central Campus Dr.
     Salt Lake City, UT 84112

Diverse Student Support

Your success at the University of Utah is important to all of us here! If you feel like you need extra support in academics, overcoming personal difficulties, or finding community, the U is here for you.

Student Support Services (TRIO)

TRIO federal programs are targeted to serve and assist low-income individuals, first-generation college students, and individuals with disabilities.

Student Support Services (SSS) is a TRIO program for current or incoming undergraduate university students who are seeking their first bachelor's degree and need academic assistance and other services to be successful at the University of Utah.

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

Student Support Services (TRIO)
801-581-7188
trio.utah.edu
 Room 2075 
     1901 E. S. Campus Dr.
     Salt Lake City, UT 84112

American Indian Students

The AIRC works to increase American Indian student visibility and success on campus by advocating for and providing student-centered programs and tools to enhance academic success, cultural events to promote personal well-being, and a supportive “home-away-from-home” space for students to grow and develop leadership skills. 

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

American Indian Resource Center
 801-581-7019
diversity.utah.edu/centers/airc
Fort Douglas Building 622
     1925 De Trobriand St.
     Salt Lake City, UT 84113

Black Students

Using a pan-African lens, the Black Cultural Center seeks to counteract persistent campus-wide and global anti-blackness. The Black Cultural Center works to holistically enrich, educate, and advocate for students, faculty, and staff through Black-centered programming, culturally affirming educational initiatives, and retention strategies.

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

Black Cultural Center
801-213-1441
diversity.utah.edu/centers/bcc
Fort Douglas Building 603
     95 Fort Douglas Blvd.
     Salt Lake City, UT 84113

Students with Children

Our mission is to support and coordinate information, program development, and services that enhance family resources as well as the availability, affordability, and quality of child care for University students, faculty, and staff.

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

Center for Childcare & Family Resources
801-585-5897
childcare.utah.edu
408 Union Building
    200 S. Central Campus Dr.
     Salt Lake City, UT 84112

Students With Disabilities

The Center for Disability and Access is dedicated to serving students with disabilities by providing the opportunity for success and equal access at the University of Utah. They also strive to create an inclusive, safe, and respectful environment.

For more information about what support they provide and links to other resources, view their website or contact:

Center for Disability and Access
801-581-5020
disability.utah.edu
162 Union Building
    200 S. Central Campus Dr.
     Salt Lake City, UT 84112

Students of Ethnic Descent

The Center for Ethnic Student Affairs offers several programs dedicated to the success of students with varied cultural and ethnic backgrounds. Its mission is to create an inclusive, safe campus community that values the experiences of all students.

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

Center for Ethnic Student Affairs
801-581-8151
diversity.utah.edu/centers/cesa/
 235 Union Building
    200 S. Central Campus Dr.
     Salt Lake City, UT 84112

English as a Second/Additional Language (ESL) Students

If you are an English language learner, there are several resources on campus available to help you develop your English writing and language skills. Feel free to contact:

Writing Center
801-587-9122
writingcenter.utah.edu

 (Links to an external site.)

2701 Marriott Library
     295 S 1500 E
     Salt Lake City, UT 84112

English for Academic Success (EAS) Program
 801-581-8047
linguistics.utah.edu
 2300 LNCO
     255 S. Central Campus Dr.
     Salt Lake City, UT 84112

English Language Institute
801-581-4600
continue.utah.edu/eli (Links to an external site.)
540 Arapeen Dr.
     Salt Lake City, UT 84108

Undocumented Students

Immigration is a complex phenomenon with broad impact—those who are directly affected by it and those who are indirectly affected by their relationships with family members, friends, and loved ones. If your immigration status presents obstacles that prevent you from engaging in specific activities or fulfilling specific course criteria, confidential arrangements may be requested from the Dream Center.

Arrangements with the Dream Center will not jeopardize your student status, your financial aid, or any other part of your residence. The Dream Center offers a wide range of resources to support undocumented students (with and without DACA) as well as students from mixed-status families.

For more information about what support they provide and links to other resources, view their website or contact:

Dream Center
801-213-3697
dream.utah.edu (Links to an external site.)
200 S. CENTRAL CAMPUS DRIVE
UNION, ROOM 80 
SALT LAKE CITY, UT 84112

LGBTQ+ Students

The LGBTQ+ Resource Center acts in accountability with the campus community by identifying the needs of people with a queer range of [a]gender and [a]sexual experiences and responding with university-wide services.

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

LGBTQ+ Resource Center
801-587-7973
lgbt.utah.edu (Links to an external site.)
409 Union Building
    200 S. Central Campus Dr.
     Salt Lake City, UT 84112

Veterans & Military Students

The mission of the Veterans Support Center is to improve and enhance the individual and academic success of veterans, service members, and their family members who attend the university; to help them receive the benefits they earned, and to serve as a liaison between the student veteran community and the university.

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

Veterans Support Center
801-587-7722
veteranscenter.utah.edu  (Links to an external site.)
418 Union Building
    200 S. Central Campus Dr.
     Salt Lake City, UT 84112

Women

The Women’s Resource Center (WRC) at the University of Utah serves as the central resource for educational and support services for women. Honoring the complexities of women’s identities, the WRC facilitates choices and changes through programs, counseling, and training grounded in a commitment to advance social justice and equality.

For more information about what support they provide, a list of ongoing events, and links to other resources, view their website or contact:

Women's Resource Center
801-581-8030
womenscenter.utah.edu
411 Union Building
     200 S. Central Campus Dr.
     Salt Lake City, UT 84112

Inclusivity at the U

The Office for Inclusive Excellence is here to engage, support, and advance an environment fostering the values of respect, diversity, equity, inclusivity, and academic excellence for students in our increasingly global campus community. They also handle reports of bias in the classroom as outlined below:

Bias or hate incidents consist of speech, conduct, or some other form of expression or action that is motivated wholly or in part by prejudice or bias whose impact discriminates, demeans, embarrasses, assigns stereotypes, harasses, or excludes individuals because of their race, color, ethnicity, national origin, language, sex, size, gender identity or expression, sexual orientation, disability, age, or religion.

For more information about what support they provide and links to other resources, or to report a bias incident, view their website or contact:

Office for Inclusive Excellence
801-581-4600
inclusive-excellence.utah.edu (Links to an external site.)
200 S. CENTRAL CAMPUS DRIVE
UNION, ROOM 70
SALT LAKE CITY, UT 84112

Other Student Groups at the U

To learn more about some of the other resource groups available at the U, check out:

getinvolved.utah.edu/

https://ssc.utah.edu/tools-for-success.php

Course Summary:

Date Details Due