CSE 114A: Foundations of Programming Languages / Winter 2023
Problem solving emphasizing recursion, data abstraction, and higher-order functions. Introduction to types and type checking, modular programming, and reasoning about program correctness.
Prerequisite(s): CSE or CMPS 101
Lecture: Tuesdays and Thursdays from 1:30pm to 3:05pm in Classroom Unit 1
Discussion Sections: See calendar below. Please feel free to attend any discussion section as needed.
- Prof. Flanagan: After class or by appointment
- TAs and Tutors: See calendar below for availability.
- Midterm 1: Thursday Feb 2 in class
- Midterm 2: Thursday Feb 23 in class
- Final: Tuesday March 21, 4-7pm
Course announcements and discussions happen on Piazza.
All assignments will be managed through GitHub Classroom and submitted to Gradescope. You can find assignment links in Canvas.
Class recordings are in YuJa (available through Canvas), some class notes in Google Drive.
If you need to miss class for any reason (sickness, atmospheric river), please watch the Yuja video afterwards (available through canvas) to catch up. If you are sick, please do not come to class – stay home and get healthy!
- Regrades must be requested within 2 weeks of receiving graded assignment.
- A valid regrade request should include a specific reason for the regrade.
- Remember that 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.
Involves answering questions in-class via Google Forms.
There will be 6 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. Groups must be formed in GitHub Classroom to ensure both students receive credit.
|Two midterm exams
Will be held during lecture. Closed book, but you may use a double-sided “cheat sheet.”
Closed book, but you may use a double-sided “cheat sheet.”
If your final grade is higher than one (or both) of your midterm grades, it will replace those midterm grade(s), but you must take both midterms and the final.
Top 5% best participants (good questions / good answers) on the Piazza Stream decided by course staff.
- You have a total of eight late days 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 days will be approved, so use them wisely.
Diversity and InclusionWe 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 these 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.
- How to report hate or bias
- How to report sexual harrassment
- CARE (free and confidential support services)
- Crisis Assistance and Suicide Prevention
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 submit your Accommodation Authorization Letter from the Disability Resource Center (DRC) to me privately during my office hours or by appointment or by email, preferably within the first two weeks of the quarter. At this time, I would also like us 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 DRC by phone at 831-459-2089, or by email at firstname.lastname@example.org