6 min read

Days 31-35: Code with Benny

πŸ‘‰
Welcome to Days 31-35 of my 100 days of coding challenge! Glad you're here πŸ™‚

Check out my last two posts: Days 21-25, Days 26-30

If you're curious what this is all about: Introduction to Code with Benny.

Follow me on twitter! All of these daily logs are posted there in short-form πŸ™‚

What I've done so far:

This week, I'm in πŸ“Cambodia! Between coding and marathon training, I'm filling my time with exploring temples (Angkor Wat!), celebrating Cambodian New Year, and more.

πŸ’‘
Check out my Notion Learnings Database for details on what I'm learning. I log all my notes there - daily!

Day 31 (April 13th, 2023)

What I covered/did

Bit of a planning day - small amount of coding as well.

  • Jumped ahead and did some studying on Docker
  • Reviewed and revised my learning plan to more closely match my goals. See below for some thoughts on this!

Resources I used

Thoughts

Up next on my list is to select from the following:

This would wrap up "Phase 1" of my roadmap. May revise over the next week or so further.

Day 32

What I covered/did

Started Harvard's CS50 (Intro to CompSci) - finished 60% of Week 0 lecture.

  • Learned about Github's codespaces feature, and Harvard CS50's browser-based implementation of it
  • Learned about O notation for algorithm speed
  • Practice pseudocoding (helpful concept - writing code without knowing syntax yet)
  • Small intro to Scratch (visual programming language developed by MIT)

Resources I used

Thoughts

It was nice to get a formalized introduction to programming as a whole. I don't think I learned much new information in the Week 0 lecture so far, but I imagine going through a more formal course structure (or at least, one that feels like the start of a university degree) could have some usefulness when it comes to zooming out later on and being able to see the full picture of how and why I'm writing the code that I will be writing.

Going forward though, I'll move more quickly through this course than I did today. My plan is to read through any new information in the course notes for each lecture, and for any parts that don't totally make sense, I will watch the part of the video lecture that corresponds to it. I think the course notes do a good job of just capturing what is needed, and none of the extra fun fluff that the CS50 presenter adds, but that I don't necessarily need to be spending my time watching.

Today was a hectic day of travel for me to Cambodia, but I've managed to squeeze some coding in! Now for some fun celebrating Khmer New Year here in Siem Reap 😊

Day 33

What I covered/did

Breezed through the rest of Week 0, and half of Week 1 of Harvard's CS50 course. Mostly focused on understanding the syntax for the coding fundamentals I have learned already in Python. I learned how to do the following in C:

  • C file creation, compiling, and running terminal functions
  • Variables, conditionals, and loops in C
  • Common Linux terminal commands

Resources I used

Thoughts

I'm really enjoying this course. Harvard has, as expected, done a phenomenal job at creating engaging, professional content that can be consumed in many ways to fit different learning styles. Like I mentioned in yesterday's thoughts, I'm just going through the lecture notes and referring to the video when I want a more thorough explanation.

I did notice that the notes don't cover everything mentioned in the video (such as interesting tidbits as to why importing libraries, especially common ones, is even necessary... it's because back when computing power and memory was much more limited, computer scientists tried to only use functions that they needed to save on space). As a result, I know I'll miss some of the computer science backstory/cultural items that might be interesting to know, but I'm pretty satisfied with the notes already. I think they are sufficiently covering the holes in my computer science knowledge already.

Day 34

What I covered/did

Finished Week 1 of Harvard's CS50! Learned:

  • Nested loops (review for me)
  • Const keyword
  • Do While loops
  • Comment notation in C
  • Comments
  • Abstraction
  • Operations
  • Truncation/type casting

Resources I used

Thoughts

Not too many thoughts here - starting to crave regularity again and being in one place to focus on my coding journey. Always want what you don't have 😊

Day 35

What I covered/did

Read through parts of Harvard's CS50 Week 1 Lab, Problem Set, and Practice Problems. Also: 50% of Week 2 lecture!

  • Practice testing code to cover edge cases
  • Understanding exactly what the compiler is doing (preprocessing, compiling, assembling, linking libraries)
  • Debugging in further detail
  • Scoping for variables in C

Resources I used

Thoughts

I found reading through the problem sets and lectures in CS50's Week 1 a bit challenging, and noticed they were sometimes introducing new concepts that I would miss in the lectures otherwise. I think it's worth solving through these sets, at least a few here and there.

Not too much else to say here. Going to do my best to balance this with travel, but given the breadth of content in CS50 is much wider than that of the Replit Python course, I will likely go through this course a bit slower than I originally anticipated. Will keep you posted!

Now, if you made it this far, here is a quick compilation of some pictures from Thai and Cambodian New Year 😊 Most of what I got is in video form unfortunately (to be included in future YouTube videos).

Such a vibrant and energetic festival. Has been really special getting to be a part of it.

πŸ’‘
Don't forget to follow me on twitter - all of these daily logs are posted there in short-form πŸ™‚
Angkor Wat Rainbow Bridge
Angkor Wat again :)
Angkor Wat lit up on Cambodian New Year

Thanks for reading. 65 days left. Onwards 😊

πŸ’‘
Don't forget to follow me on twitter - all of these daily logs are posted there in short-form πŸ™‚