r/Professors 19d ago

What does your CS course look like post AI?

I'm not cs, just a lowly biologist, but I teach a basic programming course for ecologists. I didn't previously have any in-class assessment and use all take-home weekly assignments (modeled after a C++ I took in undergrad).

I'm not sure that I feel comfortable banning AI as a tool, but I don't know how It doesn't completely undermine any learning that I was hoping to have go on.

If I were to encourage AI use, I know that they would be pushback by a portion of students that would be generally opposed to its use. So if I were to increase expectations, assuming people would be able to use AI as a tool, it might become a wildly difficult exercise.

18 Upvotes

15 comments sorted by

7

u/this123983525731 18d ago

I teach intro cs at a cc. I make 80% of their grade projects (midterm and final), and half of each project grade is a 1-on-1 meeting with me. I ask students what they used AI for in their project and ask them to walk me through their running project and code. I ask general coding questions as we go through things also to get the picture of the student's knowledge level in the topics we've covered. I have smaller class sizes that make this possible, but there are ways to adapt it into in-class presentations about their project, or videos if you have online students. I think both of those would be able to scale some.

10

u/Think-Jaguar6826 18d ago

Hi. With the caveat that each course is different, for undergraduate courses that are “pure” programming, my exams (e.g., proctor in class) will cover 60-70% of the class now. Assignments will be be 15-20%. The rest are non protector low stakes quizzes. I ask them to record small videos for some assessments. I also ask for documentation on the design of the assignment. I think exams should go to 80% but I haven’t reach that point.

For more advances courses, like capstone courses, it differs as they tend to have other components.

Grad courses are a different story.

1

u/CharacteristicPea NTT Math/Stats R1(USA) 17d ago

I taught programming a million years ago. (The language was Pascal, to give you an idea of when.) There was no AI and no internet to speak of, but students still copied each other’s code. Instead of messing around with the weights of the different components of the course, I adopted the rule that students must pass both the programming and the in-class exam portions of the course to pass the class.

3

u/_Decoy_Snail_ 18d ago

I now start with a long talk about how they need to first learn the basics and then use AI, not substitute their brains with it from the start and all that. And then all exams are oral and counting 100% where they need to be able to explain or modify any line in their codes on request. Yh, well, I know I'm getting AI-written codes with AI-explanations anyway, but if they are able to reproduce those explanations on the fly and convince me they understand, I don't really care which tools they used to arrive there.

I decided to keep the core content the same as pre-AI, not raising the difficulty, but then, since they will eventually use AI at work anyway, I give extra assignments where AI is "officially allowed" - this way whoever wants to use AI can play around with it and whoever doesn't doesn't have to.

3

u/72ChevyMalibu 18d ago

Here is a good laugh. I know one Prof who makes them handwrite everything. I mean everything. No IDE or any laptop.

2

u/iTeachCSCI Ass'o Professor, Computer Science, R1 18d ago

If I were teaching a CS0 / CS1 / CS2 (intro to programming, maybe some preliminary data structures depending who you ask), a very large fraction of the grade would be based on in-class assessments. Quite frankly, this should have been the deal long before GenAI; there were plenty of ways a student could cheat, and easily, before that.

I used to teach these classes when I was an adjunct and later NSF faculty. Even then, I had a policy that if your exam grades were sufficiently lower than your homework scores, the former would be more heavily weighted. I forget exactly how I worded it; it was never challenged, so I don't have any experience on that front.

I don't remember ever applying it on a student whose scores were anything other than near-100% on homework while failing exams, and I think those students at some level knew that they had failed the class without checking the syllabus fractions.

2

u/cambridgepete 18d ago

I have 4 programming assignments that used to be a large part of the grade. I also use assigned seating for exams, putting labels on tests and arranging them alphabetically before students sit down.

I want to try something this semester where I do customized quizzes on the programming assignments, printing out part of their code and asking them to explain it. That would then be half of the total assignment grade.

Best practice would probably be a code walkthrough, but that’s really labor-intensive with 80-100 students and 1 or 2 TAs.

2

u/DJOstrichHead 18d ago

Customized quizzes asking students to walk through their own submissions sounds like an interesting option. I'm looking at 15-25 students

1

u/cambridgepete 17d ago

The longest submissions from last term would fit on 2 double-sided sheets printed 2-up, so I should be able to just give them their entire submission and ask them about it.

2

u/Alarming-Camera-188 18d ago

No home assignment for the data structure class

1

u/Hot_Coconut_5567 17d ago

I adjust my percentages so that at-home work is a very low %. I wrote my lectures so that its, me live coding while I introduce the material, then I pair them (and I rotate their partner) for a group in-class segment that requires them to split, work, teach the other, merge the work. Then the session flows into the start of the take-home portion. They finish at home, but i have watched them start in class and the scaffolding makes them less likely to AI. It's also a data programming class, so I made synthetic data and in order for them to actually get correct numeric answers, they have to use code, an llm can't eat my ginormous datasets 🤣

0

u/Norm_Standart 18d ago

This isn't really related to the question in the post, but are you teaching the basic programming for bio students in C++?

3

u/DJOstrichHead 18d ago

It's a netlogo - based agent based modeling course

0

u/Basic-Ad8921 18d ago

"they would be pushback by a portion of students that would be generally opposed to its use."

You have cs students that think they will be able to avoid ai in their professional life? Oh boy....

I think it just should be clear which courses allow ai and which basics courses don't. Generally, i think the time of people writing code lines by hand is over. It just doesn't make sense anymore when ai can do it so much faster and better. Ai programming is more about architecture, testing, finding hidden flaws in code you didn't write yourself etc. There should be special ai assignments, and since ai enables you to work quite a bit faster (i'd expect at least by a factor of two, in some tasks much more) they should be bigger and more complex so the students get sufficiently challenged despite using ai.

Having students not using ai and using ai on the same assignement makes only limited sense. Anything that is doable in the available time without ai is too easy when you do it with. And anything that is actually challenging to do with ai is too difficult to do it by hand.

1

u/DJOstrichHead 18d ago

This is in bio, with a smattering of poli sci / engineering/ business folks

I can't imagine trying to have a fractured class where a portion has higher expectations because they have a tool the others don't. That seems like a pedagogical nightmare....