CSE 114A: Foundations of Programming Languages / Spring 2022

Updates

  • Welcome to CSE114A!


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.
Prerequisite(s): CSE or CMPS 101

Lecture: Tuesdays and Thursdays from 3:20pm to 4:55pm in Earth and Marine Sciences B206. Lecture videos are accessible here and are usually posted within two hours of the end of class.

Discussion Sections:

  • In person Mondays from 4:00pm to 5:05pm in Cowell Room 134 (David)
  • In person Mondays from 5:20pm to 6:25pm in Cowell Room 134 (Achilles)
  • In person Tuesdays from 8:30am to 9:35am in Cowell Room 134 (Gan)
  • Remote Wednesdays from 2:00pm to 3:05pm on Zoom (Nathan)
  • Remote Wednesdays from 3:20 to 4:25pm on Zoom (Nathan)
  • In person Thursdays from 8:30am to 9:35am in Cowell Room 134 (Gan)
  • Remote Fridays from 12:05pm to 1:10pm on Zoom (Aakash)
  • Remote Fridays from 5:20pm to 6:25pm on Zoom (David)

Office Hours: See calendar below for availability.

Course announcements and discussions happen on the CSE114A Zulip organization. Contact course staff if you need an invitation. All assignments will be managed through GitHub Classroom and submitted to Gradescope. You can find assignment links in Canvas.

This week

Coursework

  • Students are evaluated on the basis of class participation, homeworks, a midterm exam, and a final exam.
  • Assignment regrades must be requested within two weeks of receiving the 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.
Class participation

Involves answering questions in-class via Google Forms, and completing occasional surveys outside of class.

5%

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. Groups must be formed in GitHub Classroom to ensure both students receive credit.

30%

Midterm exam

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

30%

Final exam

Held on Monday, June 6 from 8am to 11am. 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.

35%

Extra credit

Top 5% best participants (good questions / good answers) on Zulip, decided by course staff.

+5%

Late Policy

  • 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 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 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 drc@ucsc.edu.

COVID-19 Information

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 Zulip 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.

Previous Offerings


Instructor

Teaching Assistants

Aakash Mishra

David Lung

Gan Shen

Nathan Liittschwager

Tutors

Ian Cowan

Kyle Little

Shun Kashiwa

Sonia Atre

Sreevani Suvarna