Course Syllabus
CSE 130 - Programming Languages: Principles & Paradigms [WI23]
Instructor: Michael Borkowski
Email: mborkows@ucsd.edu
Office Hours: TBD and by appointment
Location: CSE 4258
Lecture: Mon/Wed/Fri 3:00 - 3:50pm
Location: Pepper Canyon Hall (PCYNH) 106Links to an external site.
Discussion: Mondays 4:00 - 4:50pm
Location: Pepper Canyon Hall (PCYNH) 106Links to an external site.
Teaching Assistants
TA: Simran Barnwal
Email: sbarnwal@ucsd.edu
Office hours: Fri 11am-1pm, CSE B215
TA: Aidan Denlinger
Email: adenling@ucsd.edu
Office hours: Tues 10-11 am, CSE B260A
Wed 4-5 pm, CSE B260A
TA: Bhavya Singh
Email: bhsingh@ucsd.edu
Office hours: Mon, Wed & Fri 10:20 - 11 AM, CSE B240A
Tutors
Justin Yao Du
Email: j2du@ucsd.edu
Office hours: Tues 5pm-7pm, CSE B250A
Shravan Konduru
Email: skonduru@ucsd.edu
Office hour: TBD
Zenas Zhu
Email: zez007@ucsd.edu
Office hour: TBD
Course Description
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.
Grading
Homework Assignments (48%)
There will be eight homework assignments, assigned weekly. Most will be programming assignments, which will be turned in through GitHub classroom. Two will be written and can be turned in on Gradescope or in person. Detailed instructions on turning them in will be posted with each assignment.
Partners
- You can work on the assignments either alone or in groups of two.
- You can declare your group when submitting on Gradescope and when accepting an assignment on GitHub classroom.
- Each group will make one submission.
- You do not need to keep the same partner throughout the quarter.
Second Chance Points
For the programming assignments, we will have a second chance deadline for resubmission , about a week after the assignment is returned. You can receive partial credit on missed test cases from the first submission .
Midterms (20%)
The first midterm will be held in person on Friday, February 3, during the usual lecture time. The second midterm will be a take-home exam with a format similar to the programming assignments. It will be available for a 48 hour period during Week 7 or Week 8. This midterm must be done alone: no collaboration is permitted.
The lower of the two midterm grades will be dropped.
Final Exam (30%)
Will be held on Wednesday, March 22 from 3 - 6 pm in PCYNH 106.
Intro Survey (2%)
During the first week we will distribute an introductory survey to collect your GitHub handles and to learn more about the interests of the class. Full credit is given for submitting this survey.
Extra Credit: Participation (2%)
Extra credit will be given to students for participation on Piazza (in terms of quality, not quantity). Other sources of extra credit may be announced later.
Attendance
This course is conducted in person. Recordings of the lectures will be available asynchronously (i.e. after class) as a Podcast and uploaded to the Canvas Media Gallery.
Attendance is strongly recommended, but is never mandatory.
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,
all academic work will be done by the student to whom it is assigned, without unauthorized aid of any kind.
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.
Inclusive Teaching
We are committed to fostering a learning environment for this course that supports a diversity of thoughts, perspectives and experiences, and respects your identities (including race, ethnicity, heritage, gender, sex, class, sexuality, religion, ability, age, educational background, etc.). Our goal is to create a diverse and inclusive learning environment where all students feel comfortable and can thrive.
Our instructional staff will make a concerted effort to be welcoming and inclusive to the wide diversity of students in this course. If there is a way we can make you feel more included please let one of the course staff know, either in person or by email.
We also expect that you, as a student in this course, will honor and respect your classmates, abiding by the UCSD Principles of Community (https://ucsd.edu/about/principles.html). Please understand that others’ backgrounds, perspectives and experiences may be different than your own, and help us to build an environment where everyone is respected and feels comfortable.
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 contact the Office of Prevention of Harassment and Discrimination: https://ophd.ucsd.edu/.
Students with Disabilities
We aim to create an environment in which all students can succeed in this course. If you have a disability, please contact the Office for Students with Disability (OSD), which is located in University Center 202 behind Center Hall, to discuss appropriate accommodations right away. We will work to provide you with the accommodations you need, but you must first provide a current Authorization for Accommodation (AFA) letter issued by the OSD. You are required by University policy to present their AFA letters to Faculty (please make arrangements to contact me privately) and to the OSD Liaison in the department in advance so that accommodations may be arranged.
Course Summary:
| Date | Details | Due |
|---|---|---|