Syllabus

This document and linked resources are your primary source for understanding course expectations. Read it carefully and contact the instructor if you receive conflicting information from other sources.

Basic Facts

Lab attendance is optional but highly recommended, as TAs and LAs are available to assist and you must complete at least one mock interview with a TA or LA during these sessions. We may also use some of the office hour time for this. You may not switch sections because the class is full. If you have a conflict contact the instructor at the end of the first lecture. Start lab/programming assignments during sections and use office hours for additional support.

Contacting Staff: Use Ed for course-related communication, including private messages to staff or the instructor. For urgent emails, use diba@ucsb.edu with “CS24” in the subject line; expect a possible delay in response.

Overview

CS24 teaches efficient problem-solving with data structures and algorithms. You’ll explore abstract data types (e.g., stacks, queues, priority queues, sets, maps), their implementations (e.g., vectors, binary trees), and complexity analysis. You’ll also gain C++ proficiency, leveraging the Standard Template Library (STL) to prepare for technical interviews and future courses.

Prerequisites

CS24 builds on CS16. You should be comfortable with:

Review CS16 materials or consult TAs if needed as soon as possible.

Course Objectives

Resources

All activities except programming assignments and exams are optional. Lectures are recommended, with slides and code on GitHub. Reading is primarily assigned from Main & Savitch.

In-Class Participation: Join iClicker Cloud at https://join.iclicker.com/AXZR. Participation is ungraded but encouraged.

Discussion Forum: Ed

Use Ed for Q&A (link on Canvas). Post public questions when applicable; for coding issues:

Grading

A minimum 65% on the final exam is required to pass, ensuring core concept mastery. Below 65%, your grade is capped at D unless special circumstances apply (contact instructor). Letter grades (A, B, C, D, F) are set at the instructor’s discretion; A+ goes to the top 5%. Standard scale otherwise.

LeetCode + Mock Interview(10%)

Complete 10 medium LeetCode problems from the assigned list (on the course website) to build algorithmic skills aligned with course topics and exams.

Schedule your mock interview early (signup form will be made available by week 2)

Late Policy

You have five late days total, with a maximum of three days per assignment, no penalty within this limit. Beyond this, a 10% deduction applies per day (up to one week), after which no credit is given unless approved for extenuating circumstances.

Pair Programming

Some assignments allow optional pair programming (2–3 students coding together at one terminal, like a lab partnership). Benefits include:

Use of AI Tools

AI tools (e.g., ChatGPT, GitHub Copilot, Grok) can support learning but must not replace your effort. Usage rules:

Academic Integrity

Check each assignment’s collaboration policy—some are individual, others allow pair programming. Review UCSB’s Academic Integrity guidelines: http://studentconduct.sa.ucsb.edu/academic-integrity. Violations (e.g., cheating, plagiarism, unauthorized AI use) result in:

Key rules:

Exam Makeups

Makeups are granted only for unavoidable emergencies (e.g., major illness), not scheduling conflicts. Check exam dates early!

Disabled Students Program (DSP)

UCSB accommodates students with disabilities via DSP (2120 Student Resource Building). Register early with documentation; accommodations are honored only through DSP. More info: http://dsp.sa.ucsb.edu.

Disclaimer

Policies are accurate but may change at the instructor’s discretion within UC guidelines.

Back to Syllabus