Live data from Hacker News

I'm graduating with a CS degree but I don't feel like I know how to program

stackoverflow.com

131–135 of 135 posts

Re: I'm graduating with a CS degree but I don't feel like I know how to program

#131

Earlier quoted context omitted.

I actually read Applied Cryptography when it first came out. My experience is that it convinced me that crypto is hard to do right not that it's easy. "Practical" will be my next technical read.

It came out in, like, 1995 didn't it? I remember that because all my IRC friends immediately got to work on crazy crypto tools with algorithms and ideas cadged from that book. It definitely didn't teach them that crypto was hard.

It came out in, like, 1995 didn't it?

That would be about right.

I remember that because all my IRC friends immediately got to work on crazy crypto tools with algorithms and ideas cadged from that book. It definitely didn't teach them that crypto was hard.

It's one thing to do some fun project. It's another thing to do something for production. It's yet another thing to read such a book and realize it means there's people who know a lot more about this than you. At the same time, it is a fun read for a techie.

Re: I'm graduating with a CS degree but I don't feel like I know how to program

#132

This is based on the experience of getting my CS degree 10+ years ago. I'm not going to prefix every sentance with IMHO. Of course you don't know how to program, because most computer science programs suck. They teach how to code, the basic stuff like variables, if statements, loops, etc. You probably had a course in data structures and algorithms where you learned how to code your own lists and then how to sort them…

Your description is uncomfortably spot on.

I think an apt adjective for many of our courses and assignments is "contrived".

Re: I'm graduating with a CS degree but I don't feel like I know how to program

#133
post #117
post #14

I believe that there are two ways to get good at anything, "push" and "pull". Push: You learn from books, classes, mentors, and studying examples, then apply what you have learned. Pull: You have a problem that you must solve, then you learn what you need, any way you can, to build the solution. I suppose there are pros and cons of each method, and I imagine that many people here have used some of both. For the recor…

I don't think that there is really this distinction, because your 'push' and 'pull' methods allow you to acquire different types of expertise/knowledge. If you are all push, you won't be able to program. If you are really all pull, you will be able to program, but it will be kind of magical programming. Ex. If I am all pull: I know that the regular expression matches based on certain rules, but I don't understand com…

You bring up an interesting point - I was a "pull" programmer up until I went to university and took a Java course. I learnt there object oriented programming, and suddenly everything I had learnt previously "clicked" and I saw the big picture, and I'm a much better programmer for it.

You could make a comparison to music. The self-taught guitarist versus the classically trained guitarist, and the guitarist somewhere in between. When I took guitar lessons I wasn't taught classically, but I was taught the concepts (the theory behind chords, scales, etc.) and I was also encouraged to pick things up on my own by both playing around and finding tabs for my favourite songs and having a go.

This push vs pull concept can probably be applied to ways of learning in general. I think it's safe to say most people here are agreeing a mixture is best.

Re: I'm graduating with a CS degree but I don't feel like I know how to program

#135

This topic hit home for me because I am graduating this year with a CS degree. As many of you have pointed out, a CS degree doesn't teach you how to program. I think it does give you a base of knowledge that you can then build upon to become a great coder. I would say that 30% of my programming skill and knowledge comes from what I learned in class, while 70% comes from reading, watching lectures online, having frien…

While it's in very early development stage, Oregon State University is creating an Open Source certificate program that will address some of these issues. The certification as planned will grant Masters degree level course credits and will be offered online. Course content will include LAMP stack development knowledge, basics of the development tool chain (issue tracking, mailing lists, etc.), release practices, and will require a three month hands on 'internship' working with a FOSS project to gain certification. Oregon State University would work to match make between students and FOSS projects looking to on board new contributors as part of this internship requirement.
Post reply on HN