
By the tiswa editorial team, from the official sources listed at the end of this guide. How we write our guides
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 build | Start with | Then |
|---|---|---|
| Websites and web apps | HTML, CSS and JavaScript | React or a back-end framework |
| Data analysis and AI | Python | SQL and data libraries |
| Mobile apps | Swift for iPhone or Kotlin for Android, or Dart with Flutter for both | Ship a small app |
| Cybersecurity | Networking basics, Linux and Python | Cybersecurity programmes and bootcamps |
| Not sure | Python | Decide after your first two projects |

A 12-week plan
- 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.
- Weeks 3 and 4: functions and lists
Split code into functions and work with lists and dictionaries. Solve 5 small exercises a day.
- Weeks 5 and 6: first project
Build something that solves your own problem: a GPA calculator, an expense tracker or a study timetable builder.
- 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.
- 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.
- 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.

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:
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:
| Project | Language | What it teaches |
|---|---|---|
| GPA calculator | Python | Variables, loops, lists |
| Personal page with your CV and projects | HTML and CSS | Page structure, styling, publishing |
| Monthly spending tracker | Python with a CSV file | Reading and saving files, sums |
| To-do list in the browser | JavaScript | Buttons, 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
- 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.
- 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.
- Explain the problem out loud
Many bugs show up while you explain what each line is supposed to do.
- 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.







