Software, start to finish
From what software even is to designing real systems. Every lesson is a small machine you can step through, then a short quiz. No experience needed.
What software is
What a program is, how a computer runs one, what the operating system does and how everything becomes bits.
First steps in code
Writing instructions a computer can follow: values, decisions, repetition and reusable pieces.
-
الدرس 05 · 9 دقيقة
What code is: source, interpreters and compilers
9 خطواتلم يبدأ -
الدرس 06 · 9 دقيقة
Variables and types
8 خطوات0/2 تمارينلم يبدأ -
الدرس 07 · 10 دقيقة
Making decisions: if and else
10 خطواتلم يبدأ -
الدرس 08 · 10 دقيقة
Loops: doing things again
10 خطواتلم يبدأ -
الدرس 09 · 10 دقيقة
Functions: reusable steps
10 خطواتلم يبدأ -
الدرس 10 · 10 دقيقة
Debugging: finding what went wrong
10 خطواتلم يبدأ
Data structures
Ways to organise data so programs can find and change it quickly.
-
الدرس 11 · 11 دقيقة
Arrays and lists
10 خطواتلم يبدأ -
الدرس 12 · 10 دقيقة
Strings: text in memory
9 خطواتلم يبدأ -
الدرس 13 · 11 دقيقة
Hash maps: finding things by key
10 خطواتلم يبدأ -
الدرس 14 · 9 دقيقة
Stacks and queues
10 خطواتلم يبدأ -
الدرس 15 · 10 دقيقة
Trees
10 خطواتلم يبدأ -
الدرس 16 · 10 دقيقة
Graphs
11 خطواتلم يبدأ
Algorithms
Step-by-step methods for solving problems, and how to tell which ones are fast.
-
الدرس 17 · 11 دقيقة
How fast is fast? Big O
11 خطواتلم يبدأ -
الدرس 18 · 10 دقيقة
Searching: linear and binary
10 خطواتلم يبدأ -
الدرس 19 · 11 دقيقة
Sorting
10 خطواتلم يبدأ -
الدرس 20 · 10 دقيقة
Recursion
12 خطواتلم يبدأ -
الدرس 21 · 12 دقيقة
Graph search: BFS and DFS
12 خطواتلم يبدأ -
الدرس 22 · 12 دقيقة
Dynamic programming
12 خطواتلم يبدأ
How programs really run
What happens under the hood: memory, translation, cleanup and doing many things at once.
-
الدرس 23 · 11 دقيقة
The stack and the heap
9 خطواتلم يبدأ -
الدرس 24 · 12 دقيقة
Compilers and interpreters up close
10 خطواتلم يبدأ -
الدرس 25 · 11 دقيقة
Garbage collection
12 خطواتلم يبدأ -
الدرس 26 · 12 دقيقة
Threads and concurrency
12 خطواتلم يبدأ -
الدرس 27 · 11 دقيقة
Async code and the event loop
10 خطواتلم يبدأ
Designing code
Organising code so people can understand, change and reuse it.
Tools of the trade
The everyday tools engineers use to write, share, test and ship code.
-
الدرس 33 · 12 دقيقة
The command line
12 خطواتلم يبدأ -
الدرس 34 · 10 دقيقة
Git: saving history
10 خطواتلم يبدأ -
الدرس 35 · 12 دقيقة
Branching and merging
12 خطواتلم يبدأ -
الدرس 36 · 10 دقيقة
Package managers and dependencies
10 خطواتلم يبدأ -
الدرس 37 · 10 دقيقة
Unit testing
12 خطواتلم يبدأ -
الدرس 38 · 10 دقيقة
Continuous integration
10 خطواتلم يبدأ
Web and backend
How web apps are built: servers, APIs, databases and logins.
Building systems
Making software fast, reliable, secure and easy to deploy at scale.
-
الدرس 44 · 12 دقيقة
Caching
10 خطواتلم يبدأ -
الدرس 45 · 12 دقيقة
Message queues
10 خطواتلم يبدأ -
الدرس 46 · 12 دقيقة
Scaling out
10 خطواتلم يبدأ -
الدرس 47 · 12 دقيقة
Reliability and observability
11 خطواتلم يبدأ -
الدرس 48 · 14 دقيقة
Secure coding: the common mistakes and their fixes
11 خطواتلم يبدأ -
الدرس 49 · 12 دقيقة
Containers and deployment
12 خطواتلم يبدأ
Engineering practice
How software engineers turn ideas into working systems, together.
Special topics
Stand-alone deep dives. Take them any time after the module they build on.
-
الدرس S1 · 12 دقيقة
Regular expressions
يعتمد على Data structures
10 خطواتلم يبدأ -
الدرس S2 · 12 دقيقة
How machine learning works
يعتمد على Algorithms
10 خطواتلم يبدأ -
الدرس S3 · 10 دقيقة
How mobile apps work
يعتمد على Web and backend
12 خطواتلم يبدأ -
الدرس S4 · 10 دقيقة
Game loops and frames
يعتمد على How programs really run
11 خطواتلم يبدأ -
الدرس S5 · 14 دقيقة
Inside a compiler
يعتمد على How programs really run
10 خطواتلم يبدأ