Learning is a war on attrition. Since your knowledge is unstable, you have to spend time recouping what you forgot for every day you skipped programming. Get consistent. Most people program a few days of the week. Try doing at least an hour a day.
You: An hour a day?!? Me: Well, if you make it a career, you’ll be programming 8 hours a day at work. Poo poo I know.
Here’s four tips:
Find a metric. I said code an hour a day, but it can be anything. Change five lines of code. Start a new problem. The point is to start coding.
Anchor the habit. Attach programming to something you do consistently. My classes are after work. Some students code during lunch, after the gym, whatever. This is a solid way to create a new habit.
Moving backwards. A lot of people get stuck and take the day off. If this happens, work on an old problem. You’d be surprised how beneficial old problems are.
Make it personal. One of the gifts of programming is we can create real stuff. This means you can create something you use everyday.
Here’s some projects I give my students.
I segmented each project into iterative versions.
Gratitude journal. Write three things you're grateful for everyday. The psychological benefits are enormous.
Create a barebones journal that saves a line of text.
Add feature to save multiple entries. So instead of one line of text, save multiple lines. Display all these entries on the page.
Add feature to mark some entries “important”.
Be able to search through journal entries
To do list.
Store a single task
Store multiple tasks
Mark tasks complete/incomplete
Separate completed and incomplete tasks into two different lists.
Add description to each task
Add priority ranking for each task
Pushup or weight tracker
Save one pushup day.
Save multiple pushup days
Play with some chart visualizer.
Visualize your progress on pushups.
These ideas don’t need to be great, they need to be something you can use on a daily basis. This way you can evolve them with better ideas over time.
Drama for your mama:
My last post infuriated people. A moderator even got so upset he went through my history and threatened to ban me for an unrelated post. I like this board. I don’t want to be banned. Plus, all of this distracts from our goal of programming.
As a compromise, I will write my posts on my profile and crosspost the more acceptable ideas. This gives me the freedom to write and people the choice to listen. It’s your choice to subscribe. Here’s my first post, How self learners get it wrong.
Easter egg: I've changed my mind on not posting here anymore. I was going to remove it so I didn't feel hypocritical, but I figured I'm going to stay something hypocritical in the future anyways, so why not start now.