Course Overview

Analysis, use, and design of data structures and algorithms using an object-oriented language like Java to solve computational problems. Emphasis on abstraction including interfaces and abstract data types for lists, trees, sets, tables/maps, and graphs. Implementation and evaluation of programming techniques including recursion. Intuitive and rigorous analysis of algorithms.

For more information, please see the course syllabus.

Course Information

Instructors: Owen Astrachan, Alex Steiger
Time/Astrachan: Mon/Wed 10:05pm - 11:20pm
Location/Astrachan: B101 LSRC

Time/Steigler: Mon/Wed 3:05am-4:20pm
Location/Steigler: B101 LSRC
Website/Section 2: section 2 website

Teaching Associate: Violet Pang
Graduate TAs: Owen Sizemore, Zini Yang
Undergraduate TAs: Darian Salehi (Lead/Front), Asher Wallen (Lead/Front), Rishi Rao (Lead/Back), Leo Hu (Lead/Back), Ameya Kulkarni, Darren Li, Aaryan Nanekar, Aayush Kashyap, Elliott Adams, Erica Zhang, Evan Merzon, Ina Ding, Kelly Xu, Keerthana Venkatesh, Pierre Quereuil, Tyler Scaringella, Rafael Serson Rohr, Sebastian deSouza

UTA info see uta page for photos/contact information

Office Hours:
Owen Astrachan - Monday 2:15-3:15, D241 LSRC or via zoom and Thursday 11:00-12:00, D241 LSRC
Alex Steiger - TBD
Owen Sizemore - TBD
Zini Yang - TBD
Violet Pang - TBD
(See Ed for other office hours)
Links: Regrade Requests, Syllabus, Canvas, Gradescope (also via Canvas), Ed (also via Canvas), GitLab, Panopto

Grading

44% Exams
Three midterms and a final, midterms 10%, final 14%, midterm can be replaced by corresponding part of final
26% Projects (later assignments weigh more than earlier)
Larger programming assignments, some done (optionally) in pairs
7% Discussion (14, each worth 0.5%)
Meet weekly, work collaboratively on contents and assignments
8% APTs
APTs: weekly small algorithmic programming problems (4x8=32 problems)
8% APT quiz (2, each is 4%)
Timed APTs demonstrating mastery of basic concepts
7% Engagement
includes WOTOs, DIY questions, pre-class questions