UCSD CSE15L S24 Syllabus and Logistics
- Edwin Solares (Instructor)
Basics - Schedule - Course Components - Staff & Resources - Grading - Policies
In this course, we'll explore a number of Software Tools & Techniques that are used commonly by developers in their day-to-day work. You'll learn how to manage files and programs from the command line, and you'll get direct practice (and build muscle memory!) with keyboard shortcuts, tricks, and techniques for managing data and programs. Throughout, you'll exercise and improve your skills in program understanding and debugging.
This web page serves as the main source of announcements and resources for the course, as well as the syllabus.
Basics
-
Lecture: Warren Lecture Hall 2207, Mon/Wed (check your schedule)
-
Labs: Computer Science Engineering Basement B260 Tuesday (check your schedule)
-
“Skill Demonstration” Exams: Flexible scheduling in weeks 3, 5, 7, and 9
- Prairie Test Link - signing up and taking the skill demos
- Prairie Learn Link - practice skill demos
-
Final Exam (used for making up test credit): Flexible scheduling throughout the quarter. Maximum of 2 Make ups for Skill Demos.
-
Podcasts: podcast.ucsd.edu
-
General Class Q&A Forum: Discord link on Canvas!
-
Code Q&A Forum: Piazza
-
Gradescope: https://www.gradescope.com
-
Textbook/readings: There's no official textbook, but we will link to different online resources for you to read to supplement lecture. There are a few good general overall resources if you want others to peruse, but these aren't required:
- Free: MIT Missing Semester
- Not free but pretty cheap: Julia Evans Zines, especially The Pocket Guide to Debugging
Office Hours Calendar
Schedule
The schedule below outlines topics, due dates, and links to assignments. The schedule of lecture topics might change slightly, but I post a general plan so you can know roughly where we are headed.
Week 10 - Wrapping Up
- Lab 10 Activities
- Deadlines:
- Quiz 10 Due Wednesday, June 5, 9am
- Lab Report 5 Due (No Resubmission) Wednesday, June 5, 10pm
- Lab Report 4 Resubmission Due Wednesday, June 5, 11:59pm
- Lecture Materials:
Week 9 - Code Review/It Works on My Machine
- Lab 9 Activities
- Deadlines:
- Quiz 9 Due Wednesday, May 29, 9am
- Lab Report 5 Due Wednesday, June 5, 10pm
- Lab Report 4 Resubmission Due Wednesday, June 5, 11:59pm
- Lecture Materials:
Week 8 – Doing it All from the Command Line
- Lab 8 Activities
- Deadlines:
- Quiz 8 Due Wednesday, May 22, 9am
- Lab Report 3 Resubmission Due Wednesday, May 22, 10pm
- Lab Report 4 Due Wednesday, May 22, 10pm
- Lecture Materials:
Week 7 – Doing it All from the Command Line
- Lab 7 Activities
- Deadlines:
- Quiz 7 Due Wednesday, May 15, 9am
- Lab Report 3 Resubmission Due Wednesday, May 22, 10pm
- Lab Report 4 Due Wednesday, May 22, 10pm
- Lecture Materials:
- Monday Lecture Handout (Slides)
- Monday Lecture Handout (PDF)
- Monday Presentation (Slides)
- Monday Presentation (PDF)
- No Lecture/Lecture Handout Wednesday!
Week 6 – Scripting, CI, and Autograding
- Lab 6 Activities
- Deadlines:
- Quiz 6 Due Wednesday, May 8, 9 am
- Lab Report 2 Resubmission Due Wednesday, May 8, 10 pm
- Lab Report 3 Due Wednesday, May 8, 10 pm
- Lecture Materials:
Week 5 – File Exploration and Text Analysis from the Command Line
- Lab 5 Activities
- Deadlines:
- Quiz 5 Due Wednesday, May 1, 9am
- Lab Report 2 Resubmission Due Wednesday, May 8, 10pm
- Lab Report 3 Due Wednesday, May 8, 10pm
- Lecture Materials:
Week 4 - Testing and File Manipulation
- Lab 4 Activities
- Deadlines:
- Quiz 4 Due Wednesday, April 24, 9am
- Lab Report 1 Resubmission Due Wednesday, April 24, 10pm
- Lab Report 2 Due Wednesday, April 24, 10pm
- Lecture Materials:
Week 3 - VSCode and Your Local Machine
- Lab 3 Activities
- Deadlines:
- Quiz 3 Due Wednesday, April 17, 9am
- Lab Report 1 Resubmission Due Wednesday, April 24, 10pm
- Lab Report 2 Due Wednesday, April 24, 10pm
- Lecture Materials:
Week 2 - URLs and Servers
- Lab 2 Activities
- Deadlines:
- Quiz 2 Due Wednesday, April 10, 9am
- Lab Report 1 Due Wednesday, April 10, 10pm
- Lecture Materials:
Week 1 - Markdown, URLs, and Paths
- Lab 1 Activities
- Deadlines:
- Quiz 1 Due Wednesday, April 3, 9am
- Lab Report 1 Due Wednesday, April 10, 10pm
- Lecture Materials:
Syllabus
There are several components to the course:
- Lab sessions
- Lecture sessions
- Weekly quizzes
- Lab reports/portfolio posts
- Skill demonstrations
Labs
The course's lab component meets for 2 hours. In each lab you'll switch between working on your own, working in pairs, and participating in group discussions about your approach, lessons learned, programming problems, and so on.
The lab sessions and groups will be led by TAs and tutors, who will note your participation in these discussions for credit. Note that you must participate, not merely attend, for credit.
If you miss lab, you'll still be held accountable for understanding the relevant material via Skill Demonstrations and Lab Reports. You can miss 2 labs without it impacting your grade (see Grading below). There is no way to make up a lab, even for illness, travel, or emergencies. My preference would be to require all 10 labs for an A, and have some kind of excused absences. However, tracking excused absences doesn't really scale, so the “two for any reason” policy is how we handle it. You don't need to justify your missed labs. Contact the instructor if you'll miss more than 2 labs for unavoidable reasons.
Lecture Sessions
Lecture sessions are on Monday and Wednesday.
In each lecture, we'll have a paper handout (also available electronically). At the end of lecture you'll have a chance submit your handout to Gradescope. You can do this by scanning it in the Gradescope app (for iOS and Android) or through the web interface. To get participation credit for lecture, you have to submit a handout filled in with reasonable effort. It's fine if answers aren't right, and some days don't have right answers. It's fine if things aren't totally complete, and some days we won't finish everything. But it should be clear from what you submit that you followed along and worked on the exercises we did in class.
If you miss class, you can submit them up until the start of the next class as late submissions. We recommend completing them while watching the podcast. We'll have TAs on hand as backup to collect the physical paper/help you scan and submit if you have any issue submitting. See Grading below for the required submissions and how that impacts your grade.
Weekly Quizzes
Each week there will be an online, untimed, multiple-tries quiz due on Wednesday at 9 am. The purpose of this quiz is to make sure everyone has checked in on the concepts we will be using in lab on Wednesday and Thursday. They are open for late submission until the end of the quarter, but see grading below for how late submissions correspond to grades.
Sometimes quizzes have associated readings or videos to supplement lecture.
Lab Reports/Portfolio Posts
Every other Wednesday (that's in weeks 2, 4, 6, 8, 10) you will submit a lab report on work from the previous week or two of lab material. This will take the form of a blog post on a personal site you created in the first week. At the end of the quarter this means you'll have a personal web site with 5 posts detailing what you learned.
For each post, our staff will review it and give a 0-3 score along with feedback:
- 3 for a complete submission of professional quality that covers all the expectations listed in the report
- 2 for a complete submission with some mistakes, some unclear writing, or some confusing or nonstandard formatting
- 1 for a submission missing key components, or clear inaccuracies in multiple components
- 0 for no submission, a blank submission, or a submission of something irrelevant
After each lab report is graded, you'll have a chance to resubmit it based on the feedback you received, which will detail what you need to do to increase your score. The resubmission deadline is two weeks after the original deadline.
- For an original score of 0 or 1, you can raise your score to 2 (but not to 3)
- For an original score of 2, you can raise your score to 3
This is also the only late policy for lab reports. Unsubmitted reports are initially assigned a 0, and can get a maximum of 2 points on resubmission.
Skill Demonstrations
Several times during the quarter, you will complete a skill demonstrations -- this course's version of exams. You'll be given a problem to practice in advance, and then in the demo you'll demonstrate that you can do the task plus some follow-up tasks that are presented during the demonstration. You can look at the skill demonstrations from previous offerings for a sense of what tasks we assign (though we may or may not use the same types in this offering) [W22 demo 1] [W22 demo 2]
On each you'll get a Full Pass (2 points), Partial Pass (1 point), or Try Again (0 points) as your score. During week 10, you'll have the opportunity to improve scores for two skill demonstrations. Sign ups for these make up skill demos will be released during week 8. If you miss the skill demonstration for any reason, it counts as a Try Again.
There will be skill demonstrations in weeks 3, 5, 7, and 9 of the quarter. More details about how you'll complete them will be shared in lab (you'll practice the format and we'll talk about scheduling them).
Skill demonstrations will take place in CSE B250, unless you have an AFA letter. You must schedule a time to take your exams in advance. To do this, visit prairietest.com and log in with your UCSD-associated Google account. From there, you will be able to see the exams available for reservation. Scheduling of exams will open on April 8, 2023.
Students requesting accommodations for this course due to a disability must provide a current Authorization for Accommodation (AFA) letter (paper or electronic) issued by the Office for Students with Disabilities (osd.ucsd.edu). Students are required to discuss accommodation arrangements with instructors and OSD liaisons in the department IN ADVANCE of any exams or assignments. Students with approved accommodations will be taking their exams at the Triton Testing Center. Exams must be scheduled at least 72 hours in advance at http://tritontesting.ucsd.edu.
Grading
Each component of the course has a minimum achievement level to get an A, B, or C in the course. You must reach that achievement level in all of the categories to get an A, B, or C.
- A achievement:
- 8 or more lab participation (out of 10 labs)
- At least 12 total lab report points
- At least 7 total skill demo points (Full Pass on any 3 of the skill demonstrations, Partial Pass on the 4th)
- B achievement:
- 6 or 7 lab participation
- At least 10 total lab report points
- At least 6 total skill demo points (Full Pass on any 3 of the skill demonstrations, or Partial Pass on two and Full Pass on two)
- C achievement:
- 4 or 5 lab participation
- At least 8 total lab report points
- At least 4 total skill demo points
Pluses and minuses will be given around the boundaries of these categories at
the instructor's discretion and based on quiz/lecture participation. I don't
publish an exact number for these in advance, but it's consistent across the
class. A general guideline is: if you submit all of the lecture handouts and
all of the quizzes on time and complete, that will definitely add a +
to the
grade. If you submit no lecture handouts and no quizzes, that will definitely
add a -
to the grade. If you submit about half of each and get things generally
mostly correct, there will be no modifier.
Policy
Academic Integrity
Individual assignments describe policies specific to the assignment. Some general policies for the course are here.
Lab Reports and Academic Integrity
You can use code that we provide or that your group develops in lab as part of your lab report. Your lab reports can be public. All of the writing in lab reports must be your own.
You can use an AI assistant like ChatGPT or Copilot to help you author lab reports or write code in this class. If you do, you are required to include a section of your lab report that shows:
- The prompts you gave to ChatGPT, or the context in which you used Copilot autocomplete
- What its output was and how you changed the output after it was produced
This helps us all learn how these new, powerful, and little-understood tools work (and don't).
Skill Demonstrations and Academic Integrity
Instructions for skill demonstrations will be posted in the week before they happen. You're free to collaborate with others on preparing for the skill demonstration, trying things out beforehand, and so on.
You cannot share details of your skill demonstration with others until after you receive your grade for it. You cannot communicate with anyone during the skill demonstration.
Quizzes and Academic Integrity
You can work on weekly quizzes with other students.
Anticipated Frequent Questions
Can I attend a lab section other than the one I'm enrolled in?
No, please do not try to do this. The lab sections have limited seating and are full. We cannot accommodate switching.
How can I switch sections?
You have to drop and re-add (which may involve getting [back on] the waitlist). Sorry.
What do I need to do to get an A?
See the grading section above.
Can I leave lab early if I'm done?
The labs are designed to not be things you can “finish”. Labs have plenty of extension and exploration activities at the end for you to try out, discuss, and help one another with. Co-located time with other folks learning the same things is precious and what courses are for. Also, if you need an extrinsic motivation, you won't get credit for participation if you don't stay, and participate, the whole time.
Do I have to come to lab?
Yes, see grading above.
What should I do if I'm on the waitlist?
Attend and complete all the work required while waitlisted (this is consistent with CSE policy).
I missed lecture/have to travel for a lecture, what should I do?
Find the associated handout for the week above, watch the podcast, and hand in a scan/digital PDF of the handout to Gradescope before the next class.
I missed the late deadline for a lecture handout submission, what should I do?
You cannot submit a lecture handout after the posted deadline on Gradescope; move on and focus on getting to the next ones!
I missed lab, what should I do?
You cannot makeup missed lab credit (but have a few “allowed” misses). Make sure you understand the material from lab because it will be used on skill demos and lab reports; try to do the parts that don't involve discussion on your own, and review your group's lab notes.
I missed a quiz deadline, what should I do?
You can submit it late until the end of the quarter. Generally we allow lots (think like 1/3 to 1/2) of the quizzes to be late without it impacting your grade, but do take them seriously before lab so you're prepared.
I missed a lab report deadline, what should I do?
Two weeks after each lab report deadline there is a late/resubmission deadline. You can resubmit then. See the lab report section above for grading details about resubmissions.
I missed a lab report resubmission deadline, what should I do?
You cannot get an extension on lab report resubmissions; we cannot support multiple late deadlines and still grade all the coursework on time.
I missed my skill demonstration time, what should I do?
Stay tuned for announcements about scheduling make-ups in finals week.
Where is the financial aid survey?
We do this for you; as long as you submit a quiz, lecture handout, or do a lab participation in the first two weeks, we will mark you as commencing academic activity.