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.

Instructor: Diba Mirza     Office Hours: WR: 1p - 2p, HFH 2119     Lectures: MW 11:00a - 12:15p, BUCHN 1910     Sections: R: 11a - noon , noon - 1p, 1p - 2p , 2p - 3p, 3p - 4p, Phelps 3525

Contacting Staff: Use Ed (link on Canvas); urgent emails to diba@ucsb.edu with “CS24” in subject

Lab/Section Attendance: Optional but highly recommended. TAs and ULAs are available to help with assignments. Section switching is not permitted due to enrollment. Contact instructor after first lecture if you have a conflict.

Course catalog description

Intermediate building blocks for solving problems using computers. Topics include intermediate object-oriented programming, data structures, object-oriented design, algorithms for manipulating these data structures and their run-time analyses. Data structures introduced include stacks, queues, lists, trees, and sets.

Prerequisites: CS24 builds on CS16. You should be comfortable with basic C++ (data types, control structures, functions, parameter passing), arrays, C-strings, structs, classes, number systems/memory, and recursion. Review CS16 materials or consult TAs if needed.

Learning Outcomes

By the end of this course, students will be able to:

Resources

Textbook: Data Structures and Other Objects Using C++ by Main & Savitch (primary text, also used in CS32). Additional references: Open Data Structures (Morin), Algorithms (Dasgupta).

Tools & References: VisuAlgo (data structure visualizations), C++ Reference (STL documentation), GDB Cheat Sheet (debugging).

Support: Instructor office hours (see website), TA/ULA drop-in hours (Phelps 3525, times on course calendar).

In-Class Participation: Join iClicker Cloud. 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

Grading follows standard scale.

Quizzes (20%)

Quizzes are given during lecture to help you stay on track and assess your understanding of recent material.

LeetCode Practice (10%)

Complete 10 medium LeetCode problems from the assigned list to practice algorithmic problem-solving in preparation for quizzes and the mock interview.

Mock Interview (10%)

Complete one 20-minute mock technical interview with a TA or ULA to demonstrate your problem-solving and communication skills.

Timeline:

Format:

Important:

Late Policy

You have five late days total, with a maximum of three days per assignment, no penalty within this limit. Beyond this, instructor approval is needed and extensions may be given only for extenuating circumstances with documentation.

Pair Programming

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

For CS24 in particular, please read each lab carefully to learn how pair programming will work for that lab. Some labs may require you to work by yourself, others may require you to work with a partner, and still others may allow you to do either. In addition, some labs may allow you to work with a prior partner, while others may not. For all labs, you MUST

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:

Final Exam

The final exam is comprehensive and covers all course material.

Exam Makeups: Makeups are granted only for unavoidable emergencies (e.g., major illness), not scheduling conflicts. Check the exam date early and plan accordingly!

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