└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # CS_Roadmap 2 | 3 | |Content| 4 | | :------------:| 5 | |[Introduction](#introduction)| 6 | |[Missions](#missions) 7 | |[Main Topics](#main-topics)| 8 | |[Core Level](#core-level)| 9 | |[Intermidiate Level](#intermidiate-level)| 10 | |[Advanced Level](#advanced-level)| 11 | |[General Knowledge](#general-knowledge)| 12 | |[Preparing for Software Engineering Interviews](#preparing-for-software-engineering-interviews)| 13 | |[Contact Us](#contact-us)| 14 | 15 | ## Introduction 16 | The Roadmap has been designed to cover the fundamental topics in Computer Science. It contains different levels and targets all CS students. Now detect your current level and let's start .. 17 | 18 | ## Missions 19 | 20 | 1- Studying and Mastering CS Basic Knowledge such as Programming, Efficiency and Systems 21 | 22 | 2- First Step to your Tech Field by understanding the foundation of Software Systems 23 | 24 | 3- Preparing for Software Engineering Interviews by Practicing Problem Solving and System Design 25 | 26 | ## Main Topics 27 | 28 | - [Core Level](#core-level) 29 | - [Programming Language](#programming-language) 30 | - [Problem Solving (with Algorithms and Data Structures)](#problem-solving-with-algorithms-and-data-structures) 31 | - [Object Oriented Design](#object-oriented-design) 32 | 33 | - [Intermidiate Level](#intermidiate-level) 34 | - [Design Patterns](#design-patterns) 35 | - [Databases](#databases) 36 | - [Networks](#networks) 37 | - [Operating Systems](#operating-systems) 38 | 39 | - [Advanced Level](#advanced-level) 40 | - [Distributed Systems](#distributed-systems) 41 | - [Software Engineering](#software-engineering) 42 | 43 | 44 | ## Core Level 45 | 46 | ### **Programming Language** 47 | 48 | [C++ Programming Basics for Bignners](https://www.youtube.com/playlist?list=PLJzrJ6NUlRb8e5o0jGe8yHYGy2Mu17Eeg) 49 | 50 | ### **Problem Solving (with Algorithms and Data Structures)** 51 | 52 | [Competitive Programming Training Sheet](https://docs.google.com/spreadsheets/d/1EbbsotAwb0zuuwxyzs8l2qh8twqw-sNcNbAjCK1kXaE/edit#gid=312851548) : (Recommended for first years students) 53 | 54 | [LeetCode Training Sheet](https://docs.google.com/spreadsheets/d/1Zc5uWPGXg39mKxHvq_fjVmp6lh8dv1GiM1Tw6Mq9uQs/edit#gid=1948631141): (Recommended for senior students or students are not interested in Competitive Programming ) 55 | 56 | **Notes :-** 57 | 58 | 1- Algorithms and Data Structures Materials are provided in these two sheets with problems on every topic 59 | 60 | 2- LeetCode Sheet is still being updated 61 | 62 | ### **Object Oriented Design** 63 | 64 | 1- [Object Oriented Programming](https://www.youtube.com/playlist?list=PLwWuxCLlF_ue7GPvoG_Ko1x43tZw5cz9v) 65 | 66 | 2- [SOLID Principles](https://www.youtube.com/playlist?list=PLwWuxCLlF_uevri_OpofVLXkRRFnZ7TSV) 67 | 68 | 3- [UML](https://www.youtube.com/watch?v=WnMQ8HlmeXc) 69 | 70 | Recommended : [Head First Object Oriented Analysis and Design Book](https://www.oreilly.com/library/view/head-first-object-oriented/0596008678/) 71 | 72 | ## Intermidiate Level 73 | 74 | ### **Design Patterns** 75 | 76 | [Design Patterns in Object Oriented Programming](https://www.youtube.com/playlist?list=PLrhzvIcii6GNjpARdnO4ueTUAVR9eMBpc) 77 | 78 | Recommended : [Head First Design Patterns](https://www.oreilly.com/library/view/head-first-design/0596007124/) 79 | 80 | ### **Databases** 81 | 82 | 1- [Fundamentals of Database Systems](https://www.youtube.com/playlist?list=PL37D52B7714788190) 83 | 84 | 2- [MySQL](https://www.youtube.com/watch?v=7S_tz1z_5bA) 85 | 86 | ### **Networks** 87 | 88 | [Computer Networking](https://www.youtube.com/playlist?list=PLDQaRcbiSnqF5U8ffMgZzS7fq1rHUI3Q8) 89 | 90 | ### **Operating Systems** 91 | 92 | 1- [Operating System Concepts](https://www.youtube.com/playlist?list=PLxIvc-MGOs6ib0oK1z9C46DeKd9rRcSMY)
93 | 2- [Memory Management 1](https://www.youtube.com/watch?v=cjZqwsxLVtQ&list=PLkpYqKNqc_CvCqERss2WBKWE3fb1jEmKE&index=5)
94 | 3- [Memory Management 2](https://www.youtube.com/watch?v=EWof2WGvFCw&list=PLkpYqKNqc_CvCqERss2WBKWE3fb1jEmKE&index=6)
95 | 4- [Virtual Memory](https://www.youtube.com/watch?v=1p1XXdLt_9g&list=PLkpYqKNqc_CvCqERss2WBKWE3fb1jEmKE&index=7) 96 | 97 | 98 | ## Advanced Level 99 | 100 | ### **Distributed Systems** 101 | 102 | [Distributed Systems Lecture Series](https://www.youtube.com/playlist?list=PLeKd45zvjcDFUEv_ohr_HdUFe97RItdiB) 103 | 104 | ### **Software Engineering** 105 | 106 | 1- [Software Development Life Cycle](https://www.youtube.com/playlist?list=PLAuF74dVvpM3kz6BaKcMUfDk2VelObKKq) 107 | 108 | 2- [Agile Software Development](https://www.youtube.com/watch?v=UxMpn92vGXs) 109 | 110 | Recommended : [Software Engineering at Google](https://www.oreilly.com/library/view/software-engineering-at/9781492082781/) 111 | 112 | 113 | 114 | 115 | ## General Knowledge 116 | 117 | [Clean Code](https://www.oreilly.com/library/view/clean-code-a/9780136083238/)
118 | [Linux Command Line](https://www.youtube.com/playlist?list=PL18queXiCivImZ4KpPbSWSt_977X_ljuz)
119 | [Git and GitHub](https://www.youtube.com/watch?v=Q6G-J54vgKc)
120 | [APIs](https://www.youtube.com/watch?v=GZvSYJDk-us)
121 | [Designing Data Intensive Applications](https://www.oreilly.com/library/view/designing-data-intensive-applications/9781491903063/)
122 | 123 | 124 | 125 | ## Preparing for Software Engineering Interviews 126 | **SWE Interviews Guide** 127 | 128 | [Tech Interviews Handbook](https://www.techinterviewhandbook.org/) 129 | 130 | **Coding Interviews** : For all Positions (Intern, Fresh Graduate, Junior, Senior) 131 | 132 | [Top Interview Questions](https://leetcode.com/problem-list/top-interview-questions/) 133 | 134 | [Cracking the Coding Interview](https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850) 135 | 136 | **System Design Interviews** : For Seniors 137 | 138 | [System Design Concepts You Should Know](https://www.freecodecamp.org/news/systems-design-for-interviews/) 139 | 140 | [System Design Interview - An insider's guide](https://www.amazon.com/System-Design-Interview-insiders-Second/dp/B08CMF2CQF) 141 | 142 | **Behavioral Interview** 143 | 144 | [Common Behavioral Interview Questions For Software Engineers](https://medium.com/the-crazy-coder/common-behavioral-interview-questions-for-software-engineers-cdfaf99d07e8) 145 | 146 | 147 | ## Contact us 148 | Feel free to contact us 149 | 150 | [Mahmoud Shawky (CAT Reloaded CS Head 23)](https://www.linkedin.com/in/MahmoudShawkyy) 151 | 152 | [Muhammad Selim (CAT Reloaded CS Vice Head 23)](https://www.linkedin.com/in/m-20x/) 153 | 154 | [Shaimaa Elbadrawy (CAT Reloaded CS Head 22)](https://www.linkedin.com/in/shaimaa-elbadrawy/) 155 | 156 | [Omar Kassem (CAT Reloaded CS Head 21)](https://www.linkedin.com/in/omar-kassem/) 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | --------------------------------------------------------------------------------