PNL Learn
PNL Learn

Learn to code like an engineer, not a tourist.

Short lessons, real Python in your browser and instant feedback. Follow a program from your first line of code to tested projects and a certificate an employer can verify.

  • Real Python, run in your browser
  • Ten exercise formats, not just quizzes
  • XP, levels and streaks that respect your time
  • 37courses
  • 248lessons
  • 2732exercises
  • 2live programs

Log in

Pick up right where you left off.

main.py
1# Greet each person on the list
2def greet(name):
3 return f"Hello, {name}!"
4
5people = ["Ada", "Linus", "Grace"]
6for person in people:
7 print(greet(person))
8
Output3 of 3 tests passed
Hello, Ada!
Hello, Linus!
Hello, Grace!

Programs

Pick a destination, not a pile of tutorials

A program chains courses in the order a working developer would learn them, from your first line of Python to capstone projects you can show.

See all courses

In the works: Frontend Developer, Web Design and Data Analyst. Courses you finish now carry over.

How it works

You learn by writing code, not by watching it

Every lesson is a few minutes of reading and a run of exercises you solve yourself.

ten exercise formats, not just quizzes

Mixing formats trains different skills: writing, reading, debugging and recall.

  • Code exercise
  • Fix the bug
  • Predict the output
  • Multiple choice
  • Fill in the blank
  • Reorder lines
  • Spot the bug
  • Type the answer
  • Select all that apply
  • Match the pairs

Try it now

Run some Python right here

No account, no install. Change a name or a score, add a line, then press Run.

  • This is the same editor and Python runtime the lessons use.
  • It runs entirely in your browser. Nothing is sent to a server.
  • Break it on purpose: errors show the line and a readable message.
main.py
1# Edit anything, then press Run.
2scores = {"Ada": 92, "Linus": 78, "Grace": 85}
3
4ranked = sorted(scores.items(), key=lambda kv: kv[1], reverse=True)
5for name, score in ranked:
6 bar = "#" * (score // 10)
7 print(f"{name:<6} {score:>3} {bar}")
8
9average = sum(scores.values()) / len(scores)
10print("Average:", round(average, 1))
11
OutputReady
Press Run to execute this code in your browser.

Proof of skill

Leave with something you can show an employer

Finishing a course is a start. PNL Learn also gives you evidence someone else can check.

Open Badges 3.0

A certificate anyone can check

Finish a program and you get a certificate with its own public page, plus a signed credential anyone can check. It follows the Open Badges 3.0 standard, so an employer can verify it with any Open Badges verifier instead of taking our word for it.

Real repositories

Capstone projects on your GitHub

Each program ends with capstone projects: complete, tested codebases you build yourself. Publish one to your own GitHub account in one click, with a working test suite that runs on every push.

PCEP, PCAP, CS2023

Aligned to recognized standards

Every course is aligned to recognized references: the Python Institute PCEP and PCAP exam syllabi and the ACM CS2023 computer science curriculum. Each course lists the objectives it covers.

Proto Node Labs is not affiliated with or endorsed by the Python Institute or ACM.

Questions

Before you sign up

Is it free to start?

Yes. Create a free account and start the first course right away.

Do I need to install anything?

No. Python runs in your browser, inside the lesson. You need a modern browser and nothing else, on a laptop or a phone.

What do I get at the end?

Finish a program and you get a certificate with a public page and a signed Open Badges 3.0 credential anyone can check, plus capstone projects you can publish to your own GitHub.

I already know some Python. Do I have to start from zero?

No. Any course you have not started has a placement test: 10 questions, including code you write and run. Pass with 80% and every code question solved, and the course is credited toward your program, so you start where you actually are.

What is live today?

37 courses with 248 lessons and 2732 exercises, across the Python Developer and Backend Developer programs. New courses are added as they are finished; nothing is listed as live until every exercise in it has been run and checked.

Write your first line of Python in the next five minutes.

37 courses are live and waiting. Create a free account and pick up the first lesson.