Convert Figma logo to code with AI

practical-tutorials logoproject-based-learning

Curated list of project-based tutorials

200,894
26,204
200,894
185

Top Related Projects

:books: Freely available programming books

A complete computer science study plan to become a software engineer.

Interactive roadmaps, guides and other educational content to help developers grow in their careers.

323,302

😎 Awesome lists about all kinds of interesting topics

Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.

📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings

Quick Overview

The "project-based-learning" repository is a curated list of programming tutorials that guide learners through creating various projects. It covers multiple programming languages and technologies, offering hands-on learning experiences for developers of all skill levels. The repository serves as a comprehensive resource for those looking to improve their coding skills through practical, project-based learning.

Pros

  • Covers a wide range of programming languages and technologies
  • Provides hands-on learning experiences through real-world projects
  • Regularly updated with new tutorials and resources
  • Free and open-source, accessible to all learners

Cons

  • Quality of tutorials may vary as they are sourced from different creators
  • Some projects may become outdated as technologies evolve
  • No standardized format or difficulty level across all tutorials
  • May lack in-depth explanations for more complex concepts

Getting Started

To get started with the project-based-learning repository:

  1. Visit the GitHub repository: https://github.com/practical-tutorials/project-based-learning
  2. Browse through the README file to find a project or language that interests you
  3. Click on the link to the tutorial you want to follow
  4. Start working on the project, following the instructions provided in the tutorial

Note: As this is not a code library but a collection of tutorials, there are no specific code examples or installation instructions. Each tutorial within the repository will have its own set of instructions and code examples relevant to the project being built.

Competitor Comparisons

:books: Freely available programming books

Pros of free-programming-books

  • Extensive collection of free programming resources across various languages and topics
  • Well-organized structure with categories for different types of materials (e.g., books, courses, interactive tutorials)
  • Regularly updated with community contributions, ensuring a wide range of current resources

Cons of free-programming-books

  • Lacks a structured learning path or curriculum for beginners
  • May overwhelm users with too many options, making it difficult to choose the best resources
  • Doesn't provide hands-on project-based learning experiences

Code comparison

Not applicable for these repositories, as they primarily consist of curated lists of resources rather than code examples.

Summary

free-programming-books offers a vast collection of free programming resources, making it an excellent reference for learners at all levels. However, it may lack the structured, project-based approach that project-based-learning provides. While free-programming-books excels in breadth and variety, project-based-learning focuses on practical, hands-on learning experiences. The choice between the two depends on the learner's preferences and learning style.

A complete computer science study plan to become a software engineer.

Pros of coding-interview-university

  • Comprehensive curriculum covering a wide range of computer science topics
  • Structured learning path with clear goals and milestones
  • Extensive resources including videos, articles, and practice problems

Cons of coding-interview-university

  • Primarily focused on theoretical knowledge rather than hands-on projects
  • May be overwhelming for beginners due to the vast amount of information
  • Less emphasis on modern programming languages and frameworks

Code Comparison

project-based-learning typically focuses on practical implementations:

def fibonacci(n):
    a, b = 0, 1
    for _ in range(n):
        yield a
        a, b = b, a + b

coding-interview-university often includes more theoretical examples:

def is_prime(n):
    if n < 2:
        return False
    for i in range(2, int(n**0.5) + 1):
        if n % i == 0:
            return False
    return True

Both repositories offer valuable resources for learning programming and computer science concepts. project-based-learning is more suitable for those who prefer hands-on learning through practical projects, while coding-interview-university provides a comprehensive theoretical foundation for those preparing for technical interviews or seeking a deeper understanding of computer science principles.

Interactive roadmaps, guides and other educational content to help developers grow in their careers.

Pros of developer-roadmap

  • Provides a comprehensive visual guide for various tech career paths
  • Regularly updated with new technologies and industry trends
  • Offers interactive roadmaps with clickable elements for detailed information

Cons of developer-roadmap

  • Focuses more on theoretical knowledge than hands-on practice
  • Can be overwhelming for beginners due to the vast amount of information
  • Lacks specific project examples or tutorials for practical application

Code comparison

Not applicable, as both repositories primarily contain educational content rather than code samples.

Summary

project-based-learning is a curated list of project tutorials across various programming languages and technologies, emphasizing hands-on learning through practical projects. It's ideal for those who prefer learning by doing and want to build real-world applications.

developer-roadmap offers visual guides and career paths for different roles in software development. It provides a structured overview of technologies and concepts to learn, making it excellent for planning long-term learning goals and understanding the broader landscape of software development.

Both repositories complement each other well. project-based-learning is better for immediate, practical skill development, while developer-roadmap excels at providing a comprehensive overview of the skills needed for various tech careers.

323,302

😎 Awesome lists about all kinds of interesting topics

Pros of awesome

  • Broader scope, covering a wide range of topics and technologies
  • Larger community and more frequent updates
  • Well-organized structure with clear categories

Cons of awesome

  • Less focused on hands-on learning and practical projects
  • Can be overwhelming due to the sheer volume of resources
  • May include outdated or less relevant links due to its size

Code comparison

Not applicable, as both repositories primarily consist of curated lists and don't contain significant code samples.

Summary

project-based-learning focuses on practical, hands-on tutorials for various programming languages and technologies. It provides a structured approach to learning through project completion.

awesome is a more comprehensive collection of resources covering a wide range of topics in software development and beyond. It serves as a general reference for developers seeking information on various subjects.

Both repositories are valuable for developers, but they serve different purposes. project-based-learning is better suited for those looking to learn through practical application, while awesome is ideal for discovering resources across a broader spectrum of topics.

Learn how to design large-scale systems. Prep for the system design interview. Includes Anki flashcards.

Pros of system-design-primer

  • Comprehensive coverage of system design concepts and principles
  • Includes visual aids and diagrams to illustrate complex topics
  • Provides a structured approach to learning system design

Cons of system-design-primer

  • Focuses primarily on theoretical knowledge rather than hands-on projects
  • May be overwhelming for beginners due to its depth and breadth
  • Limited practical implementation examples

Code Comparison

system-design-primer:

# Example: URL shortener service using MD5 and Base62 encoding
import hashlib

def shorten_url(original_url):
    # Create MD5 hash of the original URL
    url_hash = hashlib.md5(original_url.encode()).hexdigest()
    # Convert the first 8 characters of the hash to Base62
    return base62_encode(int(url_hash[:8], 16))

project-based-learning:

# No direct code comparison available as project-based-learning
# is a curated list of project tutorials rather than a single codebase

Note: project-based-learning doesn't contain actual code but rather links to various project tutorials across different programming languages and topics. The repository serves as a comprehensive resource for hands-on learning through practical projects, while system-design-primer focuses on theoretical knowledge and concepts related to system design.

📝 Algorithms and data structures implemented in JavaScript with explanations and links to further readings

Pros of javascript-algorithms

  • Focused specifically on algorithms and data structures in JavaScript
  • Includes detailed explanations and complexity analysis for each algorithm
  • Provides implementations in multiple programming styles (functional, object-oriented)

Cons of javascript-algorithms

  • Limited to algorithms and data structures, not covering broader programming concepts
  • May be overwhelming for beginners due to its depth and complexity
  • Lacks real-world project examples that apply the algorithms in practical scenarios

Code Comparison

javascript-algorithms:

function bubbleSort(originalArray) {
  const array = [...originalArray];
  for (let i = 1; i < array.length; i += 1) {
    for (let j = 0; j < array.length - i; j += 1) {
      if (array[j] > array[j + 1]) {
        [array[j], array[j + 1]] = [array[j + 1], array[j]];
      }
    }
  }
  return array;
}

project-based-learning:

def bubble_sort(arr):
    n = len(arr)
    for i in range(n):
        for j in range(0, n - i - 1):
            if arr[j] > arr[j + 1]:
                arr[j], arr[j + 1] = arr[j + 1], arr[j]
    return arr

Note: project-based-learning doesn't focus on specific algorithm implementations but rather on complete projects. The code example here is for illustration purposes only.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Project Based Learning

Gitter

A list of programming tutorials in which aspiring software developers learn how to build an application from scratch. These tutorials are divided into different primary programming languages. Tutorials may involve multiple technologies and languages.

To get started, simply fork this repo. Please refer to CONTRIBUTING.md for contribution guidelines.

Table of Contents:

C/C++:

Network programming

OpenGL:

C#:

Clojure:

Dart:

Flutter:

Elixir

Erlang

F#:

Java:

JavaScript:

HTML and CSS:

Mobile Application:

Web Applications:

React:

Angular:

Node:

Vue

Others (Hapi, Express...):

D3.js

Game Development:

Desktop Application:

Miscellaneous:

Kotlin:

Lua:

LÖVE:

Python:

Web Scraping:

Web Applications:

Bots:

Data Science:

Machine Learning:

OpenCV:

Deep Learning:

Miscellaneous:

Go:

PHP:

OCaml:

Ruby:

Ruby on Rails:

Haskell:

R:

Rust:

Scala:

Swift:

Additional Resources