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

61–70 of 135 posts

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

#61
post #53
post #39

This touches on several issues. 1. Should college teach you to program? This is a philosophical question about whether a CS degree should be educational or vocational . The general consensus seems to be that it should be the former not the latter. It should give you the theoretical foundation that you can apply to almost anything. Therefore, college won't necessarily teach you any programming beyond what you need to…

1. Should college teach you to program? This is a philosophical question about whether a CS degree should be educational or vocational. The general consensus seems to be that it should be the former not the latter. It should give you the theoretical foundation that you can apply to almost anything. Therefore, college won't necessarily teach you any programming beyond what you need to read examples and do assignments,…

Not expecting a CS alumnus to be a programmer is like having an architect not know how to draw buildings, or a surgeon not know how to wield a scalpel.

You do realize that with both professions you noted there is usually an apprenticeship time (internship/residency) -- and also in both professions you must licensed (in architecture typically after your internship and in medicine before the residency).

I do disagree though that there is no value in not being able to program. The main contribution of CS is not programming. It is in the theory of computation. I really do view programming as purely incidental.

You wouldn't expect a mechanical engineer to know how to repair a 2011 Ford Focus. They'll konw the basic ideas under the hood, but all of the technoogy specific aspects of it shouldn't be taught.

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

#62

Earlier quoted context omitted.

management didn't understand basic automata theory Do tell more about it; as I feel that's not why they wasted millions. That company tried to translate code from one programming language to another using only regular expressions. (This was a long time ago when you couldn't almost count on most "regular expression" implementations being Turing Complete.) Perhaps the problem was really that engineers who understood th…

I'm going to play devil's advocate here, and point out that you can actually construct the proper automaton where the transition conditions are decided by regular expressions. It might work like this: some programmer working on the project realizes something can't be parsed in a finite state machine, and 'cleverly' separates out one batch of regular expressions into a loop/recursive call. Repeat until the programmers…

I'm going to play devil's advocate here, and point out that you can actually construct the proper automaton where the transition conditions are decided by regular expressions.

It might work like this: some programmer working on the project realizes something can't be parsed in a finite state machine, and 'cleverly' separates out one batch of regular expressions into a loop/recursive call

In this case, you've created an "Augmented Transition Network" which is equivalent in power to a stack machine or a Context Free Grammar. Is this really playing devil's advocate? That would imply setting up something that isn't a straw man whose solution isn't basic automata theory.

This also gives you an idea of how broken the project was, since my understanding is that they'd fix "that particular bug" and keep writing more regular expressions.

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

#63
post #39

This touches on several issues. 1. Should college teach you to program? This is a philosophical question about whether a CS degree should be educational or vocational . The general consensus seems to be that it should be the former not the latter. It should give you the theoretical foundation that you can apply to almost anything. Therefore, college won't necessarily teach you any programming beyond what you need to…

"Frankly, every good programmer I know started programming long before they went to college or at least programmed outside of college for their enjoyment. If you haven't done that and don't do that then I really have to question if you're in the right profession."

Do you apply those standards to everyone, or just to programmers? If only programmers, why?

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

#64
post #3

You can't expect college to teach you how to program. It's more experience and try-and-fail than anything else. The college will teach you the basic, it will give you a ground to know how to start building. They won't tell you how to put the bricks together.

That is how it is right now, but run into a brick wall until you conquer it isn't the best approach. Guided practice would be much better. For that to happen though we need to get better at being able to describe what we learned by running into that brick wall.

That is how it is right now, but run into a brick wall until you conquer it isn't the best approach.

Learning how to recover and navigate gracefully around the brick walls will serve you well in the real world.

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

#65

Earlier quoted context omitted.

management didn't understand basic automata theory Do tell more about it; as I feel that's not why they wasted millions. That company tried to translate code from one programming language to another using only regular expressions. (This was a long time ago when you couldn't almost count on most "regular expression" implementations being Turing Complete.) Perhaps the problem was really that engineers who understood th…

I'm going to play devil's advocate here, and point out that you can actually construct the proper automaton where the transition conditions are decided by regular expressions. It might work like this: some programmer working on the project realizes something can't be parsed in a finite state machine, and 'cleverly' separates out one batch of regular expressions into a loop/recursive call. Repeat until the programmers…

Wouldn't that still be a finite state automata?

You can create a submachine representing the regular expression transition conditions, and just attach that at the state you wanted, resulting in a finite state machine.

Of course this doesn't hold when you are talking about non-standard regular expressions, and it's probably a nice feature to have when creating the automata, but IMHO it still sounds like a silly idea when CFG-tools like ANTLR and YACC are available.

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

#66
post #58

Earlier quoted context omitted.

I respect your opinion, however I'm quite sure that person who asked this question actually cares about what he does because I don't think he would have posted this otherwise. I mean I could be wrong but this is what I felt when I read it.

Either he just doesn't have the natural aptitude, or he doesn't love it enough to learn. I can't fathom how anyone could be a programmer/trying to become a programmer and not have constant side projects, partially written OSes, games, etc It's easy to say "I want to be an X", but then you realize that you're not spending enough time doing X to become good at it. And the reason you're not spending enough time doing it…

I disagree.

The (quite old; it'd be interesting to see how this panned out) question came across to me as someone who, at the end of their many years in education up to this point, has got very used to directed learning. They are used to learning by being set a challenge with some accompanying theory and completing the challenge. They may well be good at this and enjoy doing it, but they haven't become used to searching out the material for themselves.

In fairness, for a corporate setting this may not be a great limitation! When you're working on someone else's project doing maintenance work as most developers end up doing, the need to seek out new problems and work out novel methods can come later; for now, your work domain is fairly closely controlled.

We may well have a CS graduate without the passion to stick at development, but this isn't necessarily the case. I did very little personal work then, because I had other interests as well and was doing plenty of programming for my course, thank you. I think we've got someone with the self-awareness to realise their limitations but insufficient experience of learning outside of education to know how to address this.

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

#67
post #63
post #39

This touches on several issues. 1. Should college teach you to program? This is a philosophical question about whether a CS degree should be educational or vocational . The general consensus seems to be that it should be the former not the latter. It should give you the theoretical foundation that you can apply to almost anything. Therefore, college won't necessarily teach you any programming beyond what you need to…

"Frankly, every good programmer I know started programming long before they went to college or at least programmed outside of college for their enjoyment. If you haven't done that and don't do that then I really have to question if you're in the right profession." Do you apply those standards to everyone, or just to programmers? If only programmers, why?

I personally don't know of any surgeons who performed surgery before going to medical school or outside of medical school for enjoyment.

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

#68
imho, cs degrees are not supposed to be about programming. their focus should be purely theoretical side of computation e.g. heavy emphasis on algorithms, data structures etc. etc. which pushes them mostly towards applied mathematics imho. most programmers are autodidacts anyways, and picking stuff up is generally not that hard.

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

#69

Earlier quoted context omitted.

I'm going to play devil's advocate here, and point out that you can actually construct the proper automaton where the transition conditions are decided by regular expressions. It might work like this: some programmer working on the project realizes something can't be parsed in a finite state machine, and 'cleverly' separates out one batch of regular expressions into a loop/recursive call. Repeat until the programmers…

Wouldn't that still be a finite state automata? You can create a submachine representing the regular expression transition conditions, and just attach that at the state you wanted, resulting in a finite state machine. Of course this doesn't hold when you are talking about non-standard regular expressions, and it's probably a nice feature to have when creating the automata, but IMHO it still sounds like a silly idea w…

Wouldn't that still be a finite state automata?

The key is the bit about the "recursive call."

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

#70

Earlier quoted context omitted.

Just for the record, I believe the OP over at StackOverflow is actually a woman. At least, I think their nick was "Wendy" when they first posted it.

I upvoted you. My apologies for the gender assumption.

It's ok! I know how easy it is to do, but in this case I happened to remember other posters on SO recommending that the OP not use their full name as their nick, since the question might pop up in a pre-job-interview Google search.
Post reply on HN