PDA

View Full Version : Self Doubt . . .



NightrainSrt4
02-16-2011, 09:00 AM
I'm tired of it.

For our "big" project in our Software Engineering degree we have to write essentially a virtual machine for a hypothetical computer, which we can then write a multithreaded operating system that we can deploy on the machine.

I've finished the vm for the computer. We then have to do testing by running machine code programs the professor has written on it (among our own as well). It freaks out and goes into an infinite loop. I spent five hours going through my code checking each line, debugging, etc. I finally give up, grab a whiteboard marker, and go at it on my sliding glass door all Charlie Eppes from Numb3rs style. I then can see right there the professor was the issue, not my code. He addresses the wrong memory location several times. Change his machine code to point to the right memory location, and boom! Works like a charm.

I have to stop doubting my abilities. Anyone else doubt themselves to the point sometimes where it has to be you the one wrong, and don't even consider the other parties involved?

xr4man
02-16-2011, 01:46 PM
yes, but i've learned it's usually not me.

x88x
02-16-2011, 02:48 PM
Yup. Especially when I'm working with expensive equipment. I've learned to trust my instincts though, because while they're not right all the time, more often than not, they are.

I had a similar situation to yours in a freshman CS course I took several years ago. The second portion of the final was a programming test, actually on computers, which was nice. We were supposed to take some code that the professor provided and expand it to do certain things. ...I was one of the first ones out and it took me about an hour...about 45-50 minutes of which was fixing the professors code.. :facepalm:

In all honesty though, it's a good test for doing software development in the real world. Yes, you can go over your code line-by-line to verify that your stuff is working, but sometimes it goes a lot faster if you remove the assumption that the stuff you didn't write is working properly. I've had more than a few cases at my current job where that's happened. The first couple times I wasted days pouring over the code I was maintaining, before finally thinking to look at the data (or rather, lack of data) that I was actually receiving. :P To quote Jayne Cobb: "Nothin..into nothin. Carry the nothin.."

dr.walrus
02-16-2011, 02:55 PM
I wrote some perfectly logical SQL today that managed to bring the test environment down because MySQL is a pile of bear ****, and even a simple nested subquery fell over with a medium sized data set (14000 records).

After trying half a dozens methods, still sat at 2s PER RECORD QUERIED in a TWO TABLE QUERY, I broke it down into six queries/statements that created temporary tables and recycled them afterwards. Takes 5 seconds to do the whole lot now, twice.

Sometimes you gotta take a step back, have a break for ten minutes, and logically step through the potential pitfalls one by one - with NO assumptions.

Forunately I only work in high level languages, sat miles away from the 'machine', so the range of debug tools I have is endless - yours are limited at best!

NightrainSrt4
02-16-2011, 04:21 PM
I'm writing it in C#, so a high level language, but the code is emulating a machine based on the specifications we are given; so it has memory, registers, pc, etc, etc.

So if there was something syntactically wrong C# would catch it. But as for actually debugging the machine I've written - ya, I've got nothing. Anything I want to use I would have to write.

I thought there might have been something wrong with the way I was addressing the memory or registers, or even my address mode code, but I could find nothing. Once I stepped back (after 5 hours of writing debug output and scouring code) and wrote out a visual on the "whiteboard" and stepped through the machine code I realized he was just accessing the wrong memory location.

A duh! moment now, but it hadn't even occurred to me the professor's machine code was wrong. Should have been the first thing I checked as he's made big mistakes before, but I wasn't confident in my code as it was my first time attempting to emulate a machine.

DynamoNED
02-16-2011, 08:42 PM
I know that place you're talking about, Nightrain; been there a few times myself. Back in my undergrad, I had a professor who gave us an assignment in assembly language for an ARM8 processor; relatively simple stuff like building a recursion loop. My friends & I drove ourselves crazy trying to make our code function as intended, only to be told at the next class meeting that he had told us the wrong set of registers to use on the processor for the assignment; hence, the perpetual garbage we were getting. When we used the proper registers, it worked perfectly.

AmEv
02-16-2011, 10:08 PM
My worst experience programming?
During Game Maker.


For some odd reason, I bumped the Shift key at the beginning of a variable, not sure which one.It would launch the game, route directly to the high score table, and when I tried exiting, it would just route right back.

Took me about a quarter of an hour, but hey, I learned something.

NightrainSrt4
02-17-2011, 08:57 AM
So we hand the project in by three big sections: the vm for the machine, the os, and I think the last section is the upper application layers.

Turned in the VM last night. Me and a whole two other people, out of a class total of ~16. A lot of the other guys have no clue what is going on. This is the way its gone through every programming class. The problem being they will hand it in weeks late, after copying code from other people, and still get the same grade. I've watched them do it since freshman year. I guess they just call it "collaborating".

We're given a pretty strong specification and even some pseudocode for the main outline/structure and people are still complaining. One guy I overheard was complaining that the professors pseudocode looked too much like C so he couldn't figure out how to write it in java. :dead:

It's entirely obvious to me I am, and have been, way out ahead of the pack and yet I still seem to keep finding myself in situations I'm doubting myself. When will I learn? Lol.

x88x
02-17-2011, 02:56 PM
One guy I overheard was complaining that the professors pseudocode looked too much like C so he couldn't figure out how to write it in java. :dead:

lol...and it's a C# course? :facepalm:

NightrainSrt4
02-17-2011, 05:19 PM
No, it's an OS Internals course. I just chose C# as the language I wanted to use to implement with. The school is currently teaching its courses primarily in java. The language shouldn't matter anyway, it's just a matter of small differences in syntax and libraries for the most part.

But these are the same people that when we had a quiz in another class today busted out their laptops when the teacher left the room and looked up the answers. Also the same people that act like know-it-alls. Easy to do that when you've got google running on your iphone under the desk. So much for integrity, but whatever, I've grown to hate people. Makes it hard to make close friends when I don't agree with so much of what most people do.

msmrx57
02-17-2011, 07:22 PM
So much for integrity, but whatever, I've grown to hate people. Makes it hard to make close friends when I don't agree with so much of what most people do.

This is exactly the problem with MOST students today. Note I didn't say all but yes a large amount of this happens everyday without enough reprecussions on the odd chance they get caught. It may come around and bite them it the rump later. But by then they've most likely graduated and got a job and now make the school look bad by not "teaching" effectively. :(

NightrainSrt4
02-17-2011, 09:50 PM
Ya. Sucks that these will be the people I'll be competing against for jobs after I graduate.

I am by no means perfect, but I tend to think character flaws can be worked on / overlooked but you can't change someone with crappy integrity/honor.

I guess that's why I've always gotten along with old people. Never fit in with my generation. Too many people I know act as though they are owed or are entitled to something. And if they don't act as though it should all just come to them, they will go and do whatever to get it, regardless of who they affect along the way. Bleh.

AmEv
02-17-2011, 10:46 PM
Ugh.


Seems like general population is becoming bad.
[sarcasm]By the looks of it, an untrained monkey will have a higher IQ than the average person.[/scarcasm]

I AM annoyed with the fact that I am stuck in history class with a bunch of brats with a whiney teacher. NOT a good learning environment.

crenn
02-19-2011, 01:05 AM
It's not something I'm proud to admit, but I've cheated twice in exams during my uni course... however it's not quite what you think. A lot of the subjects I take give a formula sheet for their exams... except majority of them are nearly useless for the exam, some subjects don't even give a formula sheet, but we're expect to memorise long and usually complex formulas. We're not allowed to take in any supplement material unless we're allowed to, but that's a rarity.
So on 2 occasions, I programmed formulas into my graphics calculator, and then hid them. I technically met the requirements for the exam by erasing the RAM of the graphics calculator getting rid of the formulas... but I bring them back using another function built into the calculator, the exam coordinator knows about this function, in my first year at uni, I showed him, but he wasn't concerned about it at all. Anyway, the only way I cheat.... is by using an external memory device to have the formulas I need since I have a very poor memory.

I hate exams since in the real world, you have all the reference material you need with you, or have the means to quickly get that material.

x88x
02-19-2011, 01:40 AM
I hate exams since in the real world, you have all the reference material you need with you, or have the means to quickly get that material.

Exactly why I loathe most of the modern education system. It says it's supposed to prepare the students for a career, but the way that they evaluate that preparation is by placing them in a situation that does not exist anywhere outside of academia. ...well, ok, there's a couple situations with similar limited access to outside information, but not many people end up in those situations...

MrGoat
02-19-2011, 02:30 AM
The slackers in your class are the same people who will end up in the workplace and forget tiny insignificant things like proper Error Handling or Trash Collection. Then I get caught having to deploy this in the field..... I swear one day I'm going to snap and stab some codemonkey in the groin with a spork. :banghead:

When it all comes down to it however a good shop is going to be able to weed out canidates who know their trade during the interview process. Remember that you have been coding this as a game for a couple of years, you'll be interveiwing with someone who has been doing this to put food on the table day in and out for years. Trust me if you walk in there and don't know your stuff they will know, proboly after the 1st question or two.

My point here is taking your time and learning your buisiness inside and out now will pay dividends when it comes time to go for that first job and posibly keep you from being stabbed with a blunt object by an angry Systems Admin.:D

x88x
02-19-2011, 03:24 AM
The slackers in your class are the same people who will end up in the workplace and forget tiny insignificant things like proper Error Handling or Trash Collection. Then I get caught having to deploy this in the field..... I swear one day I'm going to snap and stab some codemonkey in the groin with a spork. :banghead:

Just make sure the one you're stabbing is the one who did it, not someone who just got the tangled mess that is the codebase dumped on their lap and is trying desperately to make sense of the damn thing. ...because I've totally never been in that situation... :whistler: Trust me, they'll want to stab the one responsible at least as much as you. :P

NightrainSrt4
02-19-2011, 02:25 PM
We had another quiz yesterday, this time actual problems and not multiple choice and they did it again. I pointed it out to the professor politely in an email and he said he will address it. I couldn't care less as I knew this stuff and we aren't graded on a curve, but I know a few people in the class study their asses off and still can't quite grasp it. It isn't fair for them to have people with the same level of knowledge and understanding get a leg up by cheating.

All we had to do was describe a way of proving the set of all infinite streams of (insert finite alphabet here, in this case ASCII characters) was uncountable and a few other similar yet relatively trivial problems. I was the first done and out, and I could see people's papers as I left that were still entirely blank, including those who were cheating on their laptops.

I wonder how they are going to do next Wednesday when we have another quiz on proving correctness of deterministic finite automata, and using the pumping lemma to show a language is non-regular.

DynamoNED
02-19-2011, 08:57 PM
Exactly why I loathe most of the modern education system. It says it's supposed to prepare the students for a career, but the way that they evaluate that preparation is by placing them in a situation that does not exist anywhere outside of academia.

I understand exactly what you mean, x88x. Skill assessment (a.k.a. testing) in schools & universities is largely unrealistic in comparison to real-world application. That's why I prefer, whenever possible, to give what educators call "authentic assessments" (in business, it's called "performance based review"). Basically, after teaching the material, give them a "real-world" problem that they can use all resources available on, and they build a portfolio that I then assess at the end of the grading period.

However, from my perspective as a teacher, the problems that create this unrealistic testing situation are two-fold: 1) current teaching methods are largely dictated less by methods proven by research to stimulate learning and more by what must be covered to pass the state-mandated test for the subject. Since it is largely lawyers & career politicians in various state capitols who drive education policy, and thus the standards, this leads to teaching to the paper test so you can attempt to keep your job. 2) traditional paper tests leave a nice "paper trail" that can used as a good defense when a belligerent parent comes in wondering why their perfect little darling is failing your class. Much like doctors who are forced to practice "defensive medicine," teachers will practice "defensive assessment" because, rather than assuming that teachers are generally competent with a few rare exceptions, the general public (but lawmakers especially) assumes teachers are all incompetent with a few rare exceptions.

Stepping off my soap box now...



All we had to do was describe a way of proving the set of all infinite streams of (insert finite alphabet here, in this case ASCII characters) was uncountable and a few other similar yet relatively trivial problems.

Oooooh...I have to ask what type of proof you used. Seems it would be a generalization of that controversial "diagonals" argument Cantor used for why there are uncountably many numbers between 0 and 1. Or did you use something a little less likely to induce rabid foaming at the mouth to strict logicians? :D



I wonder how they are going to do next Wednesday when we have another quiz on proving correctness of deterministic finite automata, and using the pumping lemma to show a language is non-regular.

If they are anything similar to the people I knew in my classes who did the same thing, they will derp it up royally, and then complain that it's the instructors fault, because heaven forbid the instructor require them to think! :rolleyes:

x88x
02-20-2011, 12:01 AM
papers as I left that were still entirely blank, including those who were cheating on their laptops.
lol. I love it when that happens. :P If they'd put as much effort into actually learning the material as they did into cheating, they'd probably be out the door right behind you.


1) current teaching methods are largely dictated less by methods proven by research to stimulate learning and more by what must be covered to pass the state-mandated test for the subject. Since it is largely lawyers & career politicians in various state capitols who drive education policy, and thus the standards, this leads to teaching to the paper test so you can attempt to keep your job.
This drove me nuts the short time I worked at a school, even though I didn't have anything to do with the education (computer tech). The entire 3 months I was there, right up until they took the actual tests, the only thing that they taught the kids was the material to pass the state tests..

NightrainSrt4
02-20-2011, 10:41 AM
Oooooh...I have to ask what type of proof you used. Seems it would be a generalization of that controversial "diagonals" argument Cantor used for why there are uncountably many numbers between 0 and 1. Or did you use something a little less likely to induce rabid foaming at the mouth to strict logicians? :D


That is pretty much exactly what I used, not for a lack of understanding of the controversy but, because that is exactly what the professor wanted. I honestly don't get to explore where my mind takes me on problems like this. Perhaps it is just my school, but it seems to me that CS professors idea of a proof is like grabbing a paint brush and waving it around wildly and calling it a day.

I often understand where the professor is trying to go, but the method of proof just whitewashes everything. His proofs involving structural induction are cringeworthy. I understand to actually prove some of these concepts would be beyond the scope of the course, but I point out that it is an oversimplification and he can not seem to see why. It's futile, so I keep my ideas to myself now, and just give the answers they want to hear.

If only some of the long proofs I had to do for some math courses could be condensed to a single statement the way CS professors do it and just put my justification as "because, . . . see".

If only I had known I was going to get really sick, not be able to spend a few years in the Shaolin temples, and my martial arts dreams and school crash around me. If I had known that, I would have 4.00'd high school instead of dicking around and just doing enough to get A-'s and actually applied to some of the school's I could have gotten into. Now I'm finally getting / being healthy and am stuck in a school where I am bored out of my freaking mind and just want to finish my degree and go. I just wish I could go back and choose a place that would actually challenge me instead of me getting "crappy" grades (read, non-4.00) because I can't be bothered with this tedium that doesn't even spark a single neuron. It sucks to outpace everyone around me while being a slacker and not caring, and know what I could be capable of if only I had someone/a school that challenged me. Every semester I try and be a perfect student, but fail after a couple weeks as this is boring me to freaking death. Eh, it's life I suppose. Could be worse. I just feel like I could have made some big contribution to the world but screwed it all up by wasting energy hating the world for so long for taking my passion away. If I hadn't been so focused on things I've lost, maybe I could have made a difference. It's not too late for anything, but it sure as heck feels that way.

/rant over.

x88x
02-20-2011, 10:05 PM
It's never too late to follow your dreams. All it takes is the willingness to sacrifice what is necessary to pursue them.

blaze15301
02-20-2011, 10:15 PM
when in doubt C4!

crenn
02-21-2011, 08:26 AM
C4? As in the explosive? Are you mad? It might cure self doubt... but it also cures living!

x88x
02-21-2011, 11:40 AM
C4? As in the explosive? Are you mad? It might cure self doubt... but it also cures living!

Only if used irresponsibly. Otherwise it cures boredom! :twisted:

AmEv
02-21-2011, 12:20 PM
Or are you talking about vending machine choice C-4?

mmmmm... skittles....

SXRguyinMA
02-21-2011, 12:44 PM
Or are you talking about vending machine choice C-4?

mmmmm... skittles....

:whistler::facepalm::D that made me LOL

NightrainSrt4
02-21-2011, 09:57 PM
Skittles make my throat hurt by the end of the bag. That would only make me doubt my C-4 choice.

Lol.

ownaginatious
02-22-2011, 01:53 PM
I wonder how they are going to do next Wednesday when we have another quiz on proving correctness of deterministic finite automata, and using the pumping lemma to show a language is non-regular.

lol, I remember when I learned that in Discrete Mathematics II. The way my textbook and professor taught it was as if we were "fighting a demon" or something.

AmEv
02-23-2011, 01:33 PM
Good job, Blaze.
I was just showing my comical side.
Wasn't expecting THAT.

SXRguyinMA
02-24-2011, 01:07 PM
damnit blaze you stole my sigquote! lol

:EDIT: that's ok though, I'll just use crenn's :D