In my degree (Comp Eng) we overlapped with the Comp Sci program a fair amount. Comp Sci was part of the college of mathematics and Comp Eng was part of the college of engineering, which were on opposite sides of campus and organizationally were very separate.
The cultures could not have been any more different. The engineering labs were loud, full of collaboration and discussion. The professors would sometimes find out a student copied some code and would simply ask "Well, do you understand it?".
The computer science labs were dead quiet. Strict policies around code plagiarism were posted at every door (instant fail and a 1 year ban from any CS class). People were terrified of helping each other and so everyone just worked in isolation.
I learned more in the engineering labs and made deeper connections with people. The coursework was frankly harder, we built more complex things completely from scratch, but because of the collaborative culture I was able to learn from my peers, tackle hard problems, and retain the information.
I took for-majors Engineering, Physics, and Computer Science classes, 20 years ago. Here's what I saw:
In freshman engineering courses [*], students would gather and do the assignments. They would divide and conquer questions, sharing answers. This was definitely cheating. (I didn't participate. But I didn't seriously consider reporting it either; I wanted to have friends...) The assignments were repetitive and stupid, so this was a rational if dishonest coping strategy. TAs certainly knew this happened. I had a bad habit of skipping dumb assignments. One TA actually emailed me something along the lines of "why don't you just cheat like everyone else".
In physics classes, students would gather and do the assignments. They would each do all the work. When someone got stuck, others would suggest techniques, help them where they were stuck, etc. Collaborative and honest. The assignments had far fewer problems, each unique and involved, done from first principles. Homework was graded on showing (extensive) work as well as the answers. If folks had skipped/copied problems, they would have missed out on great learning opportunities and likely flunked the exams even if they weren't caught.
In computer science classes, I don't recall students gathering to do the assignments. Maybe I just wasn't part of the group. (Many of my friends were in engineering, and most of my academic time was spent in the physics building.) Maybe they just didn't work together, similar to what you observed. What I do know is that a lot of students had very little understanding, and I was surprised they got degrees.
Of course, I prefer the physics approach. It's probably not a discipline-wide thing though as much as that my school had a great physics department and a lousy CS department. More similarities than I expected in your story, though, despite presumably different schools and times.
[*] I dropped my electrical/computer engineering major after freshman year. I graduated with a comp sci major + physics minor. Maybe later engineering courses were different.
Odd, I'm also a Comp Eng grad and my experience was exactly the same - including the cross campus bit. I went to University of Nebraska - Lincoln.
There was still definitely a fair amount of real cheating though. Especially during the online classes of COVID.
Most of the cheating I saw was from classes that had clearly had difficulty creep up year after year due to un-caught cheating though, and had truly awful professors. Chegg, I think, has really inflated the difficulty for the hosest people.
I think the most common cheating i actually saw in engineering was group work where only 1 person did anything. Hell, I have an example on my GitHub where my partner made one commit with one line of code which I then had to redo anyway.
Group work is often set up specifically to force this kind of "cheating". My course used it as a way to disguise the fact that students weren't learning programming. They tested everyone at the very start of the course to locate people who already were self taught, then assigned each group one self taught person who ended up doing all the work. The rest ride for free, everyone passes and the scam continues.
I've tasted university education very little ever since. Academia is just flooded with intellectual fraud of all kinds. The students sense the lack of seriousness and accountability and realize that no matter what is said, that'll get away with it because the profs don't really care and in fact depend on cheating to survive.
This is a small part of why I majored in engineering (Engineering Science/Physics) instead of comp sci. It seemed like a very oppressive environment to learn in, especially when I already had years of experience with programming.
I think American teacher often don't appreciate faculty vs student dynamics. They think they are there to help each of their students achieve academic success.
Education mostly doesn't work like that for most people in most places.
Teachers are not allies of students. They are the enemy, they are the problem. Students are rarely interested in learning. They are interested for this whole thing to be over and with a decent result.
This adversity pushes students to cooperate against the faculty. That's a strong motivator to connect and support each other in the face of common enemy. And they are learning a lot from each other, both in terms of knowledge and cooperation. There are also freeloaders in that cooperation that come just for the answers. But when the answer is not as easy as picking a letter, for example the answer is a way of solving a class of problems even those cheaters learn from this coopeartion. And they learn more than they could learn from their teachers.
By exploiting adversarial dynamics, having good materials available and technically ensuring it's hard to cheat trachers can basically have half of their teaching work done by the students as they teach each other. This benefits everybody.
That collaboration and cooperation often counts as cheating in our education system is a stupid relic from some hundred years ago.
If you want to mould a Taylorist's dream of obedient, quiet factory workers who spend their lives making the left side of the head of a pin then yeah, go ahead and discourage cooperation.
For anything else? Especially the creative work that will be expected of current students in the future? Cooperation should be a major goal of education.
Was looking for this! I’m a Chemical Engineering grad who’s in a Computer Science masters program currently. Comparing the two, the collaboration in my engineering classes far surpasses anything that’s occurred in my CS classes. Almost everything we did in Engineering would have been considered “cheating” in CS. In retrospect, I definitely learned more than I would have from the collaboration and environment in undergrad.
The cultures could not have been any more different. The engineering labs were loud, full of collaboration and discussion. The professors would sometimes find out a student copied some code and would simply ask "Well, do you understand it?".
The computer science labs were dead quiet. Strict policies around code plagiarism were posted at every door (instant fail and a 1 year ban from any CS class). People were terrified of helping each other and so everyone just worked in isolation.
I learned more in the engineering labs and made deeper connections with people. The coursework was frankly harder, we built more complex things completely from scratch, but because of the collaborative culture I was able to learn from my peers, tackle hard problems, and retain the information.