Blog

How to learn programming from scratch

Pick one language, learn the basics from free sources, build small projects, then aim for Tuwaiq Academy bootcamps.

In shortLearn to code from zero as a student: pick a goal first, a 12-week plan, free courses, Tuwaiq Academy, AI as a tutor, and beginner mistakes to avoid.

Part of the season guide: Summer

How to learn programming from scratch

How do you learn programming from scratch? Most beginners stall because they spend months hopping between languages and courses without building anything. What works is one goal, one language, an hour a day and a small project every two weeks. This guide gives you the plan, the free sources and the Saudi options, Satr and Tuwaiq Academy bootcamps.

Pick a goal before a language

You want to buildStart withThen
Websites and web appsHTML, CSS and JavaScriptReact or a back-end framework
Data analysis and AIPythonSQL and data libraries
Mobile appsSwift for iPhone or Kotlin for Android, or Dart with Flutter for bothShip a small app
CybersecurityNetworking basics, Linux and PythonCybersecurity programmes and bootcamps
Not surePythonDecide after your first two projects
Comparison card of the guide table

A 12-week plan

  1. Weeks 1 and 2: basics

    Variables, data types, conditions and loops. Type every example yourself, do not paste. Start with the official Python tutorial or the first CS50 lectures.

  2. Weeks 3 and 4: functions and lists

    Split code into functions and work with lists and dictionaries. Solve 5 small exercises a day.

  3. Weeks 5 and 6: first project

    Build something that solves your own problem: a GPA calculator, an expense tracker or a study timetable builder.

  4. Weeks 7 and 8: Git and GitHub

    Learn Git and push your project to GitHub. Claim the GitHub Student Developer Pack with your university email.

  5. Weeks 9 and 10: your path

    For the web, learn the basics on MDN. For data, learn SQL. For mobile, follow the language's official tutorials.

  6. Weeks 11 and 12: a bigger project

    Build something with several pages or files, and write a README that explains what it does and how to run it.

5-step flow: Weeks 1 and 2: basics / Weeks 3 and 4: functions and lists / Weeks 5 and 6: first project / Weeks 7 and 8: Git and GitHub / Weeks 9 and 1

Free sources

  • Harvard CS50: an introduction to computer science and programming for beginners, with lectures, problem sets and a final project.
  • The official Python tutorial: the language explained by its makers, step by step.
  • MDN: the core reference for learning HTML, CSS and JavaScript.
  • Satr from Tuwaiq Academy: Arabic tech tracks such as databases, game development and robotics, courses at beginner and intermediate level, and short how-tos such as using ListView.builder in Dart.
  • Courses with certificates from Doroob, Coursera and Google: see free courses with certificates.

Tuwaiq Academy: bootcamps and programmes

Tuwaiq Academy runs bootcamps and professional programmes with global partners, built around hands-on practice:

  • Bootcamps: built on job market needs, 1 to 9 months long, with professional certificates in many tech fields, ending in employment for top performers.
  • Programmes: professional programmes of 1 to 3 weeks that build specific technical skills.
  • The Holberton foundation track: a software engineering bootcamp.
  • Meetups: knowledge sessions with leading organisations on new technologies.

Each bootcamp and programme has its own registration window, target group and length. Follow the activities page on the academy site and have your projects on GitHub before registration opens.

Make AI your tutor, not your homework solver

An AI assistant speeds up learning when it explains and questions you, and ruins it when it writes your code. Use a prompt like this with Gemini or ChatGPT:

Programming tutor
You are a patient programming tutor and I am a beginner learning [Python]. Never write the full solution for me. When I send code with a bug: first ask me what I expected to happen, then give me one hint, and if I am still stuck, a clearer hint. Explain in simple English. Here is my code and the error I get: [paste code and error message].

Free tools for student programmers

With your university email you can get professional tools free: the GitHub Student Developer Pack includes GitHub Copilot and GitHub Pro, and JetBrains has a student pack with IDEs like IntelliJ IDEA and PyCharm.

  • GitHub: GitHub offers GitHub Student Developer Pack to university students in Saudi Arabia for free.
  • JetBrains: JetBrains offers JetBrains Student Pack to university students in Saudi Arabia for free.
  • Notion: Notion offers Notion Education plan for students to university students in Saudi Arabia for free.

First project: build something you need

What keeps a beginner going is seeing their program solve a real problem. Instead of repeating textbook exercises, pick a small project from university life and build it step by step after week four of the plan:

ProjectLanguageWhat it teaches
GPA calculatorPythonVariables, loops, lists
Personal page with your CV and projectsHTML and CSSPage structure, styling, publishing
Monthly spending trackerPython with a CSV fileReading and saving files, sums
To-do list in the browserJavaScriptButtons, events, saving data

When it works, put it on GitHub with two lines explaining what it does. That is the first item in your portfolio, and it belongs on your CV and LinkedIn profile.

When you get stuck on an error

  1. Read the whole error message

    The last line usually names the error type and the line number. Most beginners skip it, and it is half the answer.

  2. Go back to the last version that worked

    Change one thing at a time and run the program. Change five things at once and you will not know which one broke it.

  3. Explain the problem out loud

    Many bugs show up while you explain what each line is supposed to do.

  4. Then ask

    Ask AI why the error happens, not for a full solution, or ask in the course community. The GitHub Student Developer Pack has free tools that help.

Need a machine? See the best laptop for students.

How to know you are ready for the next step

Before you apply to a bootcamp or an internship, check yourself against this list. If you can do most of it without a tutorial, you are ready:

  • You can write a program of 100 lines or more from scratch without copying a tutorial.
  • You can read an error message, roughly locate the problem and look for the fix in the official docs.
  • You use Git: commit, create a branch and push to GitHub.
  • You have two projects on GitHub, each with a README that explains what it does and how to run it.
  • You can explain your project to someone in two minutes: the problem, the solution and the hardest part.

Then keep going with Satr's intermediate tracks, a certificate course that fits your goal, or a small contribution to an open source project on GitHub.

Beginner mistakes

  • Switching languages every two weeks. Stay with one until you have built two projects.
  • Watching tutorials without writing code. Every hour of watching needs two hours of typing.
  • Fearing error messages. Read them in full, they are your first hint.
  • Putting off GitHub. Push every project, however small, because it is your CV as a programmer.

Questions

What programming language should I learn first?

With no specific goal, Python. For websites, HTML, CSS and JavaScript. For iPhone apps, Swift.

How long does it take to learn programming from scratch?

At an hour a day, you can build a first simple project in about six weeks. Getting job-ready takes a year or more of steady practice.

Can I learn programming without a computer science major?

Yes. CS50, Satr and the official Python tutorial are made for beginners, and many programmers come from other majors.

What are Tuwaiq bootcamps?

Tuwaiq Academy bootcamps are built on job market needs, run 1 to 9 months with professional certificates, and end in employment for top performers.

Should I use AI while learning to code?

Yes, as a tutor that explains and gives hints. Do not let it write the full solution, or you will not learn.

Sources

  1. tuwaiq.edu.sa: tuwaiq.edu.sa
  2. satr.tuwaiq.edu.sa: satr.tuwaiq.edu.sa
  3. cs50.harvard.edu: cs50.harvard.edu/x
  4. docs.python.org: docs.python.org/3/tutorial
  5. developer.mozilla.org: developer.mozilla.org/en-US/docs/Learn_web_development
  6. education.github.com: education.github.com/pack

Hear when tiswa opens.

Join the free waitlist. We notify you at launch; then verify as a student and access the deals under their terms.

  • Free for good
  • No card
  • Takes a minute
Join the waitlist

More articles