UCSD CSE15L W24 Syllabus and Logistics
- Joe Gibbs Politz (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 2001, 9-9:50am Mon/Wed
-
Labs: Wednesdays and Thursdays (check your schedule)
-
“Skill Demonstration” Exams: Flexible scheduling in weeks 3, 5, 7, and 9
-
Final Exam (used for making up test credit): Flexible scheduling in finals week
-
Podcasts: podcast.ucsd.edu
-
Q&A Forum: EdStem
-
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
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, March 13, 9am
- Lab Report 5 Due Tuesday, March 12, 10pm
- Lab Report 4 Resubmission Due Tuesday, March 12, 11:59pm
- Lecture Materials:
Week 9 - Code Review/It Works on My Machine
- Lab 9 Activities
- Deadlines:
- Quiz 9 Due Wednesday, March 6, 9am
- Lab Report 5 Due Tuesday, March 12, 10pm
- Lab Report 4 Resubmission Due Tuesday, March 12, 11:59pm
- Lecture Materials:
Week 8 – Doing it All from the Command Line
- Lab 8 Activities
- Deadlines:
- Quiz 8 Due Wednesday, February 28, 9am
- Lab Report 4 Due Tuesday, February 27, 10pm
- Lecture Materials:
Week 7 – Doing it All from the Command Line
- Lab 7 Activities
- Deadlines:
- Quiz 7 Due Wednesday, February 21, 9am
- Lab Report 4 Due Tuesday, February 27, 10pm
- Lecture Materials:
Week 6 – Scripting, CI, and Autograding
- Lab 6 Activities
- Deadlines:
- Quiz 6 Due Wednesday, February 14, 9am
- Lab Report 3 Due Tuesday, February 13, 10pm
- Lab Report 2 Resubmission Due Tuesday, February 13, 11:59pm
- Lecture Materials:
Week 5 – File Exploration and Text Analysis from the Command Line
- Lab 5 Activities
- Deadlines:
- Quiz 5 Due Wednesday, February 7, 9am
- Lab Report 3 Due Tuesday, February 13, 10pm
- Lab Report 2 Resubmission Due Tuesday, February 13, 11:59pm
- Lecture Materials:
Week 4 - Testing and File Manipulation
- Lab 4 Activities
- Deadlines:
- Quiz 4 Due Wednesday, January 31, 9am
- Lab Report 2 Due Tuesday, January 30, 10pm
- Lecture Materials:
Week 3 - VSCode and Your Local Machine
- Lab 3 Activities
- Deadlines:
- Quiz 3 Due Wednesday, January 24, 9am
- Lab Report 2 Due Tuesday, January 30, 10pm
- Lab Report 1 Resubmission Due Tuesday, January 30, 11:59pm
- Lecture Materials:
Week 2 - URLs and Servers
- Lab 2 Activities
- Deadlines:
- Quiz 2 Due Wednesday, January 17, 9am
- Lecture Materials:
Week 1 - Markdown, URLs, and Paths
- Lab 1 Activities
- Deadlines:
- Quiz 1 Due Wednesday, January 10, 9am
- Lab Report 1 Due Tuesday, January 16, 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 Tuesday (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. In finals week, you'll have the opportunity to improve scores for some number of skill demonstrations. (A few times in class, officially in week 10, this was set to 2 make-ups).
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).
Staff Resources
Office Hours Calendar
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 beginning of the next lecture; 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.