CSE 101
Introduction to Data Structures and Algorithms
Fall 2023


Syllabus
Canvas
Ed Discussion
Programming Assignmentspa8 extended two more days (last)
Handouts
Examples
Notes
Yuja
GradeScope
GitLab

Midterm 1 Review ProblemsMidterm 1 Review SolutionsMidterm 1 Solutions

Midterm 2 Review ProblemsMidterm 2 Review SolutionsMidterm 2 Solutions

Final Exam Review ProblemsFinal Exam Review Solutions

Red-Black Tree Animation
Data Structure Visualizations


Lecture:  TTh 5:20 - 6:55pm Earth & Marine B206
Class Webpage: https://people.ucsc.edu/~ptantalo/cse101/Fall23/

Instructor:   PatrickTantalo    https://users.soe.ucsc.edu/~ptantalo/
Office Hours: Wednesday 10:00 - 12:00pm & 2:00 - 4:00pm  Zoom Link(Uses CruzID Gold Authentication)
Dates: Wednesday October 4 - Wednesday December 6
Email:ptantalo@soe.ucsc.edu


Teaching Assistants:
Vincent Tan          vtan6@ucsc.edu      Office Hours
Engin Tekin etekin@ucsc.edu Office Hours (Zoom)
Saeed Kargar skargar@ucsc.edu Office Hours
Venkat Malreddy smalredd@ucsc.edu Office Hours

Course Tutors: TBA
Mahyar Vahabi        mvahabi@ucsc.edu     Office Hours
Ishika Pol ipol@ucsc.edu Office Hours
Nhan Nguyen nhtrnguy@ucsc.edu Office Hours
Sarah Rammaha srammaha@ucsc.edu Office Hours
Simon Kwong skwong5@ucsc.edu Office Hours (Zoom)
Moore Macauley mmacaule@ucsc.edu Office Hours
Baswati Das Gupta bdasgupt@ucsc.edu Office Hours (Zoom)
Brandon Chuang bychuang@ucsc.edu Office Hours
Shreya Sundar ssundar6@ucsc.edu Office Hours (Zoom)
An-Ran Lee alee208@ucsc.edu Office Hours
Eric Phuong erphuong@ucsc.edu Office Hours
Arjun Krishnan akrish29@ucsc.edu Office Hours
Audrey Ostrom aostrom@ucsc.edu Office Hours
Vincent Siu vsiu2@ucsc.edu Office Hours
Chris Vo cvo5@ucsc.edu Office Hours

LSS Small Group Tutors:
Jennie Lin         jlin216@ucsc.edu       
Richard Dao rqdao@ucsc.edu        Tutor Hours


Lab Schedule: TBA. All lab sessions will be held in BE 105, BE 109 or Ming Ong.

Monday     9:45am - 11:45am     BE 105     Sarah, Moore, Vincent S.
Monday 11:45am - 1:45pm BE 105 Nhan, Eric, Brandon
Monday 5:00pm - 7:00pm BE 105 Arjun, Audrey, Chris
Tuesday 11:00am - 1:00pm BE 105 Mahyar, Ishika, Nhan
Tuesday 1:00pm – 3:00pm BE 105 Venkat, Simon, Brandon
Wednesday 9:30am – 11:30am BE 105 Moore, Vincent S.
Wednesday 11:45am – 1:45pm BE 105 An-Ran, Eric, Vincent T.
Wednesday 2:00pm - 4:00pm BE 105 Venkat, Audrey, Vincent T.
Wednesday 5:00pm - 7:00pm BE 109 An-Ran, Arjun, Chris
Thursday 1:30pm - 3:30pm Ming Ong Saeed, Mahyar, Ishika
Friday 9:45am - 11:45am BE 105 Engin, Saeed, Sarah


Required Text:
Introduction to Algorithms  (3rd edition)  by Cormen, Leiserson, Rivest and Stein  -- MIT Press 2009  ISBN 978-0-262-03384-8

Supplemental Texts:
Open Data Structures  (pseudo-code edition) by Pat Morin
Data Abstraction & Problem Solving with C++  (6th edition)  by Carrano & Henry   -- Pearson 2013  ISBN 978-0-13-292372-9
The C Programming Language  (2nd edition)  by Kernighan and Ritchie   -- Prentice Hall 1988  ISBN -0-13-110362-8
The C++ programming language  (4th edition)  by Bjarne Stroustrup   -- Pearson 2013  ISBN 978-0-321-56384-2

Programming Resources:

Programming in C
Practical C Programming
C in a Nutshell
Pointers in C
C Reference
TutorialsPoint: C Standard Library
GeeksForGeeks: C Programming Language

Programming in C++
Practical C++ Programming
C++ Pocket Reference
Safe C++
C++ Reference
TutorialsPoint: C++ Library Reference
GeeksForGeeks: C++ Programming Language

Git
Git Documentation
Git User Manual
The Git Book

Makefiles
Simple Makefile Tutorial
GNU make

Unix
Learning the Unix Operating System
TutorialsPoint Unix/Linux Tutorial
More Unix Tutorials

Unix Editors
vi: TutorialsPoint vi Tutorial The vi Text Editor Basic vi Commands
emacs: A Guided Tour of emacs Beginner's Guide to emacs Basic emacs Commands
nano: Beginner's Guide to Nano

Campus Resources:
Information Technology Services
ITS Computer Lab Schedules



If you find any errors, please report them to:   ptantalo@soe.ucsc.edu