Programming Languages

Course Resources

  • Lectures: MWF 1:00-1:50pm PCYNH 109 and on Zoom
  • Discussion section: F 2:00-2:50pm PCYNH 109 and on Zoom
  • Calendar: Check here for office hours, deadlines, etc.
  • Piazza: Check here for announcement and discussions
  • Canvas: Check here for lecture recordings
  • Gradescope: Submit assignments here (code: ZWNRWX)
  • ClassQuestion: Sign up here (code: GXJVJ)



Teaching Assistants


  • Mark Barbone
  • Justin Du
  • Rana Lulla
  • Melody Ruth


Programming Languages are the duct tape, bricks, mortar and steel of the information age. Over the last thirty years, a variety of languages with diverse features have been developed, expressing radically different perspectives of the idea of computation. CSE 130 is an introduction to some of these perspectives, as well as the fundamental concepts of languages. We shall focus in particular on one paradigm – functional programming as embodied in the lambda calculus and the Haskell language. Many students will be encountering this paradigm and these languages for the first time. As with spoken languages, these are best absorbed by immersing yourself in the different environments and practicing your skills by experimentation.

Integrity of Scholarship

University rules on integrity of scholarship will be strictly enforced. By taking this course, you implicitly agree to abide by the UCSD Policy on Integrity of Scholarship described here.

In particular, our general policy is that any work you submit for grade should be your own, or else the source must be cited.

Incidents which violate the University’s rules on integrity of scholarship will be taken seriously. In addition to receiving a zero (0) on the assignment/exam in question, students may also face other penalties, up to and including, expulsion from the University. Should you have any doubts about the moral and/or ethical implications of an activity regarding the course, please see the instructor.