Data Structures & Algorithms

About Your TA

Hello! My name is Matthew DeGuzman, I am a fourth year computer science major and this is my fourth semester being a TA for this class.


I'm the SwampHacks Technical Director, ColorStack Technical Director, and software developer for the Computing Student Union. If you have any questions about these organizations or want to get involved, feel free to ask me!


I have 3 previous internships at Microsoft in Seattle and I will be joining Datadog as a software engineer in New York after I graduate. In my free time, I enjoy cooking, travelling, and playing pickleball.


Learn more about me on my personal website or connect with me on LinkedIn :)

General Information

Section 10696

NRN 1037

Tuesday

11:45 am - 12:35 pm

Office Hours

MALA 5200 (Malachowsky Hall)

Thursday

8:30 am - 9:20 am & 10:40 am - 11:30 am

Discussions
1. C++ (01/14)

Welcome to the first week of discussion! We're doing a quick overview of C++. Get ready to brush up on pointers, data types, classes, and more!

Discussion Slides

2. Algorithmic Analysis and Pseudocode (01/21)

This week, we're diving into the world of algorithmic analysis and pseudocode. Get ready to learn how to analyze the efficiency of algorithms and write pseudocode to plan out your code.

Discussion Slides

3. Lists, Stacks, and Queues (01/28)

This week, we review stacks and queues as well as common algorithmic strategies such as the slow pointer, fast pointer technique on Linked Lists.

Discussion Slides

4. Trees and Traversals (02/04)

This week, we review binary trees and the different tree traversals. We'll also cover a special case called binary search trees.

Discussion Slides

5. Balanced Trees (02/11)

This week, we go over balanced trees and their advantages over binary search trees. We'll mainly focus on AVL trees and touch on red-black, splay, B, and B+ trees.

Discussion Slides

6. Mock Interview (02/18)

This week, we dive into a mock interview to prepare you for the job market! We'll go over resumes, behavioral questions, and technical questions.

Discussion Slides

7. Exam 1 Review (02/25)

Exam 1 Review!!! Review trees, BSTs, and heaps in preparation for the midterm.

Discussion Slides

8. Sorting (03/11)

This week we discuss sorting algorithms! We'll go over the basic quadratic sorts, then the more advanced linearithmic sorts, and some niche sorts such as shell sort.

Discussion Slides