How to Approach Students with Different Expectations on Coding Lab Sessions as a TA 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.
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.