Guides

Resources and guides I've created to help others on their coding journey. I hope you find them useful!


Getting Started with CS50

Beginner's Guide

My journey into computer science began with Harvard's CS50: Introduction to Computer Science in early 2023. In fact, this very website was built as my CS50 Final Project. That foundation launched me into building production applications like Aqua Vitae, working with microservices architectures in PeerPrep, and developing full-stack MERN applications.

If you're starting your coding journey, I highly recommend CS50. It's an entry-level course taught by David J. Malan that teaches you how to think algorithmically and solve problems efficiently. Topics include abstraction, algorithms, data structures, encapsulation, resource management, security, software engineering, and web development. Languages include C, Python, SQL, and JavaScript plus CSS and HTML.

The course was challenging at first—the jump from lectures to problem sets is significant—but documentation, AI tools, and online communities become your best resources. Don't give up! By week 5, programming will start to feel natural. From there, you can build real projects and continue growing your skills, just like I did.

View CS50 Course →

Local Development & Git/GitHub Setup

Developer Tools Guide

Throughout CS50, students code in Codespaces—a virtual machine with everything pre-configured. While great for beginners, I highly encourage developing your final project locally on your own machine. It offers a truly rich learning experience.

Learning Git and GitHub is essential for any developer. Git tracks your code changes locally (version control), while GitHub hosts your code online for backup, sharing, and collaboration.

I've created comprehensive GitHub repositories covering everything you need: installing Windows Subsystem for Linux (WSL), setting up Ubuntu, using package managers, installing VS Code extensions, developing CS50 projects locally, and creating your first GitHub repository.

I personally spent a lot of time learning local development and Git/GitHub. I hope these guides flatten the learning curve for these topics, which can seem daunting for new programmers—but they're more approachable than they first appear!