My journey with coding so far:

I started coding during the summer in 2021 to prepare for the Cs50 course I was taking for my DofE skill. During the summer I learned the basic building blocks of programming (conditionals, loops, basic data structures…) in Python. After the summer, thanks to Harvard's CS50 course I learnt what happens underneath the hood, (how binary works, how ASCII works…) during the course, I also familiarised myself with such languages as C, SQL, JavaScript, HTML and CSS. After the course my progress slowed as school work started to pile up but I still managed to learn more about OOP (Object Oriented Programming) by working with classes and functions. During the summer holiday of 2022, I improved in Python by learning more about: handling exceptions, the Python standard library, the Python Package Index, web scrapping, working with pdf/exel/cvs/zip/json/sql, Django and Machine Learning. Then, I learned how to make websites with HTML and CSS which is how I made this very website. This brings us to the present day where I am trying to sharpen my JavaScript skills.

My tips for coding:

How I would start again
If I am being honest if I were to start again, I wouldn't change a thing. I believe that it's important to start with a high level language like python where countless things are automated as to not be discouraged by the complexity of the language. I also think that after having learnt the fundamentals of programming, you must gain a deeper understanding of what is going on underneath the hood in order to write more efficient programs and to better understand your errors and how to fix them. For example, I was having a lot of trouble with pointers, early on in my program I would write something like this: var_solution = var_finder, then I would continue using "var_finder" and changing its value causing var_solution to change. I only understood the problem when I learnt about pointers. To recapitulate, I would recommend starting with a high level language as to not get discouraged then learning a lower language like C to understand how the computer actually functions.
Where to learn
I've tried to learn code in many different ways and I must admit learning online is the best way. Now in respects to who you should learn from, I would recommend Mosh Hammadani. He makes high quality courses but also leaves a preview of his courses on youtube, if you are looking to learn a language he is your best option. If you want to learn more about how computers operate, I would recommend Harvard's CS50 course (lectures 0-5). They do take a lot of time to watch but I would still recommend it, David Malan's passion for computer science is infectious, he is a great teacher and Harvard has a lot of props to help you visualise the concepts. I wouldn't recommend lectures six to ten because you practically learn one new language per lecture which is pointless, you should learn one language in depth then if you need to you can learn other languages. The concepts are what you need to learn, if you want to learn a new language all you will need to do is memorize some new syntax.
Good coding projects
  • Number guesser game
  • phonebook
  • scrabble word finder
  • pseudo random number generator
  • web scrapper
To find more problems, go to edabit, it's a website where they give you coding problems and check your solution