123

Started being a Teaching Assistant for Intro to Programming at the uni I study at a while ago and, although it's not entirely my piece of cake, here are some "highlights":

* students were asked to use functions, so someone was ingenious (laughed my ass off for this one):
def all_lines(input):
all_lines =input
return all_lines

* "you need to use functions" part 2
*moves the whole code from main to a function*

* for Math-related coding assignments, someone was always reading the input as a string and parsing it, instead of reading it as numbers, and was incredibly surprised that he can do the latter "I always thought you can't read numbers! Technology has gone so far!"

* for an assignment requiring a class with 3 private variables, someone actually declared each variable needed as a vector and was handling all these 3 vectors as 3D matrices

* because the lecturer specified that the length of the program does not matter, as long as it does its job and is well-written, someone wrote a 100-lines program on one single line

* someone was spamming me with emails to tell me that the grade I gave them was unfair (on the reason that it was directly crashing when run), because it was running on their machine (they included pictures), but was not running on mine, because "my Python version was expired". They sent at least 20 emails in less than 2h

* "But if it works, why do I still have to make it look better and more understandable?"

* "can't we assume the input is always going to be correct? Who'd want to type in garbage?"

* *writes 10 if-statements that could be basically replaced by one for-loop*
"okay, here, you can use a for-loop"
*writes the for loop, includes all the if-statements from before, one for each of the 10 values the for-loop variable gets*

* this picture

N.B.: depending on how many others I remember, I may include them in the comments afterwards

Comments
  • 28
    "It works on my machine" is a classic 😂

    Didn't anyone tell you to turn it off and on?
  • 4
    What python version did you have?
  • 2
    hahahaha beautiful! 🤣
  • 3
    @electrineer 2.7 (required by the course)
  • 2
    @7Raiden not yet! I'm still continuing to be a TA, so I'm expecting anything
  • 10
    The last pic seems to be some kind of super-intelligent AI, maybe even humanity's first successful attempt at creating consciousness 😬
  • 16
    @shinypotato it's time for the course to move to python 3 already.
  • 3
    Oh.
    My.
    God.
  • 4
    @electrineer the lecturer is special :D
  • 2
    The one with the 3 vectors was at least damn creative... 🤔
  • 5
    "But if it works, why do I have to make it look better and more understandable?" is a valid question. They're students learning Intro to Programming, not professional programmers.
  • 0
    Maybe the learning material just sucks
  • 4
    @Xamenyap If they are taught that shitty code is okay as long as it works, they'll always write shitty code.
  • 1
    @irene ah, okay, I hear you. From that point of view it is a sensible question, indeed.
  • 2
    @shinypotato Not a big problem, but because teaching programming is for the future, teaching a language that will be deprecated is not recommended (Python 2.7)

    On the other hand, changing a class is a lot of work
  • 2
    How about giving them a Virtualbox (or if you want them to work on terminal) a docker/vegrant file, where it has to run in (you can also provide volume mappings for the later two, so they could still use their IDEs
  • 0
    > can't we assume the input...

    Tell him people love to provide garbage. A lot of garbage tyat they have accumulated over from the last time they saw an input field.
  • 0
    Look at it this way:
    1. Teaching assistants are the people mean to be spammed.
    2. At least you don’t get everybody submit the same wrong answer which can be found in google’s 1st github result.
    3. Does “g = math.floor(grade / 10); g = g if g < 10 else 9” work?
  • 1
    I almost rofl with the "technology has gone so far". xD
Add Comment