Hey school, I my shit!

Ok, this is just going to be a total vent. Nothing to really debate about it.

I’ve taken computer science for 3 years in high school. I KNOW how to fucking code in C++. Now I’m back in an entry-level programming course (SANS 174) learning how to code C++ with the rest of the students who’ve never touched this stuff in their life. I TRIED to sign up for the damn 274 course, but I didn’t have the prerec. Fuck that. If I know I can do it then let me. If I fail it’s my own fucking fault. So I go to take this “profeciency test” right? I asked for a review of what might be on the test. I could do everything on the review no problem. The review he gave me was the 1st mid-term in the 174 class. Very basic stuff. Then I get the profeciency test. Maybe, 2 problems on there were like the one from the review. That’s bull shit. It’s not that his test was really hard, it’s just that I didn’t expect the stuff, so of course I don’t review the hard stuff that I had to teach myself. I learn how to write my on classes and headerfiles on my own. So ofcourse mine aren’t going to be like the books. But they work. So fuck you for saying my way is wrong. I got a fucking 60 on this test and I needed a 74. 30 points was writing code out by hand. Fuck that, I bet if he gave me 30 min. to write the code on the computer I could have it working. You don’t write a program out on paper, you put it on the program. How many people can write their own class perfect without any syntax errors the first time?! Theirs a debugger on those things for a reason damn it! I know how to do everything on that damn test, but just because it doesn’t look right, doesn’t mean it’s wrong. Go back to Germany or where ever you came from and teach over there you prick.
Now, of course, I feel like a fucking moron. I feel that I’m not good enough to be a good programmer. Which I know isn’t true, but it hurts the ole’ self-esteem ya know? I know that I can do this shit…but “they” say I’m not good enough. Well fuck them. They can kiss my ass when I’m making a shit load of money cuz they aren’t getting a fucking dime of it!

Hey school, I my shit!

What?

Are you taking english at that school by any chance? :wink:

Take a breath man before you pop a gut~~ it’ll all work out.

Ok, in my state of rage i forgot to add I KNOW my shit to the thread title. It’s gonna be one of those days.

Hey dude, been there, sort of.

I took a semester of calculus at the local community college during my senior year in high school, because I’d already exhausted all the math my school had to offer. When I got to college for my freshman year, I had to take a test to determine what math course I would start in. The highest-level questions on the test were four simple trig questions – which I’d taken back in 10th grade. I was placed in Calculus I.

Hel-LO?! Shouldn’t a placement test have at least some questions at a higher level than the course in which they want to place you?! I didn’t mind retaking the class too much, though – I needed the review.

It’s 16 years later now. I graduated with a graphic art degree (having taken three semesters of calculus in preparation for my 2-year stint in the computer science program), and now I’m a freelance copyeditor.

Try not to sweat it too much, cykrider. Take the class – you’ll ace it with your previous experience, and you’ll probably barely remember this (and it won’t matter at all) ten years from now. (And even if your way works, it won’t kill you to learn the “standard” way, just to add to the variety of your knowledge.)

Well, you can console yourself with the fact that nobody fresh out of school really knows how to program anyway, so even if you passed the test you still wouldn’t know shit. But I’m guessing that won’t make you feel any better. I’ll rephrase it:

You are good enough to be a good programmer. (Probably, that is. I don’t know you personally, but I’m willing to be optimistic.) Your school may be different, but most schools don’t teach nearly enough to really prepare you to have a full time programming job. The first year or two of coding is a HUGE learning experience, and if you’ve taught yourself enough already on your own, then you show more promise than the people getting A’s in the classes because they memorized the book. Being a professional programmer is like this:

Boss guy: “Hey! We need you to write up a a library that will horificate a tlelaxian sigfud, using Microsoft’s new VRGX5 technology. Oh yeah, it needs to be platform indpendent since we have a customer who plans on running it on his kid’s Speak-n-Spell, circa 1982.”

You “Huh? What’s ‘horificate’ mean? What’s a tlelaxian sigfud? I’ve never heard of VRGX5! Plus, it’s IMPOSSIBLE to make it run on a Speak-n-Spell!”

Boss guy: “Joe in sales told the customer we’d deliver it in 4 weeks. Go do it!”

You: “Ummm… all right.” Start doing web searches on “sigfud” and “Speak-n-Spell.”

They just don’t teach this kind of stuff in school…

Too bad there’s no debugger for being coherent.

Seriously man - this is coming from a gal with well more than a million executable lines of code under her belt - what the hell? Do you really use the “compile and pray” method to write code? If so, you need to get out of that mode fast. A lot of people have come through my office coding that way - they do not make the mystical “big bucks”. They get fired. And get jobs installing hard drives in new PCs. It sounds like you need to find a guiding star for coding improvement - like a Michael Abrash or something. Have some humility. Practice.

You say your classes and headers aren’t “like the books”. Did you stop to think you could learn from the books? Writing tight, fast, efficient, easily debuggable, well-commented, neat code is the true sign of a Code Mistress or Master. It’s also a reflection of how your thought process works. Yes, it is true these things cannot be taught in a book - you realize this. But you can still learn from others. No matter how good you think you are, you can always be a whole hell of a lot better. Even after doing this shit for 8 years I still improve each year - and look at code I wrote last year even, and grimace.

As to writing out the class perfect each time - depends, how big is the class? Is it always so easy to “compile-and-pray, my son?” If I touch a base class or header on my machine, I may have to rebuild 4000 files to see if I have any issues come up - just on the build. On my PIII 600, that takes about 15 minutes. Of dead time. Plus, then you have to test it, to see if it works. That can take from minutes to hour to days. There is a need to get these things right the first time.

Please, calm down. Concentrate. Have humility enough to learn. If I stand up right now, I can look and find 10 better coders than me, and about 20 worse. There’s always someone who knows more than you - steal their knowledge, and become stronger as a result. Then you have a shot at being someone big in programming, and driving home in your Ferrari each night.

Gone through this type of thing myself, and it does suck.

That stinks. However,

One of the points of taking a class is to learn a better way to do things. Although your way may work, that doesn’t mean that it’s the most efficient way to do it. You may actually learn a few techniques. Relax. You should get an easy A.

But this is an into-level course. How am I to learn from people who have never seen C++ before? Classes aren’t hit upon until the next course in 278. If they’d let me in there then I would learn how to be neater. You can’t really simplify: cout<<"Hello world!
";
You’re right, “compile and pray” isn’t the way to go. I’m getting to the point where I can look at my code and I know if it will work and what it’s going to look like. But if we use input and output statements all day what’s the point? I guess what I’m trying to get at is that I’d like to be challenged.

kay. i challenge you to drop trou and take a big ol nasty shit on yer instructors desk for not acknowledging the coding genius of yourself. go forth and prosper.

Athena, have you been living in my body and stealing my experiences? I thought I was the only programmer who had to go through this sort of process week after week. I figured everyone else was just always on the same platform using the same programming language to do slightly different things every day. Yay, I am not alone.

There is one part of the scenario missing.

You: Ok, I put together the library that will horificate a tlelaxian sigfud, using Microsoft’s new VRGX5 technology I added some Plattud features, because Micorsoft’s new standards needed it. Since I had some extra time, I also, put in yigbob enhancements so the Speak and Spell could be more user friendly.

Bossy Lady: Oh that? The client called last week and said his speak and spell crashed. We decided to use Java and run it on his microwave instead. But, we need to find out if it is possible to implement tryod extensions on his microwave, without affecting his food. Let me know by Monday.

::Rinse and Repeat::

Great post, Athena.
pat

Pricciar: I bow to your enhanced knowledge. You’re right, I did leave out that part. There’s also the slightly different scenario, like this:

You: Ok, I put together the library that will horificate a tlelaxian sigfud, using Microsoft’s new VRGX5 technology I added some Plattud features, because Micorsoft’s new standards needed it. Since I had some extra time, I also, put in yigbob enhancements so the Speak and Spell could be more user friendly.

Boss Guy: Huh? What are you talking about?

You: You know, that sigfud project we discussed six weeks ago. It’s done, and I added yigbob codes.

Boss Guy: You’ve been working on that? That project was nixed a month ago. You’re supposed to be working on the singafetic co-threader for the MixMaster. Who told you to work on the sigfud?

You: <in small voice> Ummm… you did…

Boss Guy: I did not! Where is that documented?!? We have to get the co-threader out by noon tomorrow, and you’ve been screwing around with the sigfud! You better work late to get that done! Ooops, I gotta go - I have an appointment to get my hair cut. Leave me a voicemail when the co-threader’s done, would ya?

In addition to Anthracite’s post, this is the wrong attitude, and it won’t get you very far if you want to do software for a living. At any job you’re going to be told how to write your code, and you will also have to conform to their standards and procedures. You’ll have to write code that is easily understood, and they’ll even go so far as to say you can’t use certain constructs. (For example: my company says “No friend classes. Period.”) Nobody likes a “hack programmer” that just throws code together and says “it works”. It ends up making everyone else’s job more difficult when they have to add to or change that software. Basically what I’m trying to say, is that doing it “like the book” is just as important as writing code that works. If you don’t do it “like the book”, you’ll end up without a job, just like you ended up failing that test.

Athena and pricciar, at every job I’ve worked at the line was “great job on that project, just one little thing…you know the customer wants hardware, not software, right? There’s a difference, isn’t there?” This is usually said by the developers working on the projects when told, one week before shipping, that we are missing some key feature that some one just came up with.

cykrider; take the class and gut it out. You can learn a lot in a class like that; mainly because it will be easy enough that you will have spare time to read current literature on the subject. It may also give you a little bit of experiance in preperation for code inspections, one of the funner events that you’ll encounter during your time in the field. You probably won’t learn anything on making code tight, neat, efficient, or well commented, but you will learn the discipline required to make sure your code is understandable by, shall we say, less talented individuals. This is an extremely useful trait to have in the real world.

Plus, containing the boiling-anger will give you good practice at dealing with [product,project] managers.

Well, thanks for all the advice. I do admit that I feel a bit better. However to add insult to injury, this guy just gave me our programming assignment back and told me I have to do mine over because I used an array and we haven’t covered “arrays and do,while loops yet.” So I’m supposed to re-write this program just like everyone else in the class using nexted-if statements. FTR I’m going to have to use 9 if statements. So I’m going from about 15 lines of code to about 50 or so. Hows that for effiency?

Thanks again. I’ll try and find some value in this class, if not I’ll just end up reading ahead as always.

Damn. Well, there is probably some value in rewriting it using the if statements, but I’d probably be pissed, too. Forcing you to write code in a way that isn’t the best way to do it simply because “we haven’t covered it yet” is pretty stupid IMO. And I also agree with you on the syntax error thing above - I don’t think I could handwrite code if my life depended on it. Hell, I have a hard time writing code if I can’t use my usual editor.

cykrider- you’re going to be fine-
you are rapidly acquiring the best attitude, you did good by coming here with it- you got some swell advice from some admirable people- I don’t know shit about coding, but I know some about life and the necessity of being able to take advice from the proper sources and calm down.
You have/are done/doing these things- you’ll be a hell of a coder and all around person if you keep this up

gwan, smile at yourself

cykrider

I can understand your frustration with the test. I sucked at hand-written coding on CS tests. I do to this day. I think I’m a good programmer today, but there are still functions I have to look up syntax for after the compiler finds the error for me. If your grasp of logic is good and you work out a good design first you’ll do well (I know you’re probably not doing design in college - none of us did. Trust me, you will learn the advantage of good design and good comments. For me I learned to do both after having to fix code that had a gozillion gotos and code like the following)

C=C+1; /* add 1 to C */

[rant]
No Shit you’re adding one to C. What the hell is C and why are you incrementing it!?!?

(note, this example is oversimplified - in short, don’t tell me what the code does, I can see that - or I should be able to if the programmer isn’t trying to impress me with his obscure knowledge of arcane programming syntax. Tell me why you’re doing it).
[/rant]

Sorry, back to your situation. One thing I took away from college is that a large portion of it is about paying dues for the piece of paper that magically gets you an ounce of respect in the interviews to come. I had to take Intro to CS as well, even though I had enough knowledge to teach the class. I haven’t used trigonometry or calculus since the day I walked out of those classes. Hang in there, it will get better.

Ok… the rewriting the program is stupid, but I remember having to do the same thing. It shouldn’t even take you that long, so just try to deal with it. You should get an easy A. Just think about the people who take 2 hours to do the homework and you’ll feel like you’re good at it.

The other advantage is that maybe some hot chick (or even a nice looking chick) will see that you’re good at it and ask you for help. You can give her “special tutoring”.

Worked for me in assembly class.

I remember reading somewhere that the difference between a great programmer and a good programmer was huge. One great programmer is worth 10 good programmers, as far as an employer is concerned–a smart employer, anyway. So take this opportunity to work on becoming a GREAT programmer. You can tread water in this class, or you can use at as an opportunity to nail this stuff. Learn the book method, as well as your method. Know why one is better than the other, and whether that might differ according to the project.

Just wanted to throw in my own, somewhat similar college experiences for you, Cyk.

I took a placement test when I first went to college, so that I could bypass some of the more mundane English courses out there. I was an English major, after all, with straight A’s throughout high school, and a serious creative writing habit, so why should I have to sit through boneheaded 100-level introductory English courses?

One thing I failed to take into account, though, was that the test was hand written.

My handwiting looks like a doctor’s prescription scrawl, if that doctor had just been up on a three-day methamphetamine jag. I started typing everything I handed in at school by age twelve.

I landed in a remedial English course. Below 100-level.

I failed it. I just didn’t go. Couldn’t bring myself to write and rewrite the same stupid assignments constantly. Of course, I had also discovered how to get prerequisites ignored (long story), so the first semester of my freshman year, I got an A in a 300-level english course, and failed remedial english.

The next semester, at the urging of my advisor, I tried remedial english again. With the same results. Really enjoyed the Shakespeare class, though.

By the third time around, I knew I wasn’t going to make it. Right after the first class, I went to the professor. I brought in some A papers I had done for other classes, and explained the situation. She was amused, and intrigued. Here was a student stuck in a course beneath his level, who was asking for harder assignments.

That was one of the courses I remember best from college. The assignments she came up with for me were odd and imaginative, her comments were interesting and illuminating, and she made me work hard for that A. I think I learned more from remedial english than I did in most of my creative writing classes.

So maybe, Cyk, you might want to try the same tack. Go to the professor, and ask for harder work. Explain yourself. Do it well, and you may get one of the best experiences of your college career.

Just a thought.