Open Source Resource Library

Every note in this program is prepared from the sources below, and each one is openly published by its author. Bookmark this page — it is the reading list for all six tracks.

1. W3Schools — syntax and quick revision

The fastest way to check how a tag, keyword or function is written. Every page has a Try it Yourself editor, which is what we use in the first lab of each track.

TutorialUsed In TrackLink
HTML TutorialWeb DevelopmentOpen
CSS TutorialWeb DevelopmentOpen
JavaScript TutorialWeb DevelopmentOpen
Python TutorialAI / Machine LearningOpen
DSA TutorialData Structures & AlgorithmsOpen
SQL TutorialCloud, System DesignOpen
Git TutorialDevOps, Web DevelopmentOpen

2. GeeksforGeeks — concepts, theory and interview questions

Use GfG when W3Schools is too short. It explains why something works, gives the complexity, and lists the interview questions asked on that topic.

TutorialUsed In TrackLink
DSA TutorialData Structures & AlgorithmsOpen
Machine LearningAI / Machine LearningOpen
DevOps TutorialDevOpsOpen
Cloud ComputingCloud ComputingOpen
System Design TutorialSystem DesignOpen
Web DevelopmentWeb DevelopmentOpen
Computer NetworksDevOps, CloudOpen

3. Stack Overflow — when your own code breaks

Nobody teaches you this in class, so we teach it here: read the error message, paste the important line into Stack Overflow, and read the accepted answer plus the comments below it. These are the tags each track lives in.

TagUse It WhenLink
javascriptDOM errors, undefined values, async confusionOpen
pythonImport errors, virtual environments, pandas issuesOpen
machine-learningShape mismatches, overfitting, metric selectionOpen
dockerBuild failures, ports, volumes, permissionsOpen
kubernetesCrashLoopBackOff, services, ingressOpen
amazon-web-servicesIAM policies, VPC routing, S3 permissionsOpen
algorithmWrong answer on edge cases, TLE, complexity doubtsOpen
scalabilityArchitecture and system design discussionsOpen

4. takeUforward — the DSA and placement path

The DSA track follows Striver's sheets in exactly the published order. Do not jump around: the sheets are ordered so that each problem uses something you already solved.

Sheet / SeriesWhat It IsLink
Striver A2Z DSA Course455 problems from basics to advanced, the main syllabus of our DSA trackOpen
Striver SDE SheetTop interview problems for the placement seasonOpen
Graph SeriesComplete graph playlist used in Module 5 of the DSA trackOpen
DP SeriesDynamic programming, memoisation to tabulation to space optimisationOpen
takeUforward YouTubeVideo explanation for every problem in the sheetsOpen

5. Other Open Sources We Use

SourceWhat It Gives YouTrackLink
MDN Web DocsThe official web platform referenceWeb DevOpen
freeCodeCampOpen certifications and long form video coursesAllOpen
roadmap.shVisual roadmaps to track what is still leftAllOpen
Kaggle LearnMicro courses and open datasetsAI / MLOpen
Google ML Crash CourseStructured ML course with exercisesAI / MLOpen
Docker DocsOfficial container guideDevOpsOpen
Kubernetes DocsBrowser based cluster tutorialsDevOpsOpen
AWS Free TierCloud practice on the provider free tierCloudOpen
Microsoft LearnAzure learning paths with sandboxesCloudOpen
NPTELRecorded Indian university lecturesCloud, DSAOpen
LeetCodeWhere the DSA problems are actually solvedDSAOpen
System Design PrimerOpen source system design study guide on GitHubSystem DesignOpen
Refactoring GuruDesign patterns with diagrams and codeSystem DesignOpen
The Odin ProjectProject based full stack curriculumWeb DevOpen

How To Search Like A Developer

  1. Read the last line of the error first — that is the actual problem
  2. Remove your file names and variable names before searching, keep the error text
  3. Add the language or tool name: pandas merge KeyError, not just KeyError
  4. Prefer answers with a green tick and recent comments
  5. Open the official documentation link that the answer quotes — verify, do not copy blindly
  6. Write the fix in your own notes file, in your own words
Example: turning a lab error into a good search query

Error in the lab:

TypeError: Cannot read properties of null (reading 'addEventListener')
    at app.js:14

Bad search: my javascript not working

Good search: javascript cannot read properties of null addEventListener

The first result explains that the script ran before the element existed in the DOM.

Using These Sources Honestly

All of the material above belongs to the people and organisations who wrote it. Pupil only arranges it into a semester plan and points you at the original.