Class Notes


  1. What is your project? What are you doing?

My project is rewriting and designing ScratchDB, a system I created for analytics for a programming website by MIT. This system allows for searching users, projects, and posts, and also provides rankings for everything. I am working on designing a newer, faster version that replaces my currently nearly 2-3 year old design.

  1. What is your topic and thesis, or theme and message?

My theme is one of learning, this project uses multiple new technologies and programming languages I have never used, partially because they’re the best for the job, and also because learning new things would be helpful in a future career.

  1. who is your audience and purpose?

The audience of my project are developers or researchers looking into what Scratch has in terms of users and how popularity works on the site. Another audience is the users of Scratch, since my system allows them to easily see their placements and popularity, and what those around them do. It also provides tools to the site’s moderators to easily find older forum posts that may be relevant in some scenarios.

  1. What challenges?

The biggest challenge is finding time to learn and write. For a project of this scale, I can’t exactly just sit down for 25 minutes and write some code or do some designing, I need a period of a few hours to actually get work done, since I need to work through something all at once and test it, rather than write a small portion one piece at a time.

  1. what surprises?

How little time I have to work on it. Surprisingly, my other classes have picked up in their work load and I have lost most of my long periods of time to do work. Another surprise is how much technology has evolved already since I last did my project. Since then, a new programming language has taken the helm for server-side development and Redis now has their own searching system, replacing the decades-old ElasticSearch in some cases (and likely in my case)

  1. What stage are you in now?

I am currently starting to write the system. I’ve designed how I am going to structure the databases and communications between systems. Some design happens as I write, but the parts that determine the main “structure” are complete.

How does this help?

Programming isn’t often a presented topic, it tends to be the data from programming. So, this task really puts into perspective what I need to do for my project and my presentation. On its own, I have very little to show for a project, but when it comes to the process of learning, I have a decent amount of discussion. So likely, a portion of my presentation will be the “process of learning” for designing a program of this scale.


Leave a Reply

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