I am a TA for undergraduate Introduction to Programming class at freshman level. I usually have around 30 students per semester who have two hours of lecture earlier during the week with their professor then the applied three hours of lab hour with me. The labs start from how to compile and run code to variable assignments and arithmetic operations, flow control, arrays and very brief introduction to object oriented programming.

My problem stems from the fact that my university does not admit students into particular departments. They start as engineering students and select a diploma programme at the end of their freshman year. Furthermore, only computer science has a class for freshman year, all other departments start their department courses after students have picked their programme. This creates a bias for students who will pick other majors, such as civil engineering, mechanical engineering, even electrical engineering. I often get asked, "Why am I taking this course?"

During my lab hours, I have a quarter of the students who are eager to learn and want to discuss programming with me, mostly composed of those who will pick computer science programme. The rest feels like they don't even want to be there, will get vocal when the assignment challenges them, disrupting the entire class (they are in the majority anyway). A lot of cases of cheating happen regularly which is automatically handled and they get a zero grade, after which they find ways to cheat the similarity detection by altering the shared code. My solution, which I am not definitely happy with, is giving into their demands, spelling out or sometimes typing the solutions. While they distribute the code among themselves and alter it to avoid cheat detection, I have enough time to tend to the first portion of students who actually benefit from the lab sessions.

  • This is my third semester, all of which were almost identical regarding this issue
  • As a TA, I have very little control over the content of the course itself, I do prepare lab material but according to guidelines set by the lecturers.
  • The professors are aware of the issue, I have brought it up numerous times. they are not happy with the universities policy either but the problem is often brushed away
  • It feels like discrimination towards students, which is a concept I don't want to have in my classroom
  • I know what I'm doing is not ethical and I'm not happy with it, yet there doesn't seem to be a better solution.

My questions then would be: how can I approach the class and handle this issue. I really would like to reach the majority of students who think programming is not beneficial to them as well as help the minority of the students to prepare them for the upcoming (and much harder) classes.

  • This problem should be put squarely on the department's shoulders. And if the department refuses to address it, I suggest you request a different TA assignment. Do you have a grad employee union? Jan 17, 2018 at 11:58
  • @aparente001 I don't have a union, the department passes the issue to faculty and then the entire university. Faculty because other departments request this course to be given and university because the policy towards admission to faculties not departments Jan 17, 2018 at 12:01
  • so can you at least request a different TA assignment? Jan 18, 2018 at 3:00
  • @aparente001I dont't want to, necessarily. I want to improve myself and the general atmosphere in the classroom Jan 18, 2018 at 9:01

2 Answers 2


I often get asked, "Why am I taking this course?"

There are some courses that are required regardless of major. Similar questions could be asked of mathematics faculty. However, it turns out that not only math majors are obligated to attend calculus courses.

I come from a institution that is similarly organized, namely, the first year is the same for all engineering students, which afterwards chose their respective major. This common year contains introductory courses: math, physics, computer science and electronics.

The school's curriculum is as it is, it can be good, it can be made better, but neither you or the students are in a position to influence it, let alone change it. So, stop thinking badly about you or your course, there is nothing wrong with either (at least nothing deducible from the question).

My advice to you is to stick to a medium curriculum, i.e. one that upholds the criterium of the course but is of reasonable difficulty for the average student, and, if required by your TA agreement, make yourself available for (again reasonable) office hours, where struggling students can find help. And by help, I don't mean that you solve the problems for them, but to help them understand the material.

Students that are on a more advanced level can be motivated with additional assignments, projects or literature, while those "dissatisfied" need to provide the bare minimum effort for passing the course or fail. The same as with any other course.

The same approach is applied to cheating. The fact that someone doesn't want to attend a compulsory course does not entitle them to cheat and such behavior should be reported to the proper authorities.

In short: Don't give in to guilt or sympathy, you have a course to TA and nothing to be sorry about. Uphold the institution standards in teaching, grading, helping and maintaining discipline.


You could take a different approach by lowering the bar. Create a course that is adequate for the students that do not want to go to Computer Science. However do discuss with them that, regardless of the chosen course, they will need programming skills because all the engineering fields will end up using tools like MatLab or Octave and they need programming for that.

To be fair with the Computer Science students-to-be you can provide a set of optional tasks, challenges and study content. This way only the really interested students will go through this and, being optional it wouldn't need to be graded so they would take this in a more light way which could make the learning experience even more powerful. Of course you will have to discuss with this students that if they plan to take Computer Science they shouldn't think of this part as optional.

  • I should mention that I have no control over the course content (apart from suggestions to higher-ups) and very little control over lab material (I prepare them but they get reviewed) Jan 17, 2018 at 12:07
  • @Drocan I get it, but anyway this could be a way to present a solution to the material responsible/owner because this strategy is totally within your department, it does not need any higher hierarchy intervention nor policy changes.
    – prmottajr
    Jan 17, 2018 at 12:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .