Got into the Stanford Code in Place 2025 program

Spread the love

Here’s what I’ve learned so far…

I’m writing this piece to practically delve deeper into what I’m learning at this moment in time. Since Stanford’s Code in Place program is offered for free and is accessible to everyone — at least most of it, I think — maybe I can talk about what I’m learning publicly. I’m writing this not as a tech blogger or coding expert but simply as someone learning in public. I recently joined Stanford’s Code in Place program, a free, beginner-friendly programming course that thousands of people take around the world.

Here’s a little about the program:

“Code in Place (CIP) is a beginner-friendly programming course offered by Stanford University, based on its widely popular CS106A class. It’s completely free and open to anyone above the age of 16, no matter their background or coding prowess.”

Well, that’s what you get when you search for Code in Place. I appreciated that it required no prior coding experience to join the program. Just resolute perseverance towards finishing the material of the course. It drew me in and made me want to apply to be a part of the program.

coding environment for beginners

Why I Chose to Learn to Code

I’ve spent the last few years creating digital systems in Notion — minimalist templates to help people plan better, breathe easier, and reclaim some structure and sense of self in a noisy world. Designing those systems felt intuitive. Healing, even. But as my ideas grew, I began to wonder: What if I could build the logic behind the systems, too? I wanted to go beyond the no-code platforms because working on Notion systems ignited a fire to explore more backend development. I always felt something was missing in my no-code journey while building systems in Notion. I wanted more.

That’s where Code in Place came in. It felt low-pressure but meaningful. I wasn’t trying to become a software engineer overnight — I just wanted to understand what lies behind the interface. I wanted to build tools to support my systems, not just templates. To understand how things work, and maybe someday, shape how they work for others too.

Now that I’ve gotten the introductory part out of the way, I’ll talk about what I’ve learned in the past two weeks of joining the program.

Week One: Enter Karel the Robot

Meeting Karel was the starting point of my journey.

What is Karel the Robot?

Karel the Robot is an educational programming language and robot simulation designed to introduce beginners to programming concepts. Stanford University uses this simulation to teach complex and intricate topics to people with little to no coding experience.

If you haven’t heard of Karel, think of a simple robot that lives in a grid world. You write commands that help Karel move, turn, place “beepers,” and solve puzzles. The interface is visual and kind of charming — and honestly, it felt like playing a puzzle game, which I loved.

But Karel also taught me my first real programming concepts: commandsfunctionsconditionalsloops, and the importance of telling the computer exactly what you want. Computers are logical, not intuitive — and that’s both the challenge and the beauty of it.

In the first week, I explored the world of Karel through a series of logic games. The teaching environment is somewhat gamified — and I, as a person, tend to enjoy gamification.

Watching Karel the Robot move across my screen, picking up and putting down beepers, brought me intense joy and a strange sense of satisfaction. It felt rewarding to see Karel navigate tough challenges in their little world.

These logic games pushed me to apply myself rigorously. I felt intellectually stimulated while learning about conditionals, for/while loops, and the dangers of letting Karel run into an infinite loop.

I also attended my first section, but unfortunately, it left much to be desired. Still, I learned what a ‘command’ is and why it’s needed.

Through working on the assignments in the Code in Place 2025 program, I learnt that it is teaching me how to figure things out for myself. I’ve tried my best to participate in sections to deepen my understanding of the material — so that maybe, one day, I could teach others. Another reason I wanted to show up in section classes and answer the section leader’s questions was to encourage my classmates to participate too.

I had hoped for more of a peer-learning vibe, similar to what I experience in my Korean classes — something I truly enjoy and look forward to in any learning environment.

So far, my classmates have seemed a bit reserved and less inclined to communicate.

I suppose that’s part of the nature of online learning. Maybe things will improve by the end of the term. For now, I’m genuinely enjoying learning and immersing myself in the world of coding through this program.

What’s Surprised Me So Far

I thought coding would feel dry. Abstract. But so far, it’s felt almost… meditative. Like untangling a thread in your brain. You try one path, then another. You run into a wall. You breathe. You try again.

Some lessons I didn’t expect:

  • Mistakes are part of the process. Not a sign that you’re not cut out for it.
  • Simplicity wins. Often, I’d write overly complex solutions. But the best code is often the cleanest one.
  • You don’t have to know everything to start. You learn by doing — not by waiting until you feel “ready.”

Week Two: Level Up with Karel

In the second week, I tackled more challenging assignments like “Hospital Karel” and “Beeper Path Karel.” It took me a while to figure out the correct way to approach them, but that’s part of the fun.

The “Steeple Chase” video taught me how to make Karel jump through obstacles, simplify code, and make it more accessible for other coders to understand. Those were two crucial lessons for me this week.

But I also saw myself getting faster at spotting patterns. I was debugging smarter, not harder. And I was starting to enjoy the process, not just the reward at the end.

I also found “Spread the Beepers” particularly challenging — it took me around three hours to figure it out.

There’s one more insight I gained through these exercises:

There’s no need to overcomplicate code when there’s a simpler way to solve it.

I was needlessly using all the while/if/for loops when, sometimes, it was as simple as: “Move till all the beepers are present.” That was a big lesson for me this week.

coding journey

My Favorite Concept So Far

The idea of decomposition. It’s the recommended way to take a bigger problem and break it down into smaller chunks. It was remarkable how big problems become manageable when you break them down into smaller, solvable steps.

It felt so familiar — like how I design Notion systems. You don’t build a planner all at once. You create a single view, then a toggle, then a database. Layer by layer. Logic by logic. It was affirming to see that mindset translate so naturally into programming.


Advice to Anyone Starting Out

If you’re a creative person learning to code — or you’ve ever told yourself you’re “not technical” — I want you to know this:

You can learn.

Slowly. Quietly. On your own terms.

Here’s what helped me:

  • Writing my thought process before coding. It’s called pseudocode, and it’s magic.
  • Giving myself permission to Google things. Everyone does it. Even pros.
  • Letting go of perfection. Your code doesn’t need to be beautiful — just functional.

And if you’re learning in a quiet class or online course? Try to be the first one to speak. You may inspire someone else to follow.


What Comes Next for Me

This isn’t the end — not even close.

I want to finish the Code in Place course, and then continue learning Python. Maybe JavaScript too. Maybe SQL too and try my hand at full-stack backend development. I want to eventually create custom widgets, automations, and integrations that blend what I know from Notion with what I’m learning in code.

I dream of building tools that feel human. The systems that help people breathe a little easier, create with more intention, and reclaim some calm in their digital lives.

Learning to code is no longer just about syntax or commands for me. It’s about making sense of systems — and shaping them to serve, not overwhelm. To help someone make sense of their world by educating them through the help of technology, bringing them into the ecosystem, not just leaving them out of it.

And maybe, someday, I’ll be able to teach someone else the way someone once taught me. At least that’s what I’m aspiring towards at the present moment.

I plan to keep learning and pushing myself through this program, and I hope to write more of these reflections. Writing down what I’ve learned helps me process the ideas better.

I guess we’re at the end of this program.

print("end()")

“If you were accepted into the program this year, feel free to say hello— I’d love to connect with you!

Okay, now we are down.

But only for now.

Leave a Comment

Your email address will not be published. Required fields are marked *