Phase 2: CS Fundamentals

Learn Data Structures & Algorithms

  1. CS50 (Continue Weeks 1-5 if not finished) https://www.youtube.com/watch?v=h6lqxDwUmJQ&list=PLhQjrBD2T383q7Vn8QnTsVgSvyLpsqL_R

  2. Abdul Bari Data Structures Playlist https://www.youtube.com/playlist?list=PLfqMhTWNBTe0b2nM6JHVCnAkhQRGiZMSJ

  3. Practice on LeetCode (Easy problems only) https://leetcode.com/

Focus On:

  • Arrays

  • Lists

  • Stacks

  • Queues

  • Hash tables

  • Big-O basics

  • Searching and sorting

Learn Operating Systems Basics

  1. Operating Systems Overview (CrashCourse) https://www.youtube.com/watch?v=26QPDBe-NB8

  2. Linux Process Management (Hands-on) Use: - ps - top - htop - kill - chmod

When Done Should Be Able To:

-Explain what Big-O means

-Understand stack vs heap

-Explain how processes run

-Understand how memory is allocated

-Explain why buffer overflows happen

Practice Ideas

-Implement a stack and queue in Python

-Write a small program that measures runtime differences

-Use chmod to change file permissions and explain what changed

-Use ps and top to monitor running processes