# Practice Programming

**URL:** <https://forum.beeminder.com/t/practice-programming/1402>\
**Category:** uncategorized\
**Created:** [December 16, 2012, 3:19pm UTC](https://forum.beeminder.com/t/practice-programming/1402 "2012-12-16T15:19:05Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![David\_John\_Wilson](https://avatars.discourse-cdn.com/v4/letter/d/ea666f/32.png) [@David\_John\_Wilson](https://forum.beeminder.com/u/David_John_Wilson)\
**Post date:** [December 16, 2012, 3:19pm UTC](https://forum.beeminder.com/t/practice-programming/1402/1 "2012-12-16T15:19:05Z")

</div>

I am just a third of my way through my first programming course at uni. To  
become a half decent programmer you need to do a lot of programming. So I  
am considering setting up a Beeminder goal to get me to do more of it. Does  
anyone have any suggestions about what I should track on a Beeminder  
programming practice goal? I was thinking quality lines of code or quality  
statements (please forgive me if I am not using the right terminology, I am  
very new to this game).

Any suggestions will be appreciated.

–David

---

<div class="post-metadata">

**Author:** ![Alex\_Strick\_van\_Lins](https://avatars.discourse-cdn.com/v4/letter/a/858c86/32.png) [@Alex\_Strick\_van\_Lins](https://forum.beeminder.com/u/Alex_Strick_van_Lins)\
**Post date:** [December 16, 2012, 3:21pm UTC](https://forum.beeminder.com/t/practice-programming/1402/2 "2012-12-16T15:21:21Z")

</div>

Would be very interested in what people suggest. Perhaps it could be in  
terms of specific tasks (a la deliberate practice –  
[A Better Way to Practice | Lifehacker](http://lifehacker.com/5939374/a-better-way-to-practice)) rather than just lines of  
code?

Alex

On 16 December 2012 20:19, David John Wilson [djwilsonmh@gmail.com](mailto:djwilsonmh@gmail.com) wrote:

> I am just a third of my way through my first programming course at uni. To  
> become a half decent programmer you need to do a lot of programming. So I  
> am considering setting up a Beeminder goal to get me to do more of it. Does  
> anyone have any suggestions about what I should track on a Beeminder  
> programming practice goal? I was thinking quality lines of code or quality  
> statements (please forgive me if I am not using the right terminology, I am  
> very new to this game).
> 
> Any suggestions will be appreciated.
> 
> –David

---

<div class="post-metadata">

**Author:** ![Willem\_Kerstholt](https://avatars.discourse-cdn.com/v4/letter/w/ecae2f/32.png) [@Willem\_Kerstholt](https://forum.beeminder.com/u/Willem_Kerstholt)\
**Post date:** [December 16, 2012, 3:26pm UTC](https://forum.beeminder.com/t/practice-programming/1402/3 "2012-12-16T15:26:50Z")

</div>

Being a book-oriented guy: I would always find several books you would like  
to work through and then Beemind the number of pages.

And if I may plug some nice books: Allen Downeys Think Python (and other)  
books at Green Tee Press.

Or Beemind your way through Project Euler.

Or get a side job where you code. A boss beats even Beeminder.

Cheers,  
Willem

2012/12/16 David John Wilson [djwilsonmh@gmail.com](mailto:djwilsonmh@gmail.com)

> I am just a third of my way through my first programming course at uni. To  
> become a half decent programmer you need to do a lot of programming. So I  
> am considering setting up a Beeminder goal to get me to do more of it. Does  
> anyone have any suggestions about what I should track on a Beeminder  
> programming practice goal? I was thinking quality lines of code or quality  
> statements (please forgive me if I am not using the right terminology, I am  
> very new to this game).
> 
> Any suggestions will be appreciated.
> 
> –David

---

<div class="post-metadata">

**Author:** ![David\_John\_Wilson](https://avatars.discourse-cdn.com/v4/letter/d/ea666f/32.png) [@David\_John\_Wilson](https://forum.beeminder.com/u/David_John_Wilson)\
**Post date:** [December 16, 2012, 4:08pm UTC](https://forum.beeminder.com/t/practice-programming/1402/4 "2012-12-16T16:08:36Z")

</div>

Thanks for those suggestions, Willem. Project Euler looks very skill  
inducing.

I guess I should stop paying thousands of dollars for something that I can  
get for free or very low cost over the internet.

Regards,

David

On Monday, December 17, 2012 1:26:50 AM UTC+10, wkerstholt wrote:

> Being a book-oriented guy: I would always find several books you would  
> like to work through and then Beemind the number of pages.
> 
> And if I may plug some nice books: Allen Downeys Think Python (and other)  
> books at Green Tee Press.
> 
> Or Beemind your way through Project Euler.
> 
> Or get a side job where you code. A boss beats even Beeminder.
> 
> Cheers,  
> Willem
> 
> 2012/12/16 David John Wilson \<[djwil...@gmail.com](mailto:djwil...@gmail.com) \<javascript:\>\>
> 
> > I am just a third of my way through my first programming course at uni.  
> > To become a half decent programmer you need to do a lot of programming. So  
> > I am considering setting up a Beeminder goal to get me to do more of it.  
> > Does anyone have any suggestions about what I should track on a Beeminder  
> > programming practice goal? I was thinking quality lines of code or quality  
> > statements (please forgive me if I am not using the right terminology, I am  
> > very new to this game).
> > 
> > Any suggestions will be appreciated.
> > 
> > –David

---

<div class="post-metadata">

**Author:** ![Alex\_Strick\_van\_Lins](https://avatars.discourse-cdn.com/v4/letter/a/858c86/32.png) [@Alex\_Strick\_van\_Lins](https://forum.beeminder.com/u/Alex_Strick_van_Lins)\
**Post date:** [December 16, 2012, 4:29pm UTC](https://forum.beeminder.com/t/practice-programming/1402/5 "2012-12-16T16:29:43Z")

</div>

Alternatively, do the free udacity CS101 course (  
[Learn the Latest Tech Skills; Advance Your Career | Udacity](http://www.udacity.com/overview/Course/cs101/CourseRev/apr2012)) which is an  
excellent introduction to Python through a practical project.

On 16 December 2012 21:08, David John Wilson [djwilsonmh@gmail.com](mailto:djwilsonmh@gmail.com) wrote:

> Thanks for those suggestions, Willem. Project Euler looks very skill  
> inducing.
> 
> I guess I should stop paying thousands of dollars for something that I can  
> get for free or very low cost over the internet.
> 
> Regards,
> 
> David
> 
> On Monday, December 17, 2012 1:26:50 AM UTC+10, wkerstholt wrote:
> 
> > Being a book-oriented guy: I would always find several books you would  
> > like to work through and then Beemind the number of pages.
> > 
> > And if I may plug some nice books: Allen Downeys Think Python (and other)  
> > books at Green Tee Press.
> > 
> > Or Beemind your way through Project Euler.
> > 
> > Or get a side job where you code. A boss beats even Beeminder.
> > 
> > Cheers,  
> > Willem
> > 
> > 2012/12/16 David John Wilson [djwil...@gmail.com](mailto:djwil...@gmail.com)
> > 
> > I am just a third of my way through my first programming course at uni.
> > 
> > > To become a half decent programmer you need to do a lot of programming. So  
> > > I am considering setting up a Beeminder goal to get me to do more of it.  
> > > Does anyone have any suggestions about what I should track on a Beeminder  
> > > programming practice goal? I was thinking quality lines of code or quality  
> > > statements (please forgive me if I am not using the right terminology, I am  
> > > very new to this game).
> > > 
> > > Any suggestions will be appreciated.
> > > 
> > > –David

---

<div class="post-metadata">

**Author:** ![byorgey](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/byorgey/32/70_2.png) [@byorgey](https://forum.beeminder.com/u/byorgey)\
**Post date:** [December 16, 2012, 5:01pm UTC](https://forum.beeminder.com/t/practice-programming/1402/6 "2012-12-16T17:01:35Z")

</div>

I think total lines of code written would work great; don’t bother trying  
to decide which lines are “quality”. And actually, don’t count just the  
total number of lines of code in a given file; count the number of lines of  
code that you added _or changed_. Many version control systems can  
automatically tell you this number for each commit. Editing code that you  
wrote previously is also an excellent and important activity and should  
count just as much as writing new lines of code in the first place.

-Brent

On Sun, Dec 16, 2012 at 10:19 AM, David John Wilson [djwilsonmh@gmail.com](mailto:djwilsonmh@gmail.com)wrote:

> I am just a third of my way through my first programming course at uni. To  
> become a half decent programmer you need to do a lot of programming. So I  
> am considering setting up a Beeminder goal to get me to do more of it. Does  
> anyone have any suggestions about what I should track on a Beeminder  
> programming practice goal? I was thinking quality lines of code or quality  
> statements (please forgive me if I am not using the right terminology, I am  
> very new to this game).
> 
> Any suggestions will be appreciated.
> 
> –David

---

<div class="post-metadata">

**Author:** ![David\_John\_Wilson](https://avatars.discourse-cdn.com/v4/letter/d/ea666f/32.png) [@David\_John\_Wilson](https://forum.beeminder.com/u/David_John_Wilson)\
**Post date:** [December 16, 2012, 5:10pm UTC](https://forum.beeminder.com/t/practice-programming/1402/7 "2012-12-16T17:10:26Z")

</div>

Thanks, Alex. I suppose I could set my ybr to 1 unit per week.

–David

---

<div class="post-metadata">

**Author:** ![Alex\_Strick\_van\_Lins](https://avatars.discourse-cdn.com/v4/letter/a/858c86/32.png) [@Alex\_Strick\_van\_Lins](https://forum.beeminder.com/u/Alex_Strick_van_Lins)\
**Post date:** [December 16, 2012, 5:11pm UTC](https://forum.beeminder.com/t/practice-programming/1402/8 "2012-12-16T17:11:51Z")

</div>

Yes I think that’s doable. They’re highly interactive, and you could always  
supplement with other courses. But the Udacity course is excellent. (I did  
it with no previous coding experience).

On 16 December 2012 22:10, David John Wilson [djwilsonmh@gmail.com](mailto:djwilsonmh@gmail.com) wrote:

> Thanks, Alex. I suppose I could set my ybr to 1 unit per week.
> 
> –David

---

<div class="post-metadata">

**Author:** ![David\_John\_Wilson](https://avatars.discourse-cdn.com/v4/letter/d/ea666f/32.png) [@David\_John\_Wilson](https://forum.beeminder.com/u/David_John_Wilson)\
**Post date:** [December 16, 2012, 5:16pm UTC](https://forum.beeminder.com/t/practice-programming/1402/9 "2012-12-16T17:16:55Z")

</div>

Thanks, Brent. Very helpful.

–David

---

<div class="post-metadata">

**Author:** ![Jake\_Jenkins](https://avatars.discourse-cdn.com/v4/letter/j/3d9bf3/32.png) [@Jake\_Jenkins](https://forum.beeminder.com/u/Jake_Jenkins)\
**Post date:** [December 16, 2012, 5:53pm UTC](https://forum.beeminder.com/t/practice-programming/1402/10 "2012-12-16T17:53:33Z")

</div>

I have never tried to learn to code, but i do have some experience using  
Beeminder to track “deliberate practice.”

I think I would track quality time spent programming. Sometimes this might  
result in one line of code or maybe 20. My basic understanding is that  
more isn’t necessarily better.

I think the overall goal should be to keep logging the time, learn and  
practice new techniques, challenge yourself with increasingly challenging  
projects.

Measuring time would work well with the course too, although I would count  
time actually coding, not watching lectures or reading tutorials, towards  
your overall goal.  
On Dec 16, 2012 12:16 PM, “David John Wilson” [djwilsonmh@gmail.com](mailto:djwilsonmh@gmail.com) wrote:

> Thanks, Brent. Very helpful.
> 
> –David

---

<div class="post-metadata">

**Author:** ![Camilo\_Cienfuegos](https://avatars.discourse-cdn.com/v4/letter/c/7feea3/32.png) [@Camilo\_Cienfuegos](https://forum.beeminder.com/u/Camilo_Cienfuegos)\
**Post date:** [December 16, 2012, 7:25pm UTC](https://forum.beeminder.com/t/practice-programming/1402/11 "2012-12-16T19:25:45Z")

</div>

I completely agree with Jake Jenkins. I am using beeminder for a number of personal projects too.  
I think quality time (maybe in terms of high-intensity pomodoros, 25 minutes each) would be great metrics.  
In order to get used to the practice of programming, I would commit to coding just one pomodoro (or 25 minutes) a day the first week.  
Then I would raise the bar gradually until the time you have available, or the moment you feel you find difficult to keep high concentration  
and focus.

P: Why is this Email 5 sentences or less?  
R: [http://five.sentenc.es](http://five.sentenc.es)

From: Jake Jenkins  
Sent: Sunday, December 16, 2012 6:53 PM  
To: [akratics@googlegroups.com](mailto:akratics@googlegroups.com)  
Subject: Re: Practice Programming

I have never tried to learn to code, but i do have some experience using Beeminder to track “deliberate practice.”

I think I would track quality time spent programming. Sometimes this might result in one line of code or maybe 20. My basic understanding is that more isn’t necessarily better.

I think the overall goal should be to keep logging the time, learn and practice new techniques, challenge yourself with increasingly challenging projects.

Measuring time would work well with the course too, although I would count time actually coding, not watching lectures or reading tutorials, towards your overall goal.

On Dec 16, 2012 12:16 PM, “David John Wilson” [djwilsonmh@gmail.com](mailto:djwilsonmh@gmail.com) wrote:

Thanks, Brent. Very helpful.

–David

---

<div class="post-metadata">

**Author:** ![Rob\_Felty](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/rob_felty/32/678_2.png) [@Rob\_Felty](https://forum.beeminder.com/u/Rob_Felty)\
**Post date:** [December 16, 2012, 10:01pm UTC](https://forum.beeminder.com/t/practice-programming/1402/12 "2012-12-16T22:01:16Z")

</div>

I also agree about tracking time. Many studies on expertise suggest that it  
takes about 10000 hours of practice to become an expert at most things -  
chess, a musical instrument, programming etc. outliers by Malcolm gladwell  
has a nice summary of this sort of research.

Sent from my iPhone

On Dec 16, 2012, at 12:25, Camilo Cienfuegos [camilocienfuegos\_@hotmail.com](mailto:camilocienfuegos_@hotmail.com)  
wrote:

I completely agree with Jake Jenkins. I am using beeminder for a number of  
personal projects too.  
I think quality time (maybe in terms of high-intensity pomodoros, 25  
minutes each) would be great metrics.  
In order to get used to the practice of programming, I would commit to  
coding just one pomodoro (or 25 minutes) a day the first week.  
Then I would raise the bar gradually until the time you have available, or  
the moment you feel you find difficult to keep high concentration  
and focus.

P: Why is this Email 5 sentences or less?  
R: [http://five.sentenc.es](http://five.sentenc.es)

_From:_ Jake Jenkins [j2jenkins@gmail.com](mailto:j2jenkins@gmail.com)  
_Sent:_ Sunday, December 16, 2012 6:53 PM  
_To:_ [akratics@googlegroups.com](mailto:akratics@googlegroups.com)  
_Subject:_ Re: Practice Programming

I have never tried to learn to code, but i do have some experience using  
Beeminder to track “deliberate practice.”

I think I would track quality time spent programming. Sometimes this might  
result in one line of code or maybe 20. My basic understanding is that  
more isn’t necessarily better.

I think the overall goal should be to keep logging the time, learn and  
practice new techniques, challenge yourself with increasingly challenging  
projects.

Measuring time would work well with the course too, although I would count  
time actually coding, not watching lectures or reading tutorials, towards  
your overall goal.  
On Dec 16, 2012 12:16 PM, “David John Wilson” [djwilsonmh@gmail.com](mailto:djwilsonmh@gmail.com) wrote:

> Thanks, Brent. Very helpful.
> 
> –David

---

<div class="post-metadata">

**Author:** ![Alec\_Brooks](https://avatars.discourse-cdn.com/v4/letter/a/8dc957/32.png) [@Alec\_Brooks](https://forum.beeminder.com/u/Alec_Brooks)\
**Post date:** [December 16, 2012, 11:20pm UTC](https://forum.beeminder.com/t/practice-programming/1402/13 "2012-12-16T23:20:43Z")

</div>

There are a number of sites with practice programming exercises. Examples  
include Daily Programmer on Reddit ([Reddit - Dive into anything](http://www.reddit.com/r/dailyprogrammer/))  
and Programming Praxis ([http://programmingpraxis.com/](http://programmingpraxis.com/)). You could beemind a  
certain number of these per day or week. Or, as Willem suggested earlier,  
do Project Euler exercises ([https://projecteuler.net/](https://projecteuler.net/)). If the exercises were  
hard enough, they might qualify as deliberate practice.

Alternatively, you could take a personal project and break down what you need or  
hope to do into small, manageable chunks. You’d set a Beeminder goal of  
completing several chunks per day.

Best,  
Alec

On Sun, Dec 16, 2012 at 08:21:21PM +0500, Alex Strick van Linschoten wrote:

> Would be very interested in what people suggest. Perhaps it could be in  
> terms of specific tasks (a la deliberate practice –  
> [A Better Way to Practice | Lifehacker](http://lifehacker.com/5939374/a-better-way-to-practice)) rather than just lines of  
> code?
> 
> Alex
> 
> On 16 December 2012 20:19, David John Wilson [djwilsonmh@gmail.com](mailto:djwilsonmh@gmail.com) wrote:
> 
> > I am just a third of my way through my first programming course at uni. To  
> > become a half decent programmer you need to do a lot of programming. So I  
> > am considering setting up a Beeminder goal to get me to do more of it. Does  
> > anyone have any suggestions about what I should track on a Beeminder  
> > programming practice goal? I was thinking quality lines of code or quality  
> > statements (please forgive me if I am not using the right terminology, I am  
> > very new to this game).
> > 
> > Any suggestions will be appreciated.
> > 
> > –David

---

<div class="post-metadata">

**Author:** ![Jake\_Hofman](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/jake_hofman/32/687_2.png) [@Jake\_Hofman](https://forum.beeminder.com/u/Jake_Hofman)\
**Post date:** [December 17, 2012, 4:08pm UTC](https://forum.beeminder.com/t/practice-programming/1402/14 "2012-12-17T16:08:42Z")

</div>

hi all,

great references.

here’s a recent quora thread on learning to program that may be of interest:

[http://www.quora.com/Learning-to-Program/What-are-the-best-sites-for-learning-programming](http://www.quora.com/Learning-to-Program/What-are-the-best-sites-for-learning-programming)

-j

On Sun, Dec 16, 2012 at 6:20 PM, Alec Brooks [zab1000@gmail.com](mailto:zab1000@gmail.com) wrote:

> There are a number of sites with practice programming exercises. Examples  
> include Daily Programmer on Reddit ([Reddit - Dive into anything](http://www.reddit.com/r/dailyprogrammer/))  
> and Programming Praxis ([http://programmingpraxis.com/](http://programmingpraxis.com/)). You could beemind a  
> certain number of these per day or week. Or, as Willem suggested earlier,  
> do Project Euler exercises ([https://projecteuler.net/](https://projecteuler.net/)). If the exercises were  
> hard enough, they might qualify as deliberate practice.
> 
> Alternatively, you could take a personal project and break down what you need or  
> hope to do into small, manageable chunks. You’d set a Beeminder goal of  
> completing several chunks per day.
> 
> Best,  
> Alec
> 
> On Sun, Dec 16, 2012 at 08:21:21PM +0500, Alex Strick van Linschoten wrote:
> 
> > Would be very interested in what people suggest. Perhaps it could be in  
> > terms of specific tasks (a la deliberate practice –  
> > [A Better Way to Practice | Lifehacker](http://lifehacker.com/5939374/a-better-way-to-practice)) rather than just lines of  
> > code?
> > 
> > Alex
> > 
> > On 16 December 2012 20:19, David John Wilson [djwilsonmh@gmail.com](mailto:djwilsonmh@gmail.com) wrote:
> > 
> > > I am just a third of my way through my first programming course at uni. To  
> > > become a half decent programmer you need to do a lot of programming. So I  
> > > am considering setting up a Beeminder goal to get me to do more of it. Does  
> > > anyone have any suggestions about what I should track on a Beeminder  
> > > programming practice goal? I was thinking quality lines of code or quality  
> > > statements (please forgive me if I am not using the right terminology, I am  
> > > very new to this game).
> > > 
> > > Any suggestions will be appreciated.
> > > 
> > > –David

---

<div class="post-metadata">

**Author:** ![dreev](https://sea1.discourse-cdn.com/flex019/user_avatar/forum.beeminder.com/dreev/32/4311_2.png) [@dreev](https://forum.beeminder.com/u/dreev)\
**Post date:** [December 21, 2012, 8:30am UTC](https://forum.beeminder.com/t/practice-programming/1402/15 "2012-12-21T08:30:15Z")

</div>

I’m so in love with this thread I want to marry it.

Personally I agree with those who say time spent is the best thing to  
beemind. It’s the obvious thing to start with, it’s something you have  
100% control over (always a good criterion for beeminding), and if you  
find that you’re not happy with the results of the time spent then you  
can dial back your road to some bare minimum amount of time and add  
another yellow brick road for something else (pages read, project  
euler problems solved, github’s impact metric, etc).

One simple way to beemind time spent, if you’re not a TagTime nerd, is  
to just let RescueTime watch how long you spend in your text editor or  
IDE and automatically report it to Beeminder: [rescuetime – integrations – beeminder](http://beeminder.com/rescuetime)  
I’ve started doing that myself: [tm – d – beeminder](http://beeminder.com/d/tm)

On Mon, Dec 17, 2012 at 8:08 AM, Jake Hofman [jhofman@gmail.com](mailto:jhofman@gmail.com) wrote:

> hi all,
> 
> great references.
> 
> here’s a recent quora thread on learning to program that may be of interest:
> 
> [http://www.quora.com/Learning-to-Program/What-are-the-best-sites-for-learning-programming](http://www.quora.com/Learning-to-Program/What-are-the-best-sites-for-learning-programming)
> 
> -j
> 
> On Sun, Dec 16, 2012 at 6:20 PM, Alec Brooks [zab1000@gmail.com](mailto:zab1000@gmail.com) wrote:
> 
> > There are a number of sites with practice programming exercises. Examples  
> > include Daily Programmer on Reddit ([Reddit - Dive into anything](http://www.reddit.com/r/dailyprogrammer/))  
> > and Programming Praxis ([http://programmingpraxis.com/](http://programmingpraxis.com/)). You could beemind a  
> > certain number of these per day or week. Or, as Willem suggested earlier,  
> > do Project Euler exercises ([https://projecteuler.net/](https://projecteuler.net/)). If the exercises were  
> > hard enough, they might qualify as deliberate practice.
> > 
> > Alternatively, you could take a personal project and break down what you need or  
> > hope to do into small, manageable chunks. You’d set a Beeminder goal of  
> > completing several chunks per day.
> > 
> > Best,  
> > Alec
> > 
> > On Sun, Dec 16, 2012 at 08:21:21PM +0500, Alex Strick van Linschoten wrote:
> > 
> > > Would be very interested in what people suggest. Perhaps it could be in  
> > > terms of specific tasks (a la deliberate practice –  
> > > [A Better Way to Practice | Lifehacker](http://lifehacker.com/5939374/a-better-way-to-practice)) rather than just lines of  
> > > code?
> > > 
> > > Alex
> > > 
> > > On 16 December 2012 20:19, David John Wilson [djwilsonmh@gmail.com](mailto:djwilsonmh@gmail.com) wrote:
> > > 
> > > > I am just a third of my way through my first programming course at uni. To  
> > > > become a half decent programmer you need to do a lot of programming. So I  
> > > > am considering setting up a Beeminder goal to get me to do more of it. Does  
> > > > anyone have any suggestions about what I should track on a Beeminder  
> > > > programming practice goal? I was thinking quality lines of code or quality  
> > > > statements (please forgive me if I am not using the right terminology, I am  
> > > > very new to this game).
> > > > 
> > > > Any suggestions will be appreciated.
> > > > 
> > > > –David

–  
[http://dreev.es](http://dreev.es) – search://“Daniel Reeves”  
Follow the Yellow Brick Road – [http://beeminder.com](http://beeminder.com)
