Learn_CODE with your peers!
This is a repository which contains all the topics that I @rosekamallove studied while learning coding and am currently learning Data Structures and Algorithms, and all the code I wrote are in this repo and I am thinking of making this repo more like a Learning resourse. So why not contribute to it ?

 

“Learning to write programs stretches your mind, and helps you think better, creates a way of thinking about things that I think is helpful in all domains.” –Bill Gates
“Everyone should code, It teaches you how to think.” –Steve Jobs
-
What are the features of this repository?
- Links to all of Computer Science from top Universities like MIT, Stanford, Duke, etc
-
Guiding articles, RoadMaps and Checklists
-
Question Bank: The problem statement and template and the GFG link already written you just have to write the code.
-
You can make a branch and start solving questions and make your own solution bank in that way we will multiple people solving the same problem with different approach, win win.
-
A great resource for our juniors or who are at a lower skill level.
-
One Stop for programming books:
- Data Strucutres and Algorithms
- Programming Languages
- Databases
- Linux and Windows Command Line
- Web Development
- App Development
- Competitive Coding
- Getting in a habbit of Open-Source Contribution.
- Getting in a habbit of looking at other people’s code.
Details about the Folders in the Repository :
S.No | Folder/File Name | About the contents |
---|---|---|
1. | Basics | This folder contains all the basics of C++ that one has to learn before moving on to DSA (STL (Vectors Sets and Maps ) is an exception it can also be learned later or I should say it should be learnd after learnign some basic DataStructures) . |
2. | DataStructures&Algorithm | This folder contains as the name suggests DataStructures and Algorithms written in C++, after you have learned the basics of a programming language move on with this. |
3. | Articles To Read | This folder contains all the roadmaps, guides, checklists. |
4. | Programming Books | This folder contains a lot of programming related books, (Reading them is not recommended only use them for reference purposes. |
5. | Questions | This folder contains Data Structures and Algorithm questions. The problem statement and template and the GFG links are already written you just have to write the code. |
6. | theNewBoston | This folder contains the code for The New Boston C++ Playlist |
7. | templateBasic.cpp | This is just a basic C++ template which #include the <bits/stdc++.h> header file which conatains almost all the header files so you can be free of the hassle of including every header file you need. |
8. | templateCP.cpp | This is the compeptetve coding template most of the coders out there use. It has a lot of macros to make you fast during the contests (if you are a beginner then please do yourself a favor and ignore this) |
9. | Users | This is the folder you are supposed to be coding in, make a direcotry of your name copy the questions foflder in it and start solving and then create a pull request, I will merge it and what this will help in is everyone has their way of solving problem and wiriting the code for it. By looking at people’s code of the same question you are doing will help grow everyone. |
Resources for learning SWE/CS
This is a curated list of free courses from reputable universities like MIT, Stanford, and Princeton that satisfy the same requirements as an undergraduate Computer Science degree, minus general education.
Computer Science Basics
Courses | School | Duration | Effort | Frequency | Prerequisites |
---|---|---|---|---|---|
Intro to Computer Science | Harvard | 10 weeks | 10-20 hours/week | self-paced | none |
Mathematical Thinking in Computer Science | UC San Diego | 6 weeks | 2-5 hours/week | once a month | none |
Programming
Courses | School | Duration | Effort | Frequency | Prerequisites |
---|---|---|---|---|---|
Java Programming: Solving Problems with Software | Duke | 4 weeks | 4-8 hours/week | twice a month | none |
Java Programming: Arrays, Lists, and Structured Data | Duke | 4 weeks | 4-8 hours/week | twice a month | Java Programming: Solving Problems with Software |
Object Oriented Programming in Java | Duke | 6 weeks | 4-6 hours/week | every week | Java Programming: Arrays, Lists, and Structured Data |
Data Structures and Performance | Duke | 6 weeks | 6-10 hours/week | every week | Object Oriented Programming in Java |
Java Programming: Principles of Software Design | Duke | 4 weeks | 4-8 hours/week | twice a month | Java Programming: Arrays, Lists, and Structured Data |
Java Programming: Build a Recommendation System | Duke | 4 weeks | 3-6 hours/week | once a month | Java Programming: Principles of Software Design |
Programming Languages, Part A | UW | 5 weeks | 8-16 hours/week | once a month | Object Oriented Programming in Java |
Programming Languages, Part B | UW | 3 weeks | 8-16 hours/week | once a month | Programming Languages, Part A |
Programming Languages, Part C | UW | 3 weeks | 8-16 hours/week | once a month | Programming Languages, Part B |
Math
Courses | School | Duration | Effort | Frequency | Prerequisites |
---|---|---|---|---|---|
Calculus 1A: Differentiation | MIT | 12 weeks | 6-10 hours/week | self-paced | pre-calculus |
Calculus 1B: Integration | MIT | 15 weeks | 6-10 hours/week | self-paced | Calculus 1A: Differentiation |
Calculus 1C: Coordinate Systems & Infinite Series | MIT | 8 weeks | 6-10 hours/week | self-paced | Calculus 1B: Integration |
Linear Algebra - Foundations to Frontiers | UT Austin | 15 weeks | 6-10 hours/week | self-paced | pre-calculus |
Introduction to Probability and Data | Duke | 5 weeks | 5-7 hours/week | twice a month | none |
Intro to Statistics | Udacity | 8 weeks | 5-7 hours/week | self-paced | none |
Systems
Courses | School | Duration | Effort | Frequency | Prerequisites |
---|---|---|---|---|---|
Build a Modern Computer from First Principles: From Nand to Tetris | Hebrew University of Jerusalem | 6 weeks | 5 hours/week | twice a month | basic programming knowledge |
Build a Modern Computer from First Principles: From Nand to Tetris II | Hebrew University of Jerusalem | 6 weeks | 10-15 hours/week | once a month | Build a Modern Computer from First Principles: From Nand to Tetris |
Introduction to Operating Systems | Georgia Tech | 8 weeks | 5-8 hours/week | self-paced | Build a Modern Computer from First Principles: From Nand to Tetris II |
Theory
Courses | School | Duration | Effort | Frequency | Prerequisites |
---|---|---|---|---|---|
Computer Science: Algorithms, Theory, and Machines | Princeton | 10 weeks | 2-5 hours/week | once a month | Calculus 1A (all), basic programming |
Algorithms, Part I | Princeton | 6 weeks | 6-12 hours/week | once a month | Computer Science: Algorithms, Theory, and Machines |
Algorithms, Part II | Princeton | 6 weeks | 6-12 hours/week | once a month | Algorithms, Part I |
Applications
Courses | School | Duration | Effort | Frequency | Prerequisites |
---|---|---|---|---|---|
Software Engineering: Introduction | UBCx | 6 weeks | 8-10 hours/week | self-paced | Java Programming: Build a Recommendation System |
Machine Learning | Stanford | 11 weeks | 5-7 hours/week | twice a month | Linear Algebra - Foundations to Frontiers |
Database Management Essentials | CU | 7 weeks | 4-6 hours/week | twice a month | basic programming & CS knowledge |
Cryptography I | Stanford | 7 weeks | 5 hours/week | once a month | Linear Algebra - Foundations to Frontiers & Introduction to Probability and Data |
Unix
Courses | School | Duration | Effort | Frequency | Prerequisites |
---|---|---|---|---|---|
Linux Command Line Basics | Udacity | 1 week | 5 hours/week | self-paced | none |
The Unix Workbench | JHU | 4 weeks | 4 hours/week | once a month | none |