Blog

Ryan Moscoe

Software Engineer | AI Prompt Engineer | Ninja

The Will Hunting Challenge: How I'm Beating the Tech Layoff Crisis with a Library Card

Oops! Something went wrong. Please try again later.

March 2, 2025

In the 1997 film Good Will Hunting, the titular character says, "You wasted $150,000 on an education you coulda got for $1.50 in late charges at the public library." I’ve had this quotation on my mind a lot lately. So I’ve decided to put it to the test.


The Challenge

I am calling this experiment The Will Hunting Challenge: an attempt to self-study the Massachusetts Institute of Technology (MIT) Computer Science curriculum using free and inexpensive resources. My goal? To deepen my knowledge, improve my skills, and advance my career in software engineering.


Why Take On This Challenge?

I'm a software engineer with an unconventional path. I hold a master's degree in leadership studies and a bachelor's in history, but my software engineering skills come from a coding boot camp rather than a traditional Computer Science (CS) degree program. While boot camps provide excellent practical training in modern tools and workflows, they often lack the theoretical depth of a university education—especially in areas like algorithms, system design, and architectural patterns. In today’s challenging job market, where AI disruption, mass layoffs, and offshoring have intensified competition, I want to shore up my foundation as much as possible.

At the same time, I have a unique advantage: 13 years of experience as a training specialist. With my background in adult learning theory, I understand how to create an effective learning experience. Simply reading textbooks isn’t enough; real learning happens through structured coursework, hands-on projects, and feedback. While traditional university students have access to professors and TAs, I plan to leverage AI tools to supplement my learning and provide feedback where possible.


Can You Really Get an MIT Education for Free?

TL;DR: no—you can’t fully replicate the experience of a top-tier university for free. Self-study lacks the direct access to professors, TAs, and peer discussions that are critical to deep learning. In fact, the whole premise of Peak, by Anders Ericsson and Robert Pool, is that developing expertise requires deliberate practice, which is characterized by guidance and feedback from an expert (Ericsson, A., & Pool, R. (2017). Peak: Secrets from the New Science of Expertise. Boston: Mariner Books). Additionally, textbooks are rarely available in public libraries, so even if you could learn the material just by reading the textbook, you couldn’t do it for $1.50 in late fees at the library; you would have to buy the book.

Will Hunting’s claim may not literally be true, but might it be true in spirit? MOOCs and resources like MIT OCW provide a far more structured and effective way to learn than simply reading books. Advances in AI allow self-learners to get immediate feedback on their work, and open-source communities provide avenues for discussion and collaboration.

Even if I end up spending a few hundred dollars on books, it’s still a fraction of the $150,000 Will Hunting cited as the cost of an MIT education in 1997, much less the $275,000 cost of an MIT degree today (calculated using costs provided by MIT). More importantly, I expect this challenge to provide significant value in terms of skill development and career growth.


The Plan

MIT’s Computer Science program is tied for the #1 ranking in the U.S. according to U.S. News & World Report, making it the perfect benchmark for this experiment. The fact that Good Will Hunting is set at MIT makes this endeavor all the more fitting.

In a bachelor’s degree program, only 1/3 of the credits come from courses within the major, with the rest coming from general education courses and electives. Since I already have a bachelor’s degree, I am focusing solely on the major coursework, not general education and electives. In effect, I am already 2/3 of the way to a CS degree.

Using MIT’s online course catalog, I charted a course through the Computer Science major, identifying required courses and requirements within the major that can be met with a variety of courses. In selecting courses to meet these requirements, I prioritized courses available on MIT OCW, reviewing syllabi, textbooks, and assignments to develop my roadmap:

  • 6.100L: Introduction to Computer Science and Programming in Python
  • 6.1010: Fundamentals of Programming
  • 6.1020: Software Construction
  • 6.1200J: Mathematics for Computer Science
  • 6.1210: Introduction to Algorithms
  • 6.1220J: Design and Analysis of Algorithms
  • 6.1800: Computer Systems Engineering
  • 6.1903: Introduction to Low-Level Programming in C and Assembly
  • 6.1910: Computation Structures
  • 6.4700: Introduction to Probability
  • 6.1040/6.170: Software Design/Software Studio
  • 6.1060/6.172: Software Performance Engineering/Performance Engineering of Software Systems
  • 6.5831/6.830: Database Systems
  • 6.5810/6.828: Operating System Engineering
  • 6.1600: Foundations of Computer Security

For each course, I will

  • Watch recorded lectures (if available)
  • Complete readings and textbook exercises
  • Work through quizzes and homework assignments
  • Use AI to provide feedback on exercises when direct submission isn’t possible
  • Add any significant projects to my portfolio


Follow My Journey

I will be documenting my progress, sharing insights, and publishing updates on what I’m learning. If you’re interested in following along, discussing computer science concepts, or even taking on a similar challenge yourself, let’s connect!

This is my #WillHuntingChallenge. How do you like them apples?

March 2, 2025

Oops! Something went wrong. Please try again later.