CSE 114A: Foundations of Programming Languages / Winter 2022
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.
Course announcements and discussions happen on Piazza (fixed signup link). All assignments will be managed through GitHub Classroom and submitted to Gradescope. You can find assignment links in Canvas.
Class recordings are in YuJa, some class notes in Google Drive
- Students are evaluated on the basis of homeworks, labs, a midterm, and a final exam.
- 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.
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 your midterm grade, it will replace your midterm grade, but you must take both the midterm and the final.
Top 5% best participants (good questions / good answers) on the Piazza Stream decided by course staff.
- You have a total of four 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 four 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
What we can expect from each other:
Each individual at UC Santa Cruz should act in the best interests of everyone else in our community. Please take care to comply with all university guidelines about masking in indoor settings, performing daily symptom and badge checks, testing as required by the campus vaccine policy, self-isolating in the event of exposure, and respecting others’ comfort with distancing. Please do not come to class if your badge is not green. If you forget your mask, you can ask me for one; there is a limited supply of disposable masks in each classroom. If you are ill or suspect you may have been exposed to someone who is ill, or if you have symptoms that are in any way similar to those of COVID-19, please err on the side of caution and stay home until you are well or have tested negative after an exposure. Let me know that you’re not feeling well and I’ll respond about how best you can keep learning.
What you can expect from me:
I have designed our course following campus guidance and with current public health guidelines in mind. However, these guidelines may change in accordance with shifting infection rates or the emergence of new variants. If updated public health recommendations and university requirements make our current course format unfeasible, or if I experience a need to self-isolate, I will alter the format. This may include moving in-person sessions onto Zoom, modifying course assignments to work in a remote format, and reconfiguring exams (if applicable). I will communicate clearly with you via email or Canvas announcement about any changes that occur. I will provide as much advance warning as possible and give you all the information you need to transition smoothly to the new format. If you have questions about the changes, please reach out to me so I can answer them.
What I expect from you:
If you experience an illness or exposure that requires you to miss class sessions or to attend remotely, please communicate with me as soon as possible and I will provide you with options to allow you to continue making progress in the class.