Hacker News new | past | comments | ask | show | jobs | submit login
I love to programWhy do I hate programming classes?
5 points by diericx on May 12, 2015 | hide | past | web | favorite | 13 comments
I love to program.

To give some background, I am a high school student who is taking classes at my local community college. I made the decision to do this because I wanted to expand my programming knowledge. I develop games in my free time and programs when I find problems I can solve. I absolutely love this pass time and the creativity and satisfaction that comes from developing. I am thrilled when I run into a problem I don't know how to solve because it just makes everything more interesting and I get to learn more about what ever language or engine I am using.

My issue now is the classes. I took a few classes at my community college and to be honest, they discouraged me. They were incredibly boring (granted they were a bit below my level, but I was still learning some new stuff!) and involved absolutely no creativity or exploration. It was the same thing every week: read this, code this, make sure syntax absolutely matches the syllabus, turn in. I don't know why but this made me less excited for the future.

Is this what it is like in the programming industry? I guess I am being a bit idealistic, but I thought that being on a team of people working on a project would be full of creativity and ideas being thrown around. I would be contributing to something a lot of people were passionate about. Will I just be mundanely programming "assignments" from a boss and not having any emotional connection or excitement about the project I am working on?

To get back on topic, will programming courses get more interesting as I go on? I'm interested in topics such as 3D shaders and physics engines, but I'm afraid higher level programming classes connecting to these topics will be just as boring and uninspiring.

Realistically, do programming courses get better/more interesting?

A few thoughts come to mind

>Realistically, do programming courses get better/more interesting?

I think it strongly depends on your personality. For me, no they didn't. What I discovered (far too late) was that I liked tinkering with little things like a web site for fun or an algorithm in computational physics, but I hated software engineering as a field in the real world. I know folks who really get a kick out of refactoring a library and do a great job at it—I'm not that person. I know folks that can have a great time writing super awesome unit tests and messing with makefiles—I get frustrated. Although I like improving legacy code from time to time, I can't do it full-time.

> I took a few classes at my community college and to be honest, they discouraged me.

The people that I knew that took programming courses in community college and then university overwhelmingly thought that university was better. Obviously this is anecdotal, but I feel like I need to mention it as 100% of developers I know who have done both recommend university. (Interestingly, however, this is not true of the mixed folks like graphic designers I know that do a little bit of code and mostly design)

I can't tell to what extent I am like you, but I can relate.

I really like developing complete programs and games from the ground up and tinkering with code, but I'm not sure about the other topics. Once I am done with a project I will often refactor the code just because it's sort of fun/nice to have clean and organized code. I just don't know if I could see myself doing this every day.

What were later courses like for you?

involved absolutely no creativity or exploration

That's why you hate programming classes. It's that simple.

Most classes, but programming in particular, tend to be taught by people who aren't really into the subject. They're teachers, not programmers, or mathematicians, or historians. They have no enthusiasm, so they go by the curriculum, which will be dry, and without amusing anecdotes, or sidebars or glimpses of the future.

If the teachers were programmers, they'd be doing programming, not teaching at a community college. I'm sure that exceptions exist, but I don't think you've encountered one.

As far as doing things you're interested in, just do them. Software can be free - use Linux and other free/libre/open source software. Just get a book or find a website and do it. Follow up on questions you've got. Don't let anything go unanswered or unexplained. Google for answers, ask on stackexchange sites or whatever. Teach yourself, don't rely on uninterested, uninteresting educators to teach you. They can't. Only you can teach yourself.

I teach myself (exceptions being getting help from friends) everything now, I just don't think I can get a job off of self taught knowledge. I honestly completely hate the thought of this logic but I can't just apply for a job at Apple and on my resume say "taught myself rails" can I? Don't most places want to hire poeple who have delved into the programming courses at a university?

You need more than Rails to work at Apple, but for most coding jobs, a few projects on Github is as good as a degree.

I was just using that as an example, but that's interesting. I didn't think about using projects as a resume.

Yes, programming courses get better and more interesting. The interesting ones aren't usually called "programming classes" -- they are usually some kind of theory or design classes that make you solve problems and build stuff. Maybe you can find something on Coursera or these other online courses where there is programming involved, but it's not the emphasis of the class. I am pretty sure when you take a class that challenges you, it will really whet your appetite for more.

I know UC Berkeley has a lot of their CS class pages online. You can check it out and see what kind of stuff they teach.


That page is amazing...I had no idea universities had so many courses!! So many of them look so interesting!

I have never taken a programming class in-person. I have always taken it online and just bang out the code and turn it in. However, all the upper division CS classes are interesting and I did attend all those in-person. At that point, you get to hear the professor's stories based on their experiences which is very valuable.

That said, industry is very different from school. There are still things that I am re-discovering from classes and finally understanding after being in industry.

Check out this class https://www.edx.org/course/introduction-computer-science-har.... It might be below your skill level, but if it's not go through it. It's very interactive and you'll enjoy learning the course material.

I was well past the classes I took in college by the time I took them (I started programming at 13).

When I took classes, we had projects every couple of weeks or so and even though they sounded boring, I would always make them interesting and go above and beyond what was assigned.

I also don't believe there isn't something you can learn. Even though I am a self-taught programmer, I learned all kinds of new tricks, proper style, and even improved my discipline by forcing myself to work on things I really didn't enjoy.

Coding in the real world is much different. Many times you will be on much tighter deadlines, be forced to cut corners, work on code you really don't enjoy, and not have all of the correct specs for the new feature or project.

Coding in the real world doesn't sound very fun. :( What you said is true and is what I did. I would try to implement cool techniques I found on the internet but ended up getting marked off for not following the course.

You should follow the course exactly..and then add onto what is required. This way, you won't get marked down for not following directions.

It's not always fun, but what work is? The main benefit is that you get paid extremely well and you can use the money to have fun.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact