Course overview
Welcome! This is an overview of CSE 210A (“Programming Languages”), a graduate course in the Computer Science and Engineering Department at the UC Santa Cruz Baskin School of Engineering.
Instructor

Hi, I’m Owen Arden!
- Contact: for anything CSE 210A-related, post or send a DM on the course discussion forum instead. Otherwise: owenarden@ucsc.edu
- Office location: Engineering 2, Room 349A
- Office hours: By appointment on Zoom or in person
- Pronouns: he/him/his (singular they is fine too!)
TA
Our course TA is Yan Tong.
- Contact: for anything CSE 210A-related, post or send a DM on the course discussion forum instead. Otherwise: ytong24@ucsc.edu
- Discussion section: Wednesdays 4-5:05pm in PhysSciences 110
- Office hours: Wednesdays 2-3pm in BE-151 (and by appointment)
A few essential details about the course
- Class meets in person Tuesdays and Thursdays, 11:40AM - 1:15PM, in Social Sciences 2, 071
- Canvas (for grades and assignment repo links): https://canvas.ucsc.edu/courses/88813
- Ed Discussion (for announcements, Q&A, communicating with Owen, TAs, and your fellow students, etc.): https://edstem.org/us/courses/90659/discussion
- Webpage (here): https://ucsc-cse-210a.github.io/win26
- Textbook: Software Foundations, Volume 1 and Volume 2 (available free online, but use assignment repo version for all submissions)
Grading
Grading is primarily (90%) based on completion of ~9 homework assignments. Class attendance and participation in discussion (10%) is highly encouraged. Attendance is necessary but not sufficient: some lectures may have in-class components like proving things as a group, etc, so please bring a laptop or device that can access your Rocq environment during class.
Full participation credit does not require perfect attendance. Participation in 80% of lectures (16 of 20) will result in full credit, 75% (15 of 20) receives half credit, and 0% for fewer than 15. Participating in discussion and other in-class activities may be considered. The extra slack is for unforeseen circumstances that prevent you from coming to class, so you do not need to have absences “excused” (i.e., please don’t email me to ask – as long as you don’t go over 25% you will fine). If you anticipate missing more than this, you may want to enroll in a different course.
Late Policy
- This course moves fast and has a high workload. It can be very hard to catch up if you get behind.
- Late assignments receive a 3% deduction in points for each 0-24 hour period past the deadline, up to 7 days.
- For students with above 75% participation at the end of the quarter, I will remove late deductions the two “latest” assignments. (This is like having late days, but fits better in Canvas’s grading policy system).
- It is very unlikely that additional extensions will be approved, so consider the impact of late submissions carefully.
Academic Integrity / AI use
All assignments in this course must be the sole, original work of individual students. Discussions with students on general proof strategies and Rocq techniques are encouraged, but should not result in identical proofs. Looking at another students’ code, whether part of this course or not, is not permitted. Online resources should be restricted to generic Rocq resources, and should not be at all related to Software Foundations material or exercises.
If you see a student’s solution by accident, or you feel an online resource ended up being too close to the answer you eventually submitted, that’s ok! Just make a private post on the discussion forum that explains what happened and include a step-by-step explanation of the code in question to demonstrate you understand what is going on. Note that in order to explain thoroughly, this may require you to understand what is going on in more detail than you would have working independently.
Any form of AI-generated code is not permitted. Co-pilot should be disabled in VSCode, and you should not use AI chatbots to help write your solutions. The assignment codespaces / devcontainers are configured with the GitDoc extension, which periodically commits your progress to your local repository (but does not push). This helps save progress and avoids data loss, but is also a record of your work in case any questions should arise.
A note on accessibility
If you have a disability and you require accommodations to achieve equal access in this course, please submit your Accommodation Authorization Letter from the Disability Resource Center (DRC) to me via the Accommodate system, preferably within the first two weeks of the quarter. I am eager to discuss ways we can ensure your full participation in the course.
I encourage all students who may benefit from learning more about DRC services to contact the DRC.