The computer does not give partial credit

I am working with a student on a programming project at present. I can see that he needs to make a fundamental shift in his mentality in terms of working on a project like this, as opposed to the sort of things he's used to doing in school. He is a smart guy, but he is used to thinking things through part way, and getting close to the idea, and having professors tell him "not bad."

But the computer never tells you "not bad." You either got the code right, and it does what you wanted it to, or you got it wrong. Something very close to the right code can often produce results wildly off from the right results. The computer does not give partial credit.

8 comments:

  1. Gene, out of curiosity, what language are you using...? After getting used to Python, I have found it to be my absolute favorite. Of course, it isn't as fast as C, but I will gladly give up some run time for not having to deal with curly brackets anymore!

    ReplyDelete
    Replies
    1. Python

      I prefer the brackets to using white space for blocks: the white space can make for some hard-to-discover errors, for instance, if you mixed tabs and spaces, the code can look fine, but not quite be what you meant it to be. If you have an editor that matches braces, you can always tell where your code blocks are.

      To what end do you program?

      Delete
  2. Gene, yes: a good editor seems to be very important for programming in C. I suppose that if you were to know how to do everything in both languages, C would be better in spirit of its power, and speed.

    I program mostly as a hobby: this might sound nerdy, but I find that the most enjoyable things that one can do is finding ways to make code useful with regards to solving math problems. This is extremely difficult (at least for me!) but it is extremely fun, or at least, so I think. Project Euler is a fantastic site for sharpening the ol' slab of meat that is my brain, and I use Python mostly for goofing around and figuring these things out. If I had more time, I would like to get something going as far as getting Python to run certain programs: I think that would be novel and neat!

    But my level of "expertise" isn't anywhere near yours. My interest is from a hobbyist perspective - most of my time is spent on mathematics and philosophy. I am the webmaster of a site on Texas Tech University campus along with a software engineer who knows much more than I do. The site runs on WordPress, and as such, even a severely deformed yak could work with it. Things get more hairy, however, when it has to interface with SharePoint - and this is what the other fellow is largely there to do. I more or less do everything else that isn't related to SharePoint or .NET framework programming, so uploading media, CSS dabbling, and HTML messing around and widget troubleshooting in order to fix pages that "look funny." Python is something that I mostly use in my spare time to mess around with math and to try some small programming projects. Philosophy and mathematics itself, however, has the very large share of my time. =)

    ReplyDelete
    Replies
    1. Don't get me wrong: I like Python. I just don't like whitespace as a block delimiter!

      And braces exist in Java and Perl. In fact, Python is the first language I have ever used that treats indentation as a syntactical element.

      Delete
    2. You never used FORTRAN?

      Delete
  3. I just hope that poor kid doesn't read this blog!

    ReplyDelete
    Replies
    1. Why "poor kid" Bob? Why do you hope he doesn't read this blog?

      His feelings would be hurt? No, this is exactly what I told him in person the last time we met. I publicly... Well, what? Ebarrassed him? No, I didn't even name him, did I? And the post isn't about him at all: it os about our educational system, that too often lets smart kids slide by too easily.

      So, it looks like you just felt like taking a shot at me.

      Delete
    2. I always say there are two kinds of people: those willing to be wrong and those not. Programmers have to be willing to be wrong. There's no "poor kid" about it. Unless you look at it from the perspective on one not willing to be wrong I guess.

      Delete