Back to Career

Programming Fundamentals Professor

Andrés Bello Catholic University

September 2023 - February 2024 Part-Time

I was responsible of equipping students with the foundational knowledge and skills necessary for success in software development and computer science.

Teaching Programming Fundamentals

The dream of teaching: Standing in front of a classroom, ready to change lives.
The dream of teaching: Standing in front of a classroom, ready to change lives.

I always wanted to teach. It was a dream of mine.

In 2023, my previous company closed and I got job offers from other companies. But those jobs wanted me to work full-time only for them, which meant I couldn’t teach.

I turned them down because I wanted to follow my dream of teaching. I started teaching at the university, excited to help students learn programming.

The Reality

Teaching was harder than I expected.

There was a lot of paperwork and meetings. I spent more time dealing with administrative tasks than I did planning my lessons.

I also found it hard to keep students interested. I tried to make engaging lectures and built video games and music players to show programming concepts. I used VS Code Live Share to make coding more interactive. But many students just wanted to pass the class, not really learn programming.

Finding a Solution

I thought maybe the problem was the tools students had to use.

The syllabus required students to use PSeInt, an old Windows-only program for writing pseudocode. It looked outdated, had bugs, and was frustrating to use.

So I built StepCode in my free time. I made a modern, web-based code editor using TypeScript and CodeMirror. It looked like VS Code with syntax highlighting, dark mode, and better error messages that explained what was wrong.

StepCode: A modern tool for a modern generation.
StepCode: A modern tool for a modern generation.

When I showed it to the class, students got more interested. Instead of struggling with confusing error messages, they could focus on learning how to write better code. Some students even stayed after class to show me what they built.

What I Learned

This experience taught me that I really love teaching, even though the university system has a lot of challenges.

I taught students more than just programming basics. I showed them that if the tools you have aren’t good enough, you can build better ones. And they taught me that even if most students aren’t interested, reaching even a few students makes it all worth it.

Proceso HelloWorld
    Escribir "Hello World";
FinProceso

You can explore the tools I built for this course:

StepCode Online Editor

StepCode Online Editor

An online code editor for StepCode, a pseudo-code language for teaching programming fundamentals.

stepcode.online
StepCode

StepCode

StepCode is a simple pseudo-code language designed for teaching programming fundamentals.

github.com
StepCode | Editor

StepCode | Editor

A web-based code editor for the StepCode pseudo-code language.

github.com