

I love to programWhy do I hate programming classes? - diericx

I love to program.<p>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&#x27;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.<p>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&#x27;t know why but this made me less excited for the future.<p>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 &quot;assignments&quot; from a boss and not having any emotional connection or excitement about the project I am working on?<p>To get back on topic, will programming courses get more interesting as I go on? I&#x27;m interested in topics such as 3D shaders and physics engines, but I&#x27;m afraid higher level programming classes connecting to these topics will be just as boring and uninspiring.<p>Realistically, do programming courses get better&#x2F;more interesting?
======
27182818284
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)

~~~
diericx
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?

------
bediger4000
_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.

~~~
diericx
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?

~~~
zaccus
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.

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

------
carise
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.

[http://inst.eecs.berkeley.edu/classes-
eecs.html](http://inst.eecs.berkeley.edu/classes-eecs.html)

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

------
paulhauggis
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.

~~~
diericx
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.

~~~
paulhauggis
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.

------
dmak
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.

------
anishkothari
Check out this class [https://www.edx.org/course/introduction-computer-
science-har...](https://www.edx.org/course/introduction-computer-science-
harvardx-cs50x). 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.

