CSE 114A: Foundations of Programming Languages / Spring 2026


Course Description

Problem solving emphasizing recursion, data abstraction, and higher-order functions. Introduction to types and type checking, modular programming, and reasoning about program correctness.

Lindsey Kuper’s Section (01)

Lecture with Lindsey: Mondays, Wednesdays and Fridays from 2:40pm to 3:45pm in Oakes College 105

Discussion Sections:

Lindsey’s office hours: Fridays, 1:15-2:15pm, in E2-349B

Lindsey’s course announcements and discussions happen on the CSE114A Zulip organization. Contact course staff if you need an invitation to Zulip.

Owen Arden’s Section (02)

Lecture with Owen Arden: Mondays, Wednesdays and Fridays from 4:00pm to 5:05pm in Classroom Unit 001

Discussion Sections:

Owen’s “office” hours: Fridays, 2:45pm-3:45pm, at the Classroom Unit picnic tables

Owen’s course announcements and discussions happen on the Ed Discussion forum.

TA Office Hours and Tutoring Hours: See the calendar below for availability.

This week

Coursework

  • We evaluate students on the basis of class participation, section participation, homework assignments, two midterm exams, and a final exam.
  • Assignment and exam regrades must be requested within one week of receiving the graded assignment or exam. A valid regrade request should include a specific reason for the regrade. We try very hard to assign partial credit fairly and consistently, so unless an actual mistake occurred, your regrade request may be declined to ensure fairness to all students.

Your grade has the following components:

Component Weight
Achievements

Contribute to the course environment in small but meaningful ways and get credit for it. Details on Canvas.

1%

Class participation

In-person and interactive participation via mini-worksheets that you'll complete during lectures.

6%

Section participation

Attend sections and complete worksheets each week.

10%

Homework assignments

There will be six programming assignments, mostly in Haskell. The first two are individual assignments, but the remaining assignments may be worked on in groups of at most two.

18%

Midterm exam 1

Will be held during lecture (see schedule). Closed book, but you may use a double-sided “cheat sheet.”

20%

Midterm exam 2

Will be held during lecture (see schedule). Closed book, but you may use a double-sided “cheat sheet.”

20%

Final exam

Held during finals week (see final exam calendar). Closed book, but you may use a double-sided “cheat sheet.”

25%

Grading scheme

For your overall grade, after determining a percentage using the weights above, we use the following grading scheme. It's pretty standard, except that we don't give C- grades and the range for C goes down to 70%. Additionally, for anyone who is within .5% of getting a higher letter grade when rounded up, our policy is to give the higher letter grade. For example, for someone who has 82.5%, we round up to 83.0% and give that person a B rather than a B-. Aside from that standard rounding policy, we don't entertain requests for grade changes.

PercentageLetter grade
97%-100%A+
93-96.99%A
90-92.99%A-
87-89.99%B+
83-86.99%B
80-82.99%B-
77-79.99%C+
70-76.99%C
60-69.99%D
0-59.99%F

Late Policy

  • You have a total of five late days for assignment submissions that you can use throughout the quarter as you need them.
  • A late day means anything between 1 second and 23 hours 59 minutes and 59 seconds past a deadline.
  • You should save your late days for when unexpected circumstances arise that prevent you from turning in your homework on time.
  • It is very unlikely that additional extensions beyond these five days will be approved, so use them wisely.

Health absences and makeup policies

For your own well-being as well as your classmates, some of whom may have compromised immune systems or increased risk of serious complications, please do not come to class if you feel sick. In particular, if you have symptoms in any way similar to extremely contagious diseases such as COVID-19, please err on the side of caution and stay home until you have tested negative or are no longer contagious. Consider masking indoors to prevent exposure and keep yourself healthy and able to complete your coursework.

Class participation policies, homework late days, and grading policies have been designed to include slack for occasional illnesses and unavoidable absences for family emergencies. In rare cases of an extended illness (e.g., a week or more), or sudden illness/emergency impacting an exam, some accommodations are possible but not guaranteed. Limited homework extensions, alternate testing locations, or a makeup exam up to 2 days after an exam date may be offered -- at the discretion of the instructor -- in these rare cases. Students should make every effort to plan ahead to limit the impact of unforeseen circumstances on their ability to successfully complete coursework.

For more information on reasonable limitations and expectations regarding makeup assignments and exams, you can refer to the following memos from the Academic Senate Committee on Educational Policy:

Academic Integrity Policy

Like most courses, this course includes learning activities (of which assignments are a part) and evaluation activities (of which exams are a part). You are mostly free to engage with the learning activities in the way that best helps you learn. But the learning activities are designed to help you pass the evaluation activities, where you have less freedom regarding how to engage. So, be advised that it's in your best interest to engage appropriately with the learning activities.

What does "appropriate" engagement with assignments in this course look like? You can:

  • Ask the course staff for help and advice as needed. That's what we're here for.
  • Ask your classmates for help and advice as needed, but don't copy from anyone or anything: once you understand the concepts, you must write your own code.
  • Consult resources suggested by the course staff.
  • Use publicly available and linkable resources you find, such as online documentation and tutorials.

Additionally, you must cite any sources you use. When you submit a homework assignment, you must include at the top level of your assignment repository a file called INTEGRITY.md that gives credit to all sources you used while working on the assignment. So that you have an idea of the level of detail that is expected, we have provided an example INTEGRITY.md file. Thorough citation is the way to avoid running afoul of accusations of misconduct.

The integrity statements you submit will be read by the course staff -- not to try to catch you out, but rather as an opportunity to learn about the parts of the assignments you found difficult, and whether the resources you made use of were effective for you.

Policy on the use of generative AI tools

As stated in the academic integrity policy above, "don't copy from anyone or anything: once you understand the concepts, you must write your own code" is our policy. Therefore, turning in code generated using an interactive generative AI tool is a violation of academic integrity in this course.

On the other hand, using generative AI tools for help in understanding course topics is allowed. However, after seeing how students have been misled by generative AI tools in previous versions of this course, we don't recommend it. In most cases, you would be better off asking questions of course staff or availing yourself of the wealth of human-authored resources out there. If you are looking for online resources, AI summaries from search results may be helpful in finding human-authored resources, but beyond that, their use may be counter-productive. If a generative AI tool generates responses that you don't understand, are not reasonably confident of the correctness of, or would struggle to explain to the course staff, then the tool is hurting you more than it's helping, and you should seek help from the course staff instead.

If you do decide to use a generative AI tool with a chat-style interface for help understanding course topics while working on the assignment, you must specify which tool you used and provide a complete transcript of your entire interaction with the tool, including all the prompts you gave to the tool and all of its responses. You can either include a link to the transcript in your INTEGRITY.md file, or you can copy and paste the entire transcript into the file. The term "generative AI tool with a chat-style interface" includes (but is not limited to) ChatGPT, Claude, and the GitHub Copilot chat interface.

Of course, we haven't even begun to address the topic of the myriad environmental, social, and ethical problems involved in the training, deployment, and use of generative AI tools based on large language models, but that's a topic for another course.

Diversity and Inclusion

We strive to create a learning environment that supports a diversity of thoughts and perspectives, and respects each student's individuality and identity. We make mistakes, though, and if there is a way we can make you feel more included, please let one of the course staff know in any way you feel comfortable. We also expect you as a student to honor and respect your classmates and abide by the UCSC Principles of Community. Building an effective learning environment is only possible with mutual respect. Each student must feel comfortable admitting when they don't understand or risking being wrong in public. Please make an effort to protect this space. We do not tolerate intolerance. If you experience any sort of harassment or discrimination, please contact the instructor as soon as possible. If you prefer to speak with someone outside of the course, please see the options below.

DRC accommodations

UC Santa Cruz is committed to creating an academic environment that supports its diverse student body. If you are a student with a disability who requires accommodations to achieve equal access in this course, please contact the Disability Resource Center (DRC), and feel free to reach out to me personally as well. I'm eager to discuss ways we can ensure your full participation in the course.

Previous Offerings


Teaching Assistants

Jonathan Castello

Jack Fox Keen

Gan Shen

Readers and Tutors

Stacy Glushchenko

Daniel Hong

Archita Srikrishnan

Benito Gravert

Emma Kato

Julia Sather