Self-learning is difficult and frankly, quite lonely. Here's how to make it easier.
I suggest that you Build To Learn
Hey,
Didn’t I disappear for a long time there?
Remember me? I am Nityesh and this is the Good Surfer newsletter.
Good Surfer is my attempt to bring to you the best of the Internet. I design it so you may find motivation, be well read and learn how to be a good surfer on the Web yourself!
Now, I ghosted you because I have been working on an endeavor to teach people.
Today, I would like to tell you more about the initiative.
I believe that we can democratize education even further than we have now, if we take a broader look and address the needs of those self-learners who need help with finding the motivation to learn in the first place.
That is why I have started an initiative - Build To Learn.
With Build To Learn, I consider it my duty to help students in not just learning the concepts, but also finding the motivation to learn them in the first place.
This is unlike most MOOCs and I belive this is what makes this a unique effort.
I believe that building stuff is a nice way to hack the motivation-problem and that all learning must be centered around doing some cool project.
I am channeling my efforts into these 3 things -
The website called buildtolearn.club that acts as the landing page of this initiative.
The Build To Learn newsletter where I tell you about new articles, project ideas, motivation and everything in between.
And an online community of people who want to build to learn, open to all.
Now, if you are intrigued, let me tell you about 3 articles that I have published towards this initiative.
Do you think these are cool? :)
Self-learning is difficult and frankly, quite lonely. Here’s how make it easier.
I believe that along with teaching themselves the concepts of the subject, self-learners also struggle with things that we take for granted in traditional means of education —
A sense of direction (guided by competition), a learning environment and a peer group.You should lose hope if you can't seem to learn using MOOCs. Not many people can teach themselves that way. In fact, a study of edX courses suggests that MOOCs haven't democratised education like you might think they have.
In this article, I talk about 3 systems that will help you learn X when your physical environment won’t —
Make serious efforts to fall in love with X before you try to learn it
Create and be in an environment that motivates you
Incentivize yourself to push through the nitty-gritties of learning X
Make serious, conscious efforts to find reasons to become obsessed with X. Remember that you can turn, what is perhaps the most negative aspect of social media — an addictive and infinitely scrollable feed — and use it to your advantage. Also remember that building something that seems cool and interesting is a great way to trick yourself into learning X with dedication.
Why you should dive deeper:
* To read my detailed descriptions on how and why you should implement the above systems
* This article has been well received on both Medium and Dev.to (my new favourite publishing platform) :D
*
Fantastic Programming Project ideas and Where to Find them (a beginner-friendly version)
If you are a developer, you have probably fallen into this routine before —
Read something on the Internet that made you realise the importance of doing practical projects -> Tried to find interesting project ideas -> Couldn’t find one that was suited for your skills -> Settled for doing an online course or worse, nothing at allYou are tired of those lists of programming projects ideas that suggest you to build things like a To-Do list app, a snake game, a calculator, an ecommerce website or something else that no one is going to find cool.
I believe that you can train your mind to get better ideas - anyone can think of good ideas. If you look at enough such projects and maybe work on a few, your mind will learn to recognise cool things that will be interesting to work on.
I have discovered 4 sources for getting good, unique, even cool project ideas — *
* Devpost.com
* Kaggle
* Data Is Plural newsletter
* And YOU yourself, with your "weird" cravingsThese are my 4 "goldmines" of project ideas that I discuss in the article linked above.
Why you should dive deeper:
* Working on projects allows you to build intuitions about making programming choices like how to modularise your code or the tradeoff between readable code and compact code.
* But the task of getting good project ideas is the one that prevents you from building projects in the first place.
* The article lists 20 Cool Programming Project Ideas, 5 from each of the four source mentioned above.
* Also, this article got even more popular than the previous one on Dev.to! :D
Advance your Python skills by building a Whatsapp Chat Analyser: a Guided Project
When you try to make something, you discover a hundred things that you don’t know. You discover things that you thought you knew but don’t really know. You trip over things that seemed so simple that you didn’t even pay attention to them. You fill the gaps in your learning.
But there are a few problems with using this approach to teach yourself:
It’s hard to be structured because you are both the student and the curriculum designer
You aren’t sure if you are too much out of your depth
You get lost trying to find resources to teach yourself
That is why I have created a guide for you that you can use as a roadmap to help yourself build something cool - a Whatsapp Chat Analyser - using Python!
I believe that if you follow this guide, you will advance you Python skills - you’ll learn about file handling, string operations, functions, modules, pip and 3rd party packages, RegEx and more such textbook skills.
But the guide is not a textbook. So along with them, you will also develop intuitions about good programming practices like:
* The importance of readability of your code and coding style
* When and how to break your code into functions
* How to go about debugging your code (when you want to bang your head against the wall, instead)
* How to look things up on the Internet - use Google, use StackOverflow, read documentation etc.
* Understand the need for different data structures and when to use whatWhy you should dive deeper:
* I have started a Slack channel for this project in the group Build To Learn. Here you will be able to find peers who are working on this same project. Feel free to join it!
* If you know the basics of programming like if-else, loops and how to write functions in some language (not necessarily Python), and want to learn Python - this guide is for you.
This is the most personal project I have ever undertaken. The methodology of building to learn is my own way of incentivising the learning. The problem of finding motivation is something me and my close friends have struggled (/struggle) with. And I’m hinging all my personal bets on it by going at it full-time.
It would really mean a lot to know what you think about any of the ideas that I presented above.
I plan to do more such detailed guides to help self-learners find motivation and learn programming soon. If you want to keep informed, you should subscribe to another newsletter that I have started - Build To Learn newsletter.
It would also mean a lot if you could help me in bringing this vision forward to as many students as possible. So, if you know someone who could be helped with Build To Learn, please forward this email to him/her.
Finally, if you liked this newsletter, please hit the hardly-visible heart icon below. It will help in improving the visibility of this newsletter on Substack - the platform that hosts Good Surfer :-)
Subscribe to Good Surfer newsletter to get occassional emails like this delivered to your inbox.