5

I am currently a teaching assistant for both master and PhD students. Part of my work included helping and supervising them during several lab experiments (physics). One task of the lab experiments is to write a program to numerically calculate values and simulate them afterwards. The students are allowed to use any programming language they want to use (except stuff like Brainfuck and Whitespace, of course), as long as they provide the source code with the result.
While the master students are not having any problems with the problem, I got was asked by the PhD students if I can help them do the programming in Excel, as that is the only thing they can use and know for "programming".

How far should I now go and help them? I know that doing the task they are assigned to is impossible to do in Excel, but they never used any other language or programmed themselves. I am able to teach them how to achieve the programming goal, but based on their current knowledge that will take a lot of time, which I also need for my own lab tasks. Should I thus simply tell them to drop the course, or should I try to help them, and if yes, in which extent?

  • 5
    Your class should mention pre-requisites, which would include knowledge in one of a list of acceptable programming languages. Does it not? If it does, it's fair to refuse help in other languages; if it does not, well, that's bad. Also, is this an elective class or a core class? Finally, are you sure it's impossible in excel? The VB background is turing complete, isn't it, and it's part of excel; so while it's backward, it should allow you to do any task? – gnometorule Mar 13 '16 at 16:08
  • 3
    You would be amazed at what can be done in Excel. Not the tool I would choose for hard core computation, but it can do likely anything in a canned physics lab. I've certainly seen it used extensively in current research projects. I may give the PI some flack on 'Excel abuse' but it does the trick. The hard part is Excel does not lend itself to letting somebody else (say the TA) actually understand what is happening in the same way that straight code can. – Jon Custer Mar 13 '16 at 16:14
  • 1
    @JonCuster: Thus your suggestion is to let them do that in Excel, but I can not help them in case of a problem? – arc_lupus Mar 13 '16 at 16:16
  • 1
    Writing a simple free-standing program in most programming languages would be easier than using VBA in Excel. – Patricia Shanahan Mar 13 '16 at 16:55
  • 2
    So: If there were no advance requisites stipulating the need for programming skills, then where did this programming task come from? Whoever created this task put the situation out-of-synch, and they have a responsibility for rectifying it now. – Daniel R. Collins Mar 14 '16 at 1:22
6

If you are a TA and have questions about what to do, almost always the first thing you should do is ask the instructor. The instructor should clarify exactly how you should be assisting them, and what the prerequisites for the course are. I would be wary, as a TA, of suggesting students to drop the class.

4

This is definitely an issue for the instructor.

Perhaps programming should have been mentioned as a prerequisite for the course. On the other hand, the prerequisites probably did not list "Must be able to find the physics lab given a campus map.", even if that is required for success on the course. The instructor may have, not unreasonably, assumed that graduate students in a STEM subject can do simple numerical programming in at least one language.

You may want to have a list of options to present to the instructor:

  • If the assignment can actually be done using a spreadsheet, show you how so you can help the students do so.
  • Set an alternative assignment.
  • Pick a time period when you would normally be doing TA activities, and tell the students who cannot program to meet you then. Teach them really, really basic programming in some language with which you are familiar.
3

How far should I now go and help them?

You probably shouldn't be spending any time whatsoever teaching prerequisite skills one-on-one to any individual students. As you say, it is not anywhere in your expected priority queue of work that the university expects you to be doing (plus: it's simply an inefficient use of the time resource). Perhaps the most that is reasonable is to point the student in question to a relevant class, book, or tutorial from which they can learn on their own (and as an aside, to explain why it's a bad idea to use Excel for a task like this).

That said, you note in a comment that "As far as I know there were no requisites stated beforehand". This is, indeed, very bad. I would say if that's the case that the instructor may now have a responsibility to give them an alternative and equivalent assignment that does not involve programming, if that failed to be stated up front in university prerequisites, or on the first-day syllabus information.

Definitely speak with the teacher of the class (and advisor if that's a different person), tell them there are students in the class who don't know any programming, and ask about how to handle this case.

  • 1
    "you may now have a responsibility to give them an alternative and equivalent assignment" - I assume the "you" here refers to the instructor of the course, not the teaching assistant who posted this question? – ff524 Mar 14 '16 at 3:27
  • Giving them an alternative assignment is not possible for me, after I got the assignment from the teacher to do the given experiments and help them with the evaluation afterwards. Thus I have no influence on that. – arc_lupus Mar 14 '16 at 6:20
  • Thanks, I did indeed misinterpret the situation. Edited a bit to reflect that the asker is not the teacher. Definitely inform the teacher about this situation. – Daniel R. Collins Mar 15 '16 at 5:13
2

Personally, my go to is to provide as many resources that are available to them, and then it is their prerogative to take advantage of what I have provided to them. There are a number of excellent resources for students to learn how to code and program in all the languages available online, and for free! I've have used both the free options, and they give practical and immediate feedback on their progress.

Being a TA takes a lot of time, and it being a post-secondary education course these students should be responsible enough to seek help and use the resources available to them. You could put a task from these sites as a lab, or do quizzes based on the activities in each module on the sites below.

If you are looking for free options I would recommend:

  1. Free Code Camp
  2. Code Academy

A paid option is Udemy

Free Code Camp is a collection of many resources from all over the Internet. It has 300 hours of total practice available, all split by the different programming languages.

Code Academy is a website that has a built in lab with it that requires the user to successfully write the code in order to advance through the module. It also has a support community for people to ask questions if they get stuck.

1

I'd state my competences (where I can help without having to study a week to come up to speed) beforehand, and tell them I can't be of much help outside that range.

That said, being able to use Python (perhaps as part of sagemath), or perhaps some language like Mathlab will be very valuable for them later on. Yes, spreadsheets are Turing complete, but that doesn't mean anything. It is much more important that the program is clearly written, and can be fixed/extended by somebody else (even yourself after not looking at it for a couple of weeks).

  • Well, Brainfuck is also turing complete, but I still would not advise anyone doing serious stuff to use it... – arc_lupus Mar 19 '16 at 21:35
  • @arc_lupus, don't compare a language designed (and widely used) for serious work with something created as a sick joke. Search for "Turing tar pit". – vonbrand Mar 19 '16 at 21:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.