# Teaching Material

Welcome to my teaching page! Here is a repository of different learning modules geared towards high school students and college students enrolled in intro classes. Click on a topic below to get started.

To visit my personal website and learn more about me, click here.

Java Fundamentals

Data Structures in Java

Arrays and Matrices

Lists:

`ArrayList`

and `LinkedList`

Abstract Data Types

Stacks and Queues

Sets and Introduction to Hashing

Maps and Hashing Continued

Algorithms in Java

Exception Handling

Recursion

Binary Search

Sorting Algorithms (Part 1)

Sorting Algorithms (Part 2)

Tree Searching Algorithms (BFS and DFS)

Java Projects and Practice

Fundamentals of Computer Systems in C

Introduction

Bitwise Operations

Integer Types

Pointers

`struct`

s and Header Files
Dynamic Memory Allocation

x86 Assembly Language

Mechanics (with Calculus)

Newton's Laws and Kinematics

Mechanical Equilibrium

Friction

Pulleys

Practice with Mechanical Equilibrium

Springs and Harmonic Oscillation

Damped Oscillations (Optional)

Spring and Kinetic Energy

Pendulums

Momentum and Collisions

Newton's Laws for Rotations

Equilibrium in Rotating Systems

Moment of Inertia and Rotational Energy

Angular Momentum

Electromagnetism

Limits and Derivatives

Limits and Continuity

Existence Theorems (IVT and EVT)

Introduction to Derivatives and MVT

Basic Derivatives

Higher Order Derivatives

Chain Rule

Trigonometric Function Derivatives

Exponential and Log Function Derivatives

Implicit Differentiation

Derivatives of Inverse Functions

L'Hopital's Rule

Word Problems

AP Free Response Practice

Integration