
Discover the course overview for beginners, covering terminal basics, IDEs, git, and databases. Learn core concepts like variables and loops, and how to plan and build programs.
Explore the main types of programs, including desktop apps, web apps, and APIs, and learn which programming languages suit each type, giving you an overview before you start coding.
Explore desktop GUI apps from user interface to code, using Python and the Picked6 library to build a mood-based playlist recommender and convert it to dot exe or dot app.
Explore the difference between websites and web apps, and map front end, back end, and server roles using HTML, JavaScript, Python, and HTTP requests for dynamic browser experiences.
Explain what an API is and how programs talk to each other, using Google Flights as an example, including an API key, requests, and JSON data.
Explore command line interface programs in the terminal with Python, processing text and numbers, outputting results, and compare command line interface with graphical user interface, noting speed for technical users.
Explore how a program spans three files and uses imports to form one executable. Learn how an IDE processes input and how shapes.py organizes the calculations.
Programming languages enable communication with computers through strict syntax, including colons and line breaks, and fall into low-level and high-level, with compiled versus interpreted forms like C++ and Python.
Explore popular languages such as Python, JavaScript, Java, C++, and SQL, with Python highlighted for beginner-friendly syntax and versatility in web, data, and automation.
Explore the in depth tutorial on the computer terminal, a crucial tool for programmers, to interact with files and the operating system across Windows, Mac, and Linux.
Discover why developers use the terminal for efficiency, automation, and file navigation, with Windows PowerShell and Mac/Linux terminals demonstrated and basic commands like cd and memory checks.
Learn to navigate the file system across Windows, Mac, and Linux using the terminal; use pwd to view the current directory, cd to move, and ls to list.
Discover how to create single and multiple files and folders from the terminal on Windows, macOS, and Linux, using mkdir, touch, new-item, and del or rem commands.
Practice using a remote Linux server terminal on PythonAnywhere, create and edit Python files, run programs, and schedule recurring tasks to run web apps 24/7.
Explore how code editors and IDEs differ and when to use each, from syntax highlighting and debugging to version control, for writing Python and C++ programs.
Explore popular code editors and ides used by developers, including Notepad++, Vim, Sublime Text, Visual Studio Code, PyCharm, IntelliJ, and Eclipse. Compare editors and ides, noting debugging and terminal features.
Learn how an integrated development environment enables building real programs by creating a project in Python, and tracking changes with Git through commits and revisions.
Learn about the main file formats used to store data, including csv, json, and xml, and how to choose them for data processing, display, and generation.
Learn how comma separated values format presents flat, human readable data in csv files, how to open data.csv in editors or spreadsheets, and how programs parse commas.
Explore how JSON represents simple and nested data with objects and arrays, compare it to CSV, and see how programs read and generate JSON for apps.
Explore XML, its extensible markup language hierarchy structure, and how it compares to JSON and CSV. Learn readability, use cases like financial apps and SVG, and cross-language parsing.
Explore what databases are, why we use them, and how relational and non-relational systems differ, with MySQL and practical command-line demos.
Learn how relational databases use tables, keys, and relationships to connect data like customers, accounts, and transactions, using sql across mysql, postgresql, and sqlite.
Explore non-relational databases like MongoDB, using json-style storage with flexible schemas across collections. Learn when to use them, how they differ from relational databases, and how access controls work.
See how a Python program uses a MySQL database to insert customer data via a graphical interface, demonstrating SQL queries, a bank database, and a customers table.
Explore file-based databases as a bridge between file storage and databases, using a .db file to host relational tables like customers with name and balance, enabling migration between computers.
Discover version control with Git and GitHub, learn how to track changes, create snapshots, and collaborate with others by uploading and merging code in the cloud.
Install git and initialize a repository, then track changes with add and commit. Learn to view history with git log and switch versions with checkout, in terminal or IDEs.
Learn to connect a local git repository to a remote GitHub repository, push commits, and collaborate with others while maintaining code snapshots and history.
Discover what a programming portfolio is, a collection of works you publish. Learn why you need one for employers and what to include when publishing on a website or GitHub.
Create a standout portfolio by including projects you enjoy, using GitHub with milestone commits to showcase activity, and updating with modern, own-work projects from learning courses.
Explore tools to build and host your portfolio, including GitHub, git profile, portfolio, sitter.io, Figma, and card, and learn when to use no-code options or code from scratch.
Explore programming concepts beyond syntax, including variables, for loops, and conditionals, taught from a logical perspective while previewing the history of programming and computers.
Trace the history of programming from early automated instruments to the first stored computer program, and show how punched cards, zeros and ones, and RAM shaped computing.
Discover how variables act as labels for values stored in memory, how addresses relate, and how Python demonstrates practical use through assignments and simple conversions like miles to kilometers.
Explore primitive types—integers, floats, and strings—across Python, Java, and C, and compare dynamic typing with static typing to reveal why types exist.
Explore complex data types like lists, dictionaries, tuples, and sets, with Python and Java examples, and learn when to use each for memory-efficient, readable code.
Explore how for loops transform repetitive calculations by iterating over a scores list to compute percentages, demonstrating indexing, efficiency, and language differences in Python and Ruby.
Explore how to reuse code with functions in Python, using a percentage calculator to compute percentages for multiple score lists and replace repeated blocks with a single function call.
Learn how conditionals and if statements drive decisions by checking if a score is at least 15 to print pass or not passed, illustrating conditional logic.
Break down programming problems into smaller steps to improve efficiency and debugging. Understand inputs and outputs, identify major tasks, and decompose them into subtasks before coding for clearer, cleaner code.
Break down a programming problem with a text-based task manager example, outlining inputs, outputs, and key steps like validation, CSV storage, and feedback.
If you’ve jumped straight into vibe coding tools like Cursor, Lovable, Replit, Windsurf, or Bolt but keep getting stuck — it’s not you, it’s the missing step you skipped. This course gives you that step.
If you’re a future programmer, you face the same problem: you start a coding course and feel lost in jargon, constantly pausing videos to Google terms, wondering if you’ve skipped some secret “beginner’s handbook.”
This course is that handbook.
This course fixes that. It’s not a coding course — it’s a pre-coding foundation designed for:
Vibe coders who want to use AI and creative coding tools more effectively.
Future programmers who want to start coding without hitting confusing gaps.
What You’ll Learn
The different types of programs you can create — from web apps and automation to creative AI-assisted projects.
How to navigate the terminal/command line like a pro.
The difference between code editors and IDEs, and how to choose the right one for your workflow.
How files like CSV, JSON, and XML fit into real-world coding and AI projects.
The basics of relational and NoSQL databases.
How Git and GitHub help track your work and collaborate with others.
The core concepts of programming (variables, data types, loops, functions) from a conceptual perspective.
How to break down problems and plan solutions logically — before you code.
What web servers, APIs, and deployment mean in both programming and vibe coding contexts.
How to pick your first programming language and start building a portfolio or creative project library.
Who This Course Is For
Vibe coders who want to make the most of AI-assisted coding tools.
Aspiring programmers who want a solid start before diving into code.
Anyone who has started coding but feels confused by unfamiliar terms and workflows.
By the end, you’ll understand the landscape of programming and creative coding, know how real developers work, and feel fully prepared to start your first coding language or AI-assisted project.