SlideShare a Scribd company logo
1 of 20
‫خارطة‬
‫طريق‬
‫مبسطة‬
‫لعلوم‬
‫حاسب‬
Mostafa S. Ibrahim
Teaching, Training and Coaching for more than a decade!
Artificial Intelligence & Computer Vision Researcher
PhD from Simon Fraser University - Canada
Bachelor / Msc from Cairo University - Egypt
Ex-(Software Engineer / ICPC World Finalist)
You after few years:
“10 Things I Wish
Someone Told Me When
I Went to University”
‫سلسلة‬
‫حاسبات‬
‫إلرشاد‬
‫الطلبة‬
‫سلسلة‬
‫حاسبات‬
‫إلرشاد‬
‫الطلبة‬
‫سلسلة‬
‫حاسبات‬
‫إلرشاد‬
‫الطلبة‬
‫سلسلة‬
‫حاسبات‬
‫إلرشاد‬
‫الطلبة‬
‫سلسلة‬
‫حاسبات‬
‫إلرشاد‬
‫الطلبة‬
Today
● A short and focused guidelines to NOT be lost
● If any conflicts between this NEW video and OLD videos, this is the priority!
● There are many CS subjects that you should study all
● Let’s see your top priority today
● Other subjects? schedule others later
○ Maybe schedule them during the college days
○ Or in parallel to the work
○ You only need a crash course for these other courses (or at least 2-3 chapters)
● Can I study technology track early before or parallel to basics?
○ You shouldn’t. Usually you will regret 3-4 years later in work
■ Yes, you can make money early! But don’t
○ Do that ONLY if you are under great financial stress
The fundamental/critical subjects
● Programming and OOP
○ Strong understanding for the language syntax
○ Builtin library (like C++ STL / Java collection
○ Do many console projects
● Data Structures and Algorithms
○ These 2, especially algorithms, will take a LOT of time
○ You need to PRACTICE a lot
○ They will change your mentality. Make you a problem-solver
○ Enhancing coding, debugging and testing skills
○ Interest in programming competitions?
■ Start in my Juniors-sheet and participate in ICPC contests
○ Important for some local interviews. Mandatory in big companies (FAANG like Google)
The fundamental/critical subjects
● Design Patterns
○ One step toward enhancing your design skills
○ Important in interviews
● Software engineering
○ UML Diagram tools
○ Methodologies to manage a big project/team such as Agile
○ Many courses/books are very talkative :(. Get an idea
The fundamental/critical subjects
● Database (RMDBS - NoSQL)
○ This is where we store the data
○ Critical for backend jobs. Go deep
○ Good to know for frontend jobs
● Networking and Operating systems
○ A fair course is enough. Having some background is useful
○ Delay if running out of time but schedule as soon as possible
○ As a fresh Software Engineer, it is rarely to be asked in them
Market Track
● Front/Back end software engineers
are the most popular
● Next jobs are Machine Learning
and Data science
○ Less and more competitive
● Limited (for fresh)
○ Embedded development, Games
Development, Security
Img credit
Timeline
● Nowadays, many people start programming in prep or secondary school
○ My split of 1st/2nd and 3rd/4th doesn;t make sense for them
● If you are new to the field
○ Try in the first 2 years to finish these core subjects
○ Starting from the third year focus on the technology
○ Keep problem solving activity as long as you code in the market (next ~10 years)
The core of the core
● First, Deep focus with Programming, OOP, Data Structures and Algorithms
● My recent Udemy (Promotion) English are built to achieve a consistent and
intensive roadmap for this stage. You need around 1000 hours to finish
The core of the core: Timeline
● 1- Start the C++ Course. Go up to finishing pointers topic
● 2- Then In parallel, you will do the following:
○ Continue in the C++ course until the last project. You don't have to finish the last modern
sections.
○ Start in the data-structure course
○ Start in this interviews preparation sheet
● 3- Done with the data-structure course?
○ Move to Algorithms Part 1 then Part 2
● 4- Move to the interviews course
○ This one can be parallel to coming things (basics/technology)
What about the other languages
● You can start with ANY language. My preference is C++
● Many languages are not well served. Limited practice and projects
● So
○ If I have courses for the other language, just take it
○ If no, find ANY course with good coverage on the internet
AND
Solve the practice/projects of my corresponding C++ course
The remaining of the core
● One approach
○ Finish the remaining fundamental subjects first, then move to technology
○ I prefer that
● Another approach
○ Parallelize the other subjects + a technology track
○ Tip: if you plan to work in backend, finish database (RDBMS) first
● The core: My Udemy courses
● Design patterns: link link link link (pick one)
● Software Engineering: Link
● Database: Link
● Operating Systems: CS-537, CS-342
● Computer Network: Books (Computer Networking A Top-Down Approach,
Computer Networks by Andrew S. Tanenbaum) — Course
● Machine Learning: Link
● Technology roadmaps: https://roadmap.sh - backend - frontend
● Competitions Sheet
● My overall contributions (important) / More
Materials
Misc
● Got lost? Just pick a programming language and focus on it for now!
● The other videos in the playlist will answer more questions for you
‫علمكم‬
‫هللا‬
‫ما‬
‫ينفعكم‬
‫ونفعكم‬
‫بما‬
‫تعلمتم‬
‫وزادكم‬
ً
‫علما‬

More Related Content

Similar to Complete Computer Science Roadmap and Guide for Students

Academic Day 2211.pptx
Academic Day 2211.pptxAcademic Day 2211.pptx
Academic Day 2211.pptxssuser75ce13
 
Picking the right architecture and sticking to it
Picking the right architecture and sticking to itPicking the right architecture and sticking to it
Picking the right architecture and sticking to itPetter Holmström
 
How to become Industry ready engineers.pdf
How to become  Industry ready engineers.pdfHow to become  Industry ready engineers.pdf
How to become Industry ready engineers.pdfDrNilam Choudhary
 
HOW TO START (ANYTHING ABOUT CODE).pptx
HOW TO START (ANYTHING ABOUT CODE).pptxHOW TO START (ANYTHING ABOUT CODE).pptx
HOW TO START (ANYTHING ABOUT CODE).pptxssuser62b2da
 
How Indeed asks coding interview questions
How Indeed asks coding interview questionsHow Indeed asks coding interview questions
How Indeed asks coding interview questionsFangda Wang
 
The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...Equal Experts
 
Growing up new PostgreSQL developers (pgcon.org 2018)
Growing up new PostgreSQL developers (pgcon.org 2018)Growing up new PostgreSQL developers (pgcon.org 2018)
Growing up new PostgreSQL developers (pgcon.org 2018)Aleksander Alekseev
 
1.1. course introduction
1.1. course introduction1.1. course introduction
1.1. course introductionNicholas Wong
 
Book: Software Architecture and Decision-Making
Book: Software Architecture and Decision-MakingBook: Software Architecture and Decision-Making
Book: Software Architecture and Decision-MakingSrinath Perera
 
0 - Course Overview.pptx
0 - Course Overview.pptx0 - Course Overview.pptx
0 - Course Overview.pptxasdfasdfas3
 
Computer science curriculum based on Program learning outcomes and objectives
Computer science curriculum based on Program learning outcomes and objectivesComputer science curriculum based on Program learning outcomes and objectives
Computer science curriculum based on Program learning outcomes and objectivesJawad Khan
 
What should be your approach for solving ml cv problem statements
What should be your approach for solving ml cv problem statements What should be your approach for solving ml cv problem statements
What should be your approach for solving ml cv problem statements Vishwas N
 
Why you don't need maths to get benefits of ml
Why you don't need maths to get benefits of mlWhy you don't need maths to get benefits of ml
Why you don't need maths to get benefits of mlAseem Bansal
 
How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)Asier Barrenetxea
 
Creating an experimental GraphQL formatter using Clojure, Instaparse, and Gra...
Creating an experimental GraphQL formatter using Clojure, Instaparse, and Gra...Creating an experimental GraphQL formatter using Clojure, Instaparse, and Gra...
Creating an experimental GraphQL formatter using Clojure, Instaparse, and Gra...Metosin Oy
 
What Are the Basics of Product Manager Interviews by Google PM
What Are the Basics of Product Manager Interviews by Google PMWhat Are the Basics of Product Manager Interviews by Google PM
What Are the Basics of Product Manager Interviews by Google PMProduct School
 

Similar to Complete Computer Science Roadmap and Guide for Students (20)

Academic Day 2211.pptx
Academic Day 2211.pptxAcademic Day 2211.pptx
Academic Day 2211.pptx
 
Picking the right architecture and sticking to it
Picking the right architecture and sticking to itPicking the right architecture and sticking to it
Picking the right architecture and sticking to it
 
How to become Industry ready engineers.pdf
How to become  Industry ready engineers.pdfHow to become  Industry ready engineers.pdf
How to become Industry ready engineers.pdf
 
HOW TO START (ANYTHING ABOUT CODE).pptx
HOW TO START (ANYTHING ABOUT CODE).pptxHOW TO START (ANYTHING ABOUT CODE).pptx
HOW TO START (ANYTHING ABOUT CODE).pptx
 
How Indeed asks coding interview questions
How Indeed asks coding interview questionsHow Indeed asks coding interview questions
How Indeed asks coding interview questions
 
The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...The essentials of the IT industry or What I wish I was taught about at Univer...
The essentials of the IT industry or What I wish I was taught about at Univer...
 
Growing up new PostgreSQL developers (pgcon.org 2018)
Growing up new PostgreSQL developers (pgcon.org 2018)Growing up new PostgreSQL developers (pgcon.org 2018)
Growing up new PostgreSQL developers (pgcon.org 2018)
 
1.1. course introduction
1.1. course introduction1.1. course introduction
1.1. course introduction
 
Book: Software Architecture and Decision-Making
Book: Software Architecture and Decision-MakingBook: Software Architecture and Decision-Making
Book: Software Architecture and Decision-Making
 
0 - Course Overview.pptx
0 - Course Overview.pptx0 - Course Overview.pptx
0 - Course Overview.pptx
 
Computer science curriculum based on Program learning outcomes and objectives
Computer science curriculum based on Program learning outcomes and objectivesComputer science curriculum based on Program learning outcomes and objectives
Computer science curriculum based on Program learning outcomes and objectives
 
Hello to code
Hello to codeHello to code
Hello to code
 
What should be your approach for solving ml cv problem statements
What should be your approach for solving ml cv problem statements What should be your approach for solving ml cv problem statements
What should be your approach for solving ml cv problem statements
 
Why you don't need maths to get benefits of ml
Why you don't need maths to get benefits of mlWhy you don't need maths to get benefits of ml
Why you don't need maths to get benefits of ml
 
How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)How to deliver the right software (Specification by example)
How to deliver the right software (Specification by example)
 
Lecture01
Lecture01Lecture01
Lecture01
 
Learning to code in 2020
Learning to code in 2020Learning to code in 2020
Learning to code in 2020
 
Lecture01
Lecture01Lecture01
Lecture01
 
Creating an experimental GraphQL formatter using Clojure, Instaparse, and Gra...
Creating an experimental GraphQL formatter using Clojure, Instaparse, and Gra...Creating an experimental GraphQL formatter using Clojure, Instaparse, and Gra...
Creating an experimental GraphQL formatter using Clojure, Instaparse, and Gra...
 
What Are the Basics of Product Manager Interviews by Google PM
What Are the Basics of Product Manager Interviews by Google PMWhat Are the Basics of Product Manager Interviews by Google PM
What Are the Basics of Product Manager Interviews by Google PM
 

Recently uploaded

Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Hyundai Motor Group
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetEnjoy Anytime
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Recently uploaded (20)

Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2Next-generation AAM aircraft unveiled by Supernal, S-A2
Next-generation AAM aircraft unveiled by Supernal, S-A2
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
 
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your BudgetHyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
Hyderabad Call Girls Khairatabad ✨ 7001305949 ✨ Cheap Price Your Budget
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Complete Computer Science Roadmap and Guide for Students

  • 1. ‫خارطة‬ ‫طريق‬ ‫مبسطة‬ ‫لعلوم‬ ‫حاسب‬ Mostafa S. Ibrahim Teaching, Training and Coaching for more than a decade! Artificial Intelligence & Computer Vision Researcher PhD from Simon Fraser University - Canada Bachelor / Msc from Cairo University - Egypt Ex-(Software Engineer / ICPC World Finalist)
  • 2. You after few years: “10 Things I Wish Someone Told Me When I Went to University”
  • 8. Today ● A short and focused guidelines to NOT be lost ● If any conflicts between this NEW video and OLD videos, this is the priority! ● There are many CS subjects that you should study all ● Let’s see your top priority today ● Other subjects? schedule others later ○ Maybe schedule them during the college days ○ Or in parallel to the work ○ You only need a crash course for these other courses (or at least 2-3 chapters) ● Can I study technology track early before or parallel to basics? ○ You shouldn’t. Usually you will regret 3-4 years later in work ■ Yes, you can make money early! But don’t ○ Do that ONLY if you are under great financial stress
  • 9. The fundamental/critical subjects ● Programming and OOP ○ Strong understanding for the language syntax ○ Builtin library (like C++ STL / Java collection ○ Do many console projects ● Data Structures and Algorithms ○ These 2, especially algorithms, will take a LOT of time ○ You need to PRACTICE a lot ○ They will change your mentality. Make you a problem-solver ○ Enhancing coding, debugging and testing skills ○ Interest in programming competitions? ■ Start in my Juniors-sheet and participate in ICPC contests ○ Important for some local interviews. Mandatory in big companies (FAANG like Google)
  • 10. The fundamental/critical subjects ● Design Patterns ○ One step toward enhancing your design skills ○ Important in interviews ● Software engineering ○ UML Diagram tools ○ Methodologies to manage a big project/team such as Agile ○ Many courses/books are very talkative :(. Get an idea
  • 11. The fundamental/critical subjects ● Database (RMDBS - NoSQL) ○ This is where we store the data ○ Critical for backend jobs. Go deep ○ Good to know for frontend jobs ● Networking and Operating systems ○ A fair course is enough. Having some background is useful ○ Delay if running out of time but schedule as soon as possible ○ As a fresh Software Engineer, it is rarely to be asked in them
  • 12. Market Track ● Front/Back end software engineers are the most popular ● Next jobs are Machine Learning and Data science ○ Less and more competitive ● Limited (for fresh) ○ Embedded development, Games Development, Security Img credit
  • 13. Timeline ● Nowadays, many people start programming in prep or secondary school ○ My split of 1st/2nd and 3rd/4th doesn;t make sense for them ● If you are new to the field ○ Try in the first 2 years to finish these core subjects ○ Starting from the third year focus on the technology ○ Keep problem solving activity as long as you code in the market (next ~10 years)
  • 14. The core of the core ● First, Deep focus with Programming, OOP, Data Structures and Algorithms ● My recent Udemy (Promotion) English are built to achieve a consistent and intensive roadmap for this stage. You need around 1000 hours to finish
  • 15. The core of the core: Timeline ● 1- Start the C++ Course. Go up to finishing pointers topic ● 2- Then In parallel, you will do the following: ○ Continue in the C++ course until the last project. You don't have to finish the last modern sections. ○ Start in the data-structure course ○ Start in this interviews preparation sheet ● 3- Done with the data-structure course? ○ Move to Algorithms Part 1 then Part 2 ● 4- Move to the interviews course ○ This one can be parallel to coming things (basics/technology)
  • 16. What about the other languages ● You can start with ANY language. My preference is C++ ● Many languages are not well served. Limited practice and projects ● So ○ If I have courses for the other language, just take it ○ If no, find ANY course with good coverage on the internet AND Solve the practice/projects of my corresponding C++ course
  • 17. The remaining of the core ● One approach ○ Finish the remaining fundamental subjects first, then move to technology ○ I prefer that ● Another approach ○ Parallelize the other subjects + a technology track ○ Tip: if you plan to work in backend, finish database (RDBMS) first
  • 18. ● The core: My Udemy courses ● Design patterns: link link link link (pick one) ● Software Engineering: Link ● Database: Link ● Operating Systems: CS-537, CS-342 ● Computer Network: Books (Computer Networking A Top-Down Approach, Computer Networks by Andrew S. Tanenbaum) — Course ● Machine Learning: Link ● Technology roadmaps: https://roadmap.sh - backend - frontend ● Competitions Sheet ● My overall contributions (important) / More Materials
  • 19. Misc ● Got lost? Just pick a programming language and focus on it for now! ● The other videos in the playlist will answer more questions for you

Editor's Notes

  1. That is all!