A while ago, I mentioned I would keep myself accountable my documenting my experiences self-studying coding. Obviously that went amazing. I enrolled in a Harvard CS50 course at the beginning of 2022 and didn’t even submit a single assignment. I did watch a few lectures, not that redeems me whatsoever, but it can be incredibly hard to keep yourself disciplined especially when you have full-time work and sometimes just lack any motivation to do anything.
I can gladly say that I finally was able to submit my first assignment and I had a lot of fun doing it.
The first week of the CS50 course, you are given an assignment on Scratch. We’re not at the big leagues yet learning Python or C++. However, Scratch is still a programming language and it should be easy to use given that it is targeted towards kids.
I found Scratch to be such a fantastic educational tool for the basics of coding. You create scripts just like you would in any other programming language but in a block-like interface. I found that it made me think really logically and methodically breaking down what exactly I wanted a characters to do and the steps I would need to do to achieve that.
Moving a character left or right
When we play games, we press the left arrow key to move our character to the left. How can we make sure that our character moves to the left? By making sure that our character moves along the x axis to the left. We can code this by moving in a negative direction (i.e. moving by -10).
The code would be stopped if the left arrow key is no longer pressed.
The biggest takeaway I got this week (or dare I say the last 40 weeks or so where I didn’t do anything) is that you need to manage your expectations with this course, learning coding or even a new skill. Things don’t click straight away and you have to remember at the day this is a Harvard course taught at Harvard University meaning that the pace and amount taught in one lesson can be a bit overwhelming especially for someone like myself who has very little coding knowledge.
I find that I often struggle with task paralysis. This means that sometimes the task I’m doing overwhelms me so much I just don’t do it at all which can be very debilitating as I would struggle to make progress on a project such as this course.
The best thing I’ve found is to set small goals for the week and work in small intentional chunks. I’ll get a lot more out of it if I do a small sub-task in 20 minutes than try tackle a problem set for an hour. I often find that working small periods at the time leads you to more progress as you feel like you’re able to work through the challenge and have an aim in mine.
Lastly, have fun with it. I enjoyed this project because I really liked my concept and had a lot of fun putting it together to create the vision I wanted. I think it’s important to put things in perspective and ask ourselves why we’ve decided this? Whether it is to upskill to transition to a career in computer science/tech or just to learn a new hobby, have an intention in mind and refer back to that intention whenever you feel lost in your journey.
You can play the game I created on Scratch here. Yes, I designed it based on Pingu. I thought it was cute.