Live data from Hacker News

Teaching Programming To A Highly Motivated Beginner

cacm.acm.org

11–20 of 42 posts

Re: Teaching Programming To A Highly Motivated Beginner

#11

I am in a similar situation to the author: I am an experienced programmer, and I am tutoring my wife, who left her job so she could devote all her time to learning to code. She's gone through all of the HTML, CSS, and JS CodeAcademy courses, and is now doing the Python course on Udacity. While she hasn't needed a lot of help with those, she has also been working on extracurricular projects that I've helped put togeth…

[deleted]

Re: Teaching Programming To A Highly Motivated Beginner

#12

I am in a similar situation to the author: I am an experienced programmer, and I am tutoring my wife, who left her job so she could devote all her time to learning to code. She's gone through all of the HTML, CSS, and JS CodeAcademy courses, and is now doing the Python course on Udacity. While she hasn't needed a lot of help with those, she has also been working on extracurricular projects that I've helped put togeth…

[deleted]

Re: Teaching Programming To A Highly Motivated Beginner

#13

I am in a similar situation to the author: I am an experienced programmer, and I am tutoring my wife, who left her job so she could devote all her time to learning to code. She's gone through all of the HTML, CSS, and JS CodeAcademy courses, and is now doing the Python course on Udacity. While she hasn't needed a lot of help with those, she has also been working on extracurricular projects that I've helped put togeth…

That's really interesting. Does she prefer the codeacademy course over Udacity or vice versa? I only ask, because I've tried both and far prefer Udacity for several reasons. 1. It let's me be sloppy. As long as I end up at the right conclusion it lets me advance forward, but still shows me the "best" way to do it. 2. With code academy, I feel more like it's simple rote memorization where Udacity makes me think more. Not that one is per say better than the other, I just seem to click with Udacity better, and was curious what her thoughts were.

Re: Teaching Programming To A Highly Motivated Beginner

#14
I'm currently mentoring someone using a method similar to this -- build steps of a project, be available for questions as they come up. We've covered basic OOP and are moving into more abstract concepts like FSMs. I'm curious about what happens next for someone who has learned to program decently well, but has no traditional formal education.

If going back to school is probably not an option for this guy due to other obligations (and finances) do you have any advice for the path from solid hobbyist into entry level professional?

Re: Teaching Programming To A Highly Motivated Beginner

#15
This may seem silly, but I found the most difficult part of learning RoR was getting my development environment set up. I tried several times since 2005 to get started, but failed due to a sticking point that for some reason I couldn't get past. It wasn't until a friend with a bunch of RoR experience walked me through the setup of the black box of different parts to run a web app that I actually got it. Comparatively, coding, refactoring, implementing best practices is much easier and enjoyable.

If you view programming as a craft, having mentors/coaches/peers definitely helps you improve much faster.

Re: Teaching Programming To A Highly Motivated Beginner

#16
post #15

This may seem silly, but I found the most difficult part of learning RoR was getting my development environment set up. I tried several times since 2005 to get started, but failed due to a sticking point that for some reason I couldn't get past. It wasn't until a friend with a bunch of RoR experience walked me through the setup of the black box of different parts to run a web app that I actually got it. Comparatively…

Totally agree with your last point.

To your first point, I really wish people would make virtual machine images with dev environments already set up on them.

Re: Teaching Programming To A Highly Motivated Beginner

#18
post #15

This may seem silly, but I found the most difficult part of learning RoR was getting my development environment set up. I tried several times since 2005 to get started, but failed due to a sticking point that for some reason I couldn't get past. It wasn't until a friend with a bunch of RoR experience walked me through the setup of the black box of different parts to run a web app that I actually got it. Comparatively…

There is nothing silly about that at all. I teach high school math and science, but I also sneak in an intro programming class whenever I can. Right now I am teaching students to set up dual-booting with ubuntu on our school district's windows laptops. They are loving it, but it reminds me how many little details you have to get right before you can even start programming. Setting up the environment is nontrivial if you have only ever used windows boxes before.

That said, students pick it up quickly, and are very satisfied with their new skills. I can't wait to get into actual programming next week.

Re: Teaching Programming To A Highly Motivated Beginner

#19

I taught myself programming last year (starting with Python from Google's course) and am incredibly jealous of this. I'd have killed for someone to explain what on earth Object Oriented Programming was in the context of the project I was working on. It simply did not make sense to me for a very long time.

I'm curious; what was the first project you built on your own? It's been so long since I started programming that I can't really remember mine. My wife is learning now and I sometimes worry that my gauge of what are good beginner projects is off.

For me it was a system for tracking errors in weather forecasts. I downloaded 400-odd forecasts from the NOAA twice a day and dropped them into a database.*

Figured out the following technologies on the fly: Python for the machine learning part, the backend and web scraping (after I finally gave up on SOAP), SQLite, HTML/CSS, PHP (after giving up on Django), Apache web server, FTP protocol (for backing up my stuff to my external drive). There are probably other things I tried and gave up on but forget.

I definitely went down a LOT of blind alleys and generally found out-of-the-box frameworks incomprehensible. The difference in the various communities was fascinating, too. For instance, try comparing forum answers to CSS or PHP questions against Python or, gasp, C. Holy cow.

*The result, if anyone cares, was that I figure they systematically overestimate High temps, underestimate low temps and overestimate POP.

EDIT: forgot javascript/jquery.

Re: Teaching Programming To A Highly Motivated Beginner

#20
post #15

This may seem silly, but I found the most difficult part of learning RoR was getting my development environment set up. I tried several times since 2005 to get started, but failed due to a sticking point that for some reason I couldn't get past. It wasn't until a friend with a bunch of RoR experience walked me through the setup of the black box of different parts to run a web app that I actually got it. Comparatively…

Totally agree with your last point. To your first point, I really wish people would make virtual machine images with dev environments already set up on them.

> I really wish people would make virtual machine images with dev environments already set up on them

I think this is actually often more of a problem in the long run, as it just pushes the learning of how RoR interfaces with the rest of the stack to later. If you're seeking to teach someone how logic, program control flow, and separation of concerns work (as the author did by abstracting the "grunge work" as he calls it), why not pick an environment a bit more bare-bones?

I see the merit in allowing someone to get something up and running rapidly, but I think they may miss important concepts when learning in an environment that favors convention over configuration.

Post reply on HN