It's time for another update on my progress and challenges in my coding journey.
Sneak Peek: I've discovered a hidden (or not so hidden) gem—an amazing computer science curriculum from Open Source Society University. It's like a treasure map guiding us through a vast array of knowledge, handpicked from top institutions. Plus, there's a lively community on Discord where we can connect, ask questions, and support each other on this coding adventure.
So here's what I've been up to this week:
This week I’ve been going on quite a lot of coffee dates with friends & I love it <3.
MY PROGRESS THIS WEEK
1. Finished 5 projects in “Scientific Computing with Python” in FreeCodeCamp & got the Certificate
I don’t highly recommend this course, but it’s not a bad source to learn, either. However, if I could choose again, I would choose a different course now that I know which one to take. Continue reading to know more!
Reasons why I don’t recommend that course:
It is kinda boring
It doesn’t have real problems to solve until the Final Projects
Sometimes the instructor explains not really well, especially for beginners who don’t know anything yet
But if you already know some basic Python and you want to get the Certificate, go ahead and do the 5 Final Projects, which can be a good practice too.
2. Did 7 LeetCodes
I follow the roadmap that I put in the newsletter last week: Recommend Roadmap to Solve LeetCodes. Sometimes, when I want to practice more about a particular topic, I will search for similar problems to do.
Here's my approach to solving LeetCode problems:
First, I attempt to solve the problem on my own.
If I can't solve it after an hour, I look at the solutions posted by others and only read the guided thought part to continue thinking about the problem on my own.
If needed, I will use ChatGPT ONLY to help me with answering questions, NOT to solve the problem directly.
After solving the problem, I review solutions from other people to learn different effective approaches.
3. Overall this week
Time:
This week, I dedicated a total of 17 HOURS to learning computer science, including project work, courses, information searches…
Remember, the amount of time you spend should not solely determine your learning progress, but it can help measure effectiveness and boost motivation. I also came across a comment in Code In Place that stated success is not solely based on solving problems the fastest, but rather on investing more time in the process (I couldn't find the exact quote, unfortunately).
New knowledge:
This week, I didn't learn many new concepts, but I focused on practicing and applying what I already knew. This practice is crucial before diving into learning new skills.
CHALLENGES I ENCOUNTERED
1. Boring FreeCodeCamp Course
I found the latter half part of the FreeCodeCamp course somewhat dull. I tried listening attentively to the Networking lessons and repeatedly asked ChatGPT to explain the concepts in simpler terms because the instructor's explanations weren't clear enough. However, I still struggled to understand how to apply the knowledge practically.
As a result, I decided to skip all the lessons from the Networking part, except for the ones on Objects, which are essential for the Final Projects. Completing those lessons isn't necessary to finish the projects anyway.
2. Projects Requiring Additional Knowledge
The Final Projects in FreeCodeCamp occasionally demand knowledge that wasn't covered in the course. While these concepts aren't overly difficult or entirely unfamiliar, they still pose challenges.
I faced one project that took an exceptionally long time to solve a small part, making me frustrated. In such instances, it's essential to take a step back and engage in activities that boost dopamine.
For me, solving easier LeetCode problems serves that purpose, but you can also do non-computer science-related activities. Personally, I enjoy going to coffee shops with friends.
Pic: A cat I met when I went to coffee shop with a friend. The cat looks hilarious.
USE CHAT-GPT TO YOUR ADVANTAGE
ChatGPT has been an invaluable companion throughout my coding journey.
Here's how I utilize it:
When unsure how to approach a task, I ask ChatGPT to provide different ways to tackle it.
When encountering challenging concepts, I request an explanation using simple language, such as "Explain this to me like I'm 5." ChatGPT does an excellent job in those cases.
When I'm stuck and can't figure out what's wrong with my code, I turn to ChatGPT for assistance. Although it's not always successful in finding the issue, it's worth a try.
However, it's crucial to remember not to rely on ChatGPT to solve the entire problem. Instead, use it for specific questions to facilitate learning while avoiding frustration and demotivation.
A COMPLETE EDUCATION IN COMPUTER SCIENCE USING ONLINE MATERIALS
I wanted to dedicate a separate section to share an exciting resource I recently discovered: Open Source Society University. It offers a detailed curriculum that covers all aspects of computer science.
“It's not merely for career training or professional development. It's for those who want a proper, well-rounded grounding in concepts fundamental to all computing disciplines, and for those who have the discipline, will, and (most importantly!) good habits to obtain this education largely on their own, but with support from a worldwide community of fellow learners.
It is designed according to the degree requirements of undergraduate computer science majors… The courses themselves are among the very best in the world, often coming from Harvard, Princeton, MIT, etc...”
This resource is very helpful in guiding my learning journey. With so many different courses available, it provides clarity on what to study and in what order. Based on that curriculum, I intend to do this course next: How to Code: Simple Data.
Another fantastic aspect of this resource is the community it has established on Discord. You can ask questions about anything and receive support, particularly regarding the courses you're taking. It's an awesome opportunity to connect with fellow learners.
WHAT’S NEXT?
That's it for this edition of the coding newsletter! I'd love to hear from you. What topics excite you the most? Do you have any recommended resources or papers for my learning journey? Share your thoughts, experiences, and questions on anything I’ve discussed. Let's keep the conversation going and connect with each other.
Happy coding!
From Bytes of Growth.
Bài viết rất là hay ạ, giúp mình bớt rối trong việc học code ạ hehe cảm ơn bạn rất nhiều