Project-based Learning

Project-based Learning

What is continuous learning?

It's more than just a buzzword. Reading documentation, studying books and papers, and discussing ideas with colleagues and friends can all help expand our understanding of new concepts or technologies. For me, actually doing or building something is critical to real understanding of how things work. More importantly, I learn what doesn't work. This sort of grounded understanding comes from a chaotic and messy process. I make mistakes. I hit blockers/friction. I stare at the screen and try to understand what went wrong or why it didn't work. Worse yet, I stare at the screen and try to understand why it did work.

This is the learning process.

Tangible goals

For this project, I set a few simple goals:

  • Incorporate an external API
  • Use Python for code development
  • Use the Pandas library for data analysis
  • Use Plotly Graph to render data in a visual and engaging way

These are all skills that are adjacent to my current skills. Before starting this project, I didn't really know how to do any of them. What I did understand was how to research, how to try things out, and how to keep trying when the first (second, third...) attempt failed.

For example, while I initially imagined fetching data from the external API endpoint as part of the original render, this was a slow process that involved paginated requests. Since the data don't change often, I refactored the code to run data queries through a separate component that dumps the results into json files. When those files returned too many responses, I added another component to remove duplicate entries.

Expanding the foothold

Now that the application has basic functionality, I have options. Do I continue to build functionality to make a useful and meaningful application? Do I focus on features that will challenge my technical growth? Do I switch to other applications that are better suited to learning new languages and libraries? This is where practical application is ideal for continuous learning. Each new skill opens paths to continue developing breadth and depth.

What new skills are you trying to learn? What projects will challenge you to learn them?

Repo

To view or add a comment, sign in

More articles by Christopher Aument

  • 100% Test Coverage

    It's not about the destination, it's about the journey. I'm not a fan of testing.

    3 Comments
  • Persistent Data in .rb

    I was hesitant to develop this feature. Fundamentally, a player should be able to save a beloved game, perhaps juggle a…

    2 Comments
  • Procedural generation in Ruby

    For a first foray into project development in Ruby, Tammy Tran and Ira Holmes worked with me to develop a text-based…

    3 Comments

Others also viewed

Explore content categories