File size: 8,824 Bytes
8fd91c9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
{
  "skill": "Python for Beginners",
  "overview": "A practical beginner roadmap for learning Python from basic syntax to small projects. It focuses on confidence, repetition, and building useful scripts.",
  "estimated_total_duration": "6-8 weeks",
  "phases": [
    {
      "title": "Foundations",
      "level": "beginner",
      "goal": "Understand Python syntax, variables, conditions, and loops.",
      "estimated_duration": "2 weeks",
      "nodes": [
        {
          "title": "Set up and write first scripts",
          "description": "Install Python, run simple scripts, and understand how code is executed. Practice printing values and reading beginner examples.",
          "estimated_completion_time": "2-3 hours",
          "resources": [
            {"title": "Python for Beginners - Programming with Mosh", "url": "https://www.youtube.com/watch?v=kqtD5dpn9C8", "type": "youtube_video", "source": "YouTube", "is_free": true},
            {"title": "Python Tutorial - W3Schools", "url": "https://www.w3schools.com/python/", "type": "article", "source": "Tavily", "is_free": true}
          ]
        },
        {
          "title": "Variables and data types",
          "description": "Learn strings, numbers, booleans, lists, and dictionaries. Use small examples to see how values change while a program runs.",
          "estimated_completion_time": "2-3 hours",
          "resources": [
            {"title": "Python Variables - Official Tutorial", "url": "https://docs.python.org/3/tutorial/introduction.html", "type": "documentation", "source": "Tavily", "is_free": true},
            {"title": "Python Data Types - Programiz", "url": "https://www.programiz.com/python-programming/variables-datatypes", "type": "article", "source": "Tavily", "is_free": true}
          ]
        },
        {
          "title": "Conditions and loops",
          "description": "Use if statements and loops to make programs respond to different situations. Practice with short exercises until the flow feels natural.",
          "estimated_completion_time": "3-4 hours",
          "resources": [
            {"title": "Python If Else - W3Schools", "url": "https://www.w3schools.com/python/python_conditions.asp", "type": "article", "source": "Tavily", "is_free": true},
            {"title": "Python For Loops - W3Schools", "url": "https://www.w3schools.com/python/python_for_loops.asp", "type": "article", "source": "Tavily", "is_free": true}
          ]
        }
      ],
      "project": {
        "title": "Simple quiz game",
        "brief": "Build a command-line quiz that asks questions, checks answers, and shows a final score. Keep the questions in a list or dictionary.",
        "tools_needed": ["Python", "Code editor"],
        "resources": [
          {"title": "Python for Beginners - Programming with Mosh", "url": "https://www.youtube.com/watch?v=kqtD5dpn9C8", "type": "youtube_video", "source": "YouTube", "is_free": true},
          {"title": "Python Lists - W3Schools", "url": "https://www.w3schools.com/python/python_lists.asp", "type": "article", "source": "Tavily", "is_free": true}
        ]
      }
    },
    {
      "title": "Core Skills",
      "level": "beginner",
      "goal": "Use functions, files, and modules to organize useful programs.",
      "estimated_duration": "2-3 weeks",
      "nodes": [
        {
          "title": "Functions",
          "description": "Break repeated logic into functions with inputs and return values. This helps you write cleaner programs that are easier to test.",
          "estimated_completion_time": "3-4 hours",
          "resources": [
            {"title": "Python Functions - W3Schools", "url": "https://www.w3schools.com/python/python_functions.asp", "type": "article", "source": "Tavily", "is_free": true},
            {"title": "Defining Functions - Python Docs", "url": "https://docs.python.org/3/tutorial/controlflow.html#defining-functions", "type": "documentation", "source": "Tavily", "is_free": true}
          ]
        },
        {
          "title": "Files and errors",
          "description": "Read and write text files, then handle common errors safely. Practice saving simple notes or scores to a local file.",
          "estimated_completion_time": "3-4 hours",
          "resources": [
            {"title": "Reading and Writing Files - Python Docs", "url": "https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files", "type": "documentation", "source": "Tavily", "is_free": true},
            {"title": "Python Try Except - W3Schools", "url": "https://www.w3schools.com/python/python_try_except.asp", "type": "article", "source": "Tavily", "is_free": true}
          ]
        },
        {
          "title": "Modules and packages",
          "description": "Learn how Python code can be split into modules and reused. Try importing standard library tools before installing third-party packages.",
          "estimated_completion_time": "2-3 hours",
          "resources": [
            {"title": "Python Modules - Python Docs", "url": "https://docs.python.org/3/tutorial/modules.html", "type": "documentation", "source": "Tavily", "is_free": true},
            {"title": "Python Standard Library", "url": "https://docs.python.org/3/library/", "type": "documentation", "source": "Tavily", "is_free": true}
          ]
        }
      ],
      "project": {
        "title": "Personal expense tracker",
        "brief": "Create a command-line expense tracker that lets you add expenses, save them to a file, and show totals by category.",
        "tools_needed": ["Python", "Text files"],
        "resources": [
          {"title": "Reading and Writing Files - Python Docs", "url": "https://docs.python.org/3/tutorial/inputoutput.html#reading-and-writing-files", "type": "documentation", "source": "Tavily", "is_free": true},
          {"title": "Python Dictionaries - W3Schools", "url": "https://www.w3schools.com/python/python_dictionaries.asp", "type": "article", "source": "Tavily", "is_free": true}
        ]
      }
    },
    {
      "title": "Build Confidence",
      "level": "advanced beginner",
      "goal": "Practice with project structure, debugging, and small real-world tools.",
      "estimated_duration": "2-3 weeks",
      "nodes": [
        {
          "title": "Debugging basics",
          "description": "Learn to read error messages and isolate problems with print statements or a debugger. Debugging is a normal part of programming.",
          "estimated_completion_time": "2-3 hours",
          "resources": [
            {"title": "Python Errors and Exceptions", "url": "https://docs.python.org/3/tutorial/errors.html", "type": "documentation", "source": "Tavily", "is_free": true},
            {"title": "Python Debugging With pdb", "url": "https://docs.python.org/3/library/pdb.html", "type": "documentation", "source": "Tavily", "is_free": true}
          ]
        },
        {
          "title": "Work with APIs",
          "description": "Use Python to request data from the web and inspect JSON responses. Start with public APIs that do not need authentication.",
          "estimated_completion_time": "3-5 hours",
          "resources": [
            {"title": "Requests: HTTP for Humans", "url": "https://requests.readthedocs.io/en/latest/", "type": "documentation", "source": "Tavily", "is_free": true},
            {"title": "JSON in Python", "url": "https://docs.python.org/3/library/json.html", "type": "documentation", "source": "Tavily", "is_free": true}
          ]
        },
        {
          "title": "Practice small projects",
          "description": "Build several small tools instead of one large app. Repetition helps you remember syntax and develop problem-solving habits.",
          "estimated_completion_time": "4-6 hours",
          "resources": [
            {"title": "freeCodeCamp Python Projects", "url": "https://www.freecodecamp.org/news/python-projects-for-beginners/", "type": "article", "source": "Tavily", "is_free": true},
            {"title": "Automate the Boring Stuff", "url": "https://automatetheboringstuff.com/", "type": "free_book", "source": "Tavily", "is_free": true}
          ]
        }
      ],
      "project": {
        "title": "Weather summary script",
        "brief": "Build a script that fetches public weather data, parses JSON, and prints a short readable summary for a city.",
        "tools_needed": ["Python", "Requests", "Public API"],
        "resources": [
          {"title": "Requests: HTTP for Humans", "url": "https://requests.readthedocs.io/en/latest/", "type": "documentation", "source": "Tavily", "is_free": true},
          {"title": "JSON in Python", "url": "https://docs.python.org/3/library/json.html", "type": "documentation", "source": "Tavily", "is_free": true}
        ]
      }
    }
  ]
}