Add content to cs/pick-language and cs/datastructures

pull/2896/head^2
Kamran Ahmed 2 years ago
parent 9dae390d5d
commit 681ff8147e
  1. 2
      components/roadmap/roadmap-page-header.tsx
  2. 8
      content/roadmaps/103-computer-science/content/101-pick-a-language/100-c-plus-plus.md
  3. 7
      content/roadmaps/103-computer-science/content/101-pick-a-language/101-c.md
  4. 15
      content/roadmaps/103-computer-science/content/101-pick-a-language/102-java.md
  5. 20
      content/roadmaps/103-computer-science/content/101-pick-a-language/103-python.md
  6. 19
      content/roadmaps/103-computer-science/content/101-pick-a-language/104-go.md
  7. 10
      content/roadmaps/103-computer-science/content/101-pick-a-language/105-c-sharp.md
  8. 8
      content/roadmaps/103-computer-science/content/101-pick-a-language/106-rust.md
  9. 20
      content/roadmaps/103-computer-science/content/101-pick-a-language/readme.md
  10. 9
      content/roadmaps/103-computer-science/content/102-data-structures/100-array.md
  11. 15
      content/roadmaps/103-computer-science/content/102-data-structures/101-linked-list.md
  12. 10
      content/roadmaps/103-computer-science/content/102-data-structures/102-stack.md
  13. 3
      content/roadmaps/103-computer-science/content/102-data-structures/103-queue.md
  14. 9
      content/roadmaps/103-computer-science/content/102-data-structures/readme.md
  15. 658
      public/project/javascript.json

@ -116,7 +116,7 @@ function RoadmapSubscriber({ roadmapTitle }: { roadmapTitle: string }) {
<ModalCloseButton /> <ModalCloseButton />
<ModalBody p={6}> <ModalBody p={6}>
<Heading mb='5px' fontSize='2xl'>Subscribe</Heading> <Heading mb='5px' fontSize='2xl'>Subscribe</Heading>
<Text fontSize={'md'} color='gray.700'>Enter your below to receive updates to this roadmap.</Text> <Text fontSize={'md'} color='gray.700'>Enter your email below to receive updates to this roadmap.</Text>
<form action={SIGNUP_FORM_ACTION} method='post' target='_blank' onSubmit={() => { <form action={SIGNUP_FORM_ACTION} method='post' target='_blank' onSubmit={() => {
event({ event({
category: 'Subscription', category: 'Subscription',

@ -1 +1,7 @@
# C plus plus # C++
C++ is a powerful general-purpose programming language. It can be used to develop operating systems, browsers, games, and so on. C++ supports different ways of programming like procedural, object-oriented, functional, and so on. This makes C++ powerful as well as flexible.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://learncpp.com/'>Learn Cpp</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://en.cppreference.com/'>C++ Reference</BadgeLink>

@ -1 +1,8 @@
# C # C
C is a general-purpose computer programming language. It was created in the 1970s by Dennis Ritchie, and remains very widely used and influential. By design, C's features cleanly reflect the capabilities of the targeted CPUs.
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/c/'>Learn C - W3Schools</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.tutorialspoint.com/cprogramming/index.htm'>Learn C - Tutorials Point</BadgeLink>
<BadgeLink colorScheme='purple' badgeText='Watch' href='https://www.youtube.com/watch?v=KJgsSFOSQv0'>C Programming Tutorial for Beginners</BadgeLink>
<BadgeLink colorScheme='purple' badgeText='Watch' href='https://www.youtube.com/watch?v=j-_s8f5K30I'>Learn C Programming with Dr. Chuck</BadgeLink>

@ -1 +1,16 @@
<DedicatedRoadmap
href='/java'
title='Java Roadmap'
description='Click to check the detailed Java Roadmap.'
/>
# Java # Java
Java is general-purpose language, primarily used for Internet-based applications.
It was created in 1995 by James Gosling at Sun Microsystems and is one of the most popular options for backend developers.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://www.java.com/'>Java Website</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.codecademy.com/learn/learn-java'>Codeacademy - Free Course</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/java/'>W3 Schools Tutorials</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=eIrMbAQSU34'>Java Crash Course</BadgeLink>

@ -1 +1,21 @@
<DedicatedRoadmap
href='/python'
title='Python Roadmap'
description='Click to check the detailed Python Roadmap.'
/>
# Python # Python
Python is a well known programming language which is both a strongly typed and a dynamically typed language. Being an interpreted language, code is executed as soon as it is written and the Python syntax allows for writing code in functional, procedural or object-oriented programmatic ways.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='blue' badgeText='Official Website' href='https://www.python.org/'>Python Website</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.python.org/about/gettingstarted/'>Python Getting Started</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://automatetheboringstuff.com/'>Automate the Boring Stuff</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.freecodecamp.org/news/how-to-learn-python/'>FreeCodeCamp.org - How to Learn Python ? </BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://pythonprinciples.com/'>Python principles - Python basics</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.w3schools.com/python/'>W3Schools - Python Tutorial </BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://ehmatthes.github.io/pcc/'>Python Crash Course</BadgeLink>
<BadgeLink badgeText='Course' colorScheme='green' href='https://www.codecademy.com/learn/learn-python'>Codecademy - Learn Python 2</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/an-introduction-to-python-for-non-programmers/'>An Introduction to Python for Non-Programmers</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://thenewstack.io/getting-started-with-python-and-influxdb/'>Getting Started with Python and InfluxDB</BadgeLink>

@ -1 +1,20 @@
<DedicatedRoadmap
href='/golang'
title='Go Roadmap'
description='Click to check the detailed Go Roadmap.'
/>
# Go # Go
Go is an open source programming language supported by Google. Go can be used to write cloud services, CLI tools, used for API development, and much more.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://go.dev/tour/welcome/1'>A Tour of Go – Go Basics</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://go.dev/doc/'>Go Reference Documentation</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://gobyexample.com/'>Go by Example - annotated example programs</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://boot.dev/learn/learn-golang'>Learn Go | Boot.dev </BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.codecademy.com/learn/learn-go'>Learn Go | Codecademy</BadgeLink>
<BadgeLink colorScheme='green' badgeText='Course' href='https://www.w3schools.com/go/'>W3Schools Go Tutorial </BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://thenewstack.io/make-a-restful-json-api-go/'>Making a RESTful JSON API in Go</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://thenewstack.io/go-the-programming-language-of-the-cloud/'>Go, the Programming Language of the Cloud</BadgeLink>

@ -1 +1,9 @@
# C sharp # C#
C# (pronounced "C sharp") is a general purpose programming language made by Microsoft. It is used to perform different tasks and can be used to create web apps, games, mobile apps, etc.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.microsoft.com/en-us/learn/paths/csharp-first-steps/?WT.mc_id=dotnet-35129-website'>C# Learning Path</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/cs/index.php'>C# on W3 schools</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://docs.microsoft.com/en-us/shows/CSharp-101/?WT.mc_id=Educationalcsharp-c9-scottha'>Introduction to C#</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=gfkTfcpWqAY&list=PLTjRvDozrdlz3_FPXwb6lX_HoGXa09Yef'>C# tutorials</BadgeLink>

@ -1 +1,9 @@
# Rust # Rust
Rust is a modern systems programming language focusing on safety, speed, and concurrency. It accomplishes these goals by being memory safe without using garbage collection.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://doc.rust-lang.org/book/'>The Rust Programming Language - online book</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://doc.rust-lang.org/stable/rust-by-example/index.html'>Rust by Example - collection of runnable examples</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://thenewstack.io/rust-vs-go-why-theyre-better-together/'>Rust vs. Go: Why They’re Better Together</BadgeLink>
<BadgeLink badgeText='Read' colorScheme="yellow" href='https://thenewstack.io/rust-by-the-numbers-the-rust-programming-language-in-2021/'>Rust by the Numbers: The Rust Programming Language in 2021</BadgeLink>

@ -1 +1,19 @@
# Pick a language # Pick a Language
You need to pick a programming language to learn the Computer Science concepts. My personal recommendation would be to pick C++ or C and the reason for that is:
* They allow you to deal with pointers and memory allocation/deallocation, so you feel the data structures and algorithms in your bones. In higher level languages like Python or Java, these are hidden from you. In day to day work, that's terrific, but when you're learning how these low-level data structures are built, it's great to feel close to the metal.
* You will be able to find a lot of resources for the topics listed in this roadmap using C or C++. You can find a lot of resources for Python and Java, but they are not as abundant as C++ and C.
Given below is the list of resources; pick ones relevant to the language of your choice.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/cpp/'>Learn C++ - W3Schools</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.tutorialspoint.com/cplusplus/index.htm'>Learn C++ - Tutorials Point</BadgeLink>
<BadgeLink colorScheme='purple' badgeText='Watch' href='https://www.youtube.com/watch?v=8jLOx1hD3_o'>C++ Programming Course - Beginner to Advanced</BadgeLink>
<BadgeLink colorScheme='purple' badgeText='Watch' href='https://www.youtube.com/watch?v=vLnPwxZdW4Y'>C++ Tutorial for Beginners - Full Course</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.w3schools.com/c/'>Learn C - W3Schools</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.tutorialspoint.com/cprogramming/index.htm'>Learn C - Tutorials Point</BadgeLink>
<BadgeLink colorScheme='purple' badgeText='Watch' href='https://www.youtube.com/watch?v=KJgsSFOSQv0'>C Programming Tutorial for Beginners</BadgeLink>
<BadgeLink colorScheme='purple' badgeText='Watch' href='https://www.youtube.com/watch?v=j-_s8f5K30I'>Learn C Programming with Dr. Chuck</BadgeLink>

@ -1 +1,10 @@
# Array # Array
Arrays store elements in contiguous memory locations, resulting in easily calculable addresses for the elements stored and this allows faster access to an element at a specific index.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=QJNwK2uJyGs'>Array Data Structure | Illustrated Data Structures</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.coursera.org/lecture/data-structures/arrays-OsBSF'>Array Data Structure - Coursera</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://archive.org/details/ucberkeley_webcast_Wp8oiO_CZZE'>UC Berkeley CS61B - Linear and Multi-Dim Arrays (Start watching from 15m 32s)</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.coursera.org/lecture/data-structures/dynamic-arrays-EwbnV'>Dynamic Arrays - Coursera</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=1jtrQqYpt7g'>Jagged Arrays</BadgeLink>

@ -1 +1,14 @@
# Linked list # Linked Lists
Arrays store elements in contiguous memory locations, resulting in easily calculable addresses for the elements stored and this allows faster access to an element at a specific index. Linked lists are less rigid in their storage structure and elements are usually not stored in contiguous locations, hence they need to be stored with additional tags giving a reference to the next element. This difference in the data storage scheme decides which data structure would be more suitable for a given situation.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=odW9FU8jPRQ'>Linked List Data Structure | Illustrated Data Structures</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=F8AbOfQwl1c'>Linked Lists in 4 minutes</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.coursera.org/lecture/data-structures/singly-linked-lists-kHhgK'>Singly Linked Lists</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://archive.org/details/ucberkeley_webcast_htzJdKoEmO0'>CS 61B Lecture 7: Linked Lists I</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://archive.org/details/ucberkeley_webcast_-c4I3gFYe3w'>CS 61B Lecture 7: Linked Lists II</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.coursera.org/lecture/data-structures-optimizing-performance/core-linked-lists-vs-arrays-rjBs9'>Core: Linked Lists vs Arrays</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.coursera.org/lecture/data-structures-optimizing-performance/in-the-real-world-lists-vs-arrays-QUaUd'>In the Real World: Linked Lists vs Arrays</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=YQs6IC-vgmo'>Why you should avoid Linked Lists?</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.coursera.org/lecture/data-structures/doubly-linked-lists-jpGKD'>Doubly Linked Lists</BadgeLink>

@ -1 +1,11 @@
# Stack # Stack
Stack is a linear collection of items where items are inserted and removed in a particular order. Stack is also called a LIFO Data Structure because it follows the "Last In First Out" principle i.e. the item that is inserted in the last is the one that is taken out first.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=I5lq6sCuABE'>Stack Data Structure | Illustrated Data Structures</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.youtube.com/watch?v=KcT3aVgrrpU'>Stack in 3 minutes</BadgeLink>
<BadgeLink colorScheme='red' badgeText='Watch' href='https://www.coursera.org/lecture/data-structures/stacks-UdKzQ'>Stack Data Structure</BadgeLink>

@ -1 +1,4 @@
# Queue # Queue
Queue is a linear collection of items where items are inserted and removed in a particular order. The queue is also called a FIFO Data Structure because it follows the "First In, First Out" principle i.e., the item that is inserted in the first is the one that is taken out first.

@ -1 +1,8 @@
# Data structures # Data Structures
As the name indicates itself, a **Data Structure** is a way of organizing the data in the **memory** so that it can be used efficiently. Some common data structures are array, linked list, stack, hashtable, queue, tree, heap, and graph.
<ResourceGroupTitle>Free Content</ResourceGroupTitle>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.geeksforgeeks.org/data-structures'>What are Data Structures?</BadgeLink>
<BadgeLink colorScheme='yellow' badgeText='Read' href='https://www.javatpoint.com/data-structure-tutorial'> Data Structures and Algorithms</BadgeLink>
<BadgeLink badgeText='Watch' href='https://www.youtube.com/watch?v=9rhT3P1MDHk&list=PLkZYeFmDuaN2-KUIv-mvbjfKszIGJ4FaY'>Data Structures Illustrated</BadgeLink>

File diff suppressed because it is too large Load Diff
Loading…
Cancel
Save