[HN Gopher] Pain points of teaching computer science
___________________________________________________________________
Pain points of teaching computer science
Author : azhenley
Score : 24 points
Date : 2023-05-09 19:40 UTC (3 hours ago)
(HTM) web link (austinhenley.com)
(TXT) w3m dump (austinhenley.com)
| another_story wrote:
| I've been teaching CS at the high school level for 15 years and
| the biggest pain point has been breaking kids out of the way
| they've been taught to approach learning. Since everything is so
| test focused, what they learn in most subjects is to get a decent
| grade they need to read, regurgitate and expand using a
| predefined set of keywords. Test questions are predictable and
| formulaic.
|
| Then they get to CS where anything code based requires them to
| tackle a novel situation and to actually think things through
| logically, and they panic. They're not used to breaking down
| larger problems into sensible parts or taking those and creating
| new solutions. Basically, they don't understand how to iterate on
| their design and slowly suss out an answer. I usually spend the
| first months teaching Python and showing them the process of
| problem solving with code, walking through my thinking each time
| and how I'd use my resources to find what I need.
|
| The only subject which comes close is math, and it's far more
| obvious what methods to apply and the steps are better defined.
| [deleted]
| bsder wrote:
| > Flipped classroom. To better understand where students are
| struggling, instructors have switched to in-class activities
| while having recorded lectures for homework.
|
| Hmmm. I never thought about this before, but it's kind of obvious
| once someone says it. It's still a bit annoying as AV is always a
| PITA, but it's probably effective. I'll have to think about this
| if I ever teach at a college level again.
|
| > Automated grading. A long time dream of CS instructors has been
| to completely automate grading.
|
| Sigh. It's almost 20 years since I actually implemented this for
| my CS class and and this _STILL_ isn 't the norm? Programming
| assignments should have online submission and testing. Period.
|
| > Online IDEs and visualizers. To eliminate environment issues,
| increase engagement, and provide faster feedback, instructors
| leveraged online coding tools.
|
| Suggestions that don't suck are welcome. However, generally
| anything less than a professional-grade IDE that you'd use for
| professional programming is a pile of garbage. I probably
| wouldn't use anything other than VSCode nowadays. Probably have
| to put it in a qemu container for people to run on different
| OSes.
|
| > Interactive textbooks and exercises.
|
| Yeah, no. Anything a textbook manufacturer wants to do other than
| be a set of dead tree leaves is a non-starter.
|
| > Answering student questions. In contrast, instructors and TAs
| are overwhelmed with responding to questions and problems. These
| questions are often last minute, repetitive in nature, and
| require technical troubleshooting. For example, "Why does Python
| no longer exist?".
|
| The problem is that there are two different types of questions:
| actual course questions and infrastructrue questions. I'm happy
| to deal with course questions. I _LOATHE_ dealing with
| infrstructure questions.
| xhevahir wrote:
| >Anything a textbook manufacturer wants to do other than be a
| set of dead tree leaves is a non-starter.
|
| Why?
| [deleted]
| JambalayaJim wrote:
| I really dislike flipped classrooms. I've found as a student
| that it forces you to come to grips with the most difficult
| parts of the material yourself, rather than letting the
| professor help you get there.
|
| Then when you actually get to lecture, there will always be
| some portion of students that haven't read/watched the class
| materials. So most of the professor's time is spent helping out
| those students who know nothing. Anyone who did actually
| struggle through the material is bored.
|
| >The problem is that there are two different types of
| questions: actual course questions and infrastructrue
| questions. I'm happy to deal with course questions. I LOATHE
| dealing with infrstructure questions.
|
| When I was doing my CS degree, the "infrastructure" type
| problems I faced were the worst. In fact, it was a huge
| discouragement for me, and actually led me to drop several
| courses.
|
| I'm not sure what a solution to these things are, mind you.
| Aaron2222 wrote:
| > I probably wouldn't use anything other than VSCode nowadays.
|
| We use VS Code in a couple of Java papers that I TA, and we
| have issues with the way the background incremental compilation
| works. When it works, it's fine. But we see lots of cases of it
| not picking up and reporting on compilation errors until you go
| to run the code, where it will then give you a compilation
| error at runtime. Or the compilation error highlighting being
| out of date, or it just not compiling classes, or it not
| copying resource files into the classpath. These tend to
| require a restart or clearing the workspace cache to fix.
| SeanLuke wrote:
| This paper hardly touches on _far and away_ the #1 pain point,
| and indeed only refers to it a single time. And that pain point
| is cheating.
|
| In my institution -- and this is hardly unusual -- CS alone
| accounts for about half of all university-wide honor code
| violations. This isn't because CS students are evil. We know all
| the evil students are Finance majors. It's because of two
| factors. First, the medium of computer science, that is, program
| code, is trivially copied, forged, generated, and sold. It's much
| harder to get someone to build your breadboard circuit or
| sculpture. Second, CS programs are run by computer science
| professors, who among other professors are uniquely skilled at
| developing software to catch cheaters, and computer code is
| uniquely easily parsed, so we catch students more readily than,
| say, English professors with turnitin.com.
|
| Distance learning, due to covid, greatly exacerbated this. Nobody
| still has any effective way of conducting exams remotely. Every
| software system we've tried has been highly invasive of privacy
| _and_ easily circumvented. Cheating in online classes has been
| rampant.
|
| And the amount of cheating among American students has risen from
| fairly low levels (when I was a student) to astonishingly high
| levels. My own theory behind this is the rise of helicopter
| parenting: before entering college, students were essentially
| never allowed to fail, and now when they fail they cannot handle
| it. It is an epidemic in CS academia.
| neilv wrote:
| Is it a factor that a CS degree is seen as a relatively easy
| path to a well-paying career (compared to doctor, lawyer, real
| engineer, etc.)?
|
| When the goal for many is to make lots of money, maybe there
| are relatively fewer nerds who love the field and craft?
|
| And perhaps a CS department is getting closer to the
| departments that (fairly or unfairly) once had a reputation for
| attracting more than their share of less-scrupulous students?
| lapcat wrote:
| > This isn't because CS students are evil. We know all the evil
| students are Finance majors.
|
| That's questionable, even if it was intended as a joke. That
| joke may have landed 30 years ago, but not now. ;-)
| TheFreim wrote:
| > That joke may have landed 30 years ago, but not now.
|
| It landed for me today, gave me a bit of a chuckle.
| davidrupp wrote:
| I smiled. And I assumed it was tongue-in-cheek.
| marcellus23 wrote:
| It was clearly intended as a joke. And why would it be any
| less relevant today than 30 years ago?
| convolvatron wrote:
| I left teaching because I sick of that taking up all my time.
| no moral judgement, it was just a stupid game and I resented
| the students for wanting to play instead of learn
| glonq wrote:
| I went to college way back in the era when you printed out your
| labs and handed them in physically to the prof. Even back then,
| there were students who would rummage thru bins looking to find
| "inspiration" (cough cough) from other peoples' discarded
| prints.
| stephendause wrote:
| What about this makes it a pain point? Is it the amount of time
| that it takes to deal with cheating, the inability to
| effectively punish the behavior, the impact it has on the
| professors' (and perhaps some students') morale, or something
| else?
| bo1024 wrote:
| The course has to be designed with cheating prevention and
| detection in mind. So: some things you want to do are not
| possible. Takes significant extra time to develop course
| materials (cannot reuse previous years', may need to shuffle
| questions and answers on tests, etc). Trying to make sure
| questions are not easy to google/GPT. Time spent dealing with
| cheating and consequences, e.g. determining if cheating
| happened, collecting evidence to present to honor council.
| samth wrote:
| I've been teaching intro CS for 20 years, but I totally
| disagree that this is the #1 pain point. The biggest paint
| point not discussed is that programming is challenging to learn
| and requires a lot of effort from students, but all the pain
| points in the article are real.
| monksy wrote:
| > Distance learning, due to covid, greatly exacerbated this.
|
| It may have been a push, but it didn't create the desire of
| cheating. Those who cheat on code submissions will do that even
| if they are in person.
| User23 wrote:
| I wouldn't underestimate cultural changes too. The old American
| WASP culture that dominated the prestigious corners of the
| academy up until a generation or two ago was very big on honor
| codes and they were largely adhered to including for things
| like take home tests. Now it appears everybody, including the
| descendants of the people who used to take honor codes
| seriously, considers them to be for chumps and will take any
| angle that they can.
|
| At the end of the day, cheating is a cultural problem and not a
| technological one. Technology might make cheating easier or
| help to expose it, but it will never prevent it. As you say, it
| just becomes a game when you try. Fortunately, people can be
| taught to change their culture for the better, so it's not as
| if it's hopeless.
| raddan wrote:
| I agree that it is a cultural issue. When cheating is rampant
| in a class, it is often because an instructor either does not
| properly motivate the work, or assigns too much work, or
| both.
|
| I work hard to motivate my students. The first point, that I
| think virtually every student would agree with, is that we
| all do not want to pay a lot of money to waste our time,
| right? Cheating is a waste of time and money.
|
| I occasionally hear from students that they think a given
| class is merely an obstacle on their career path. E.g., "if I
| get a bad grade in this algorithms class then I can't get
| that prestigious job." I try to remind them that they will be
| expected to do certain things at prestigious jobs.
|
| I think the second, and more important point about cheating
| is that it devalues yourself. We only live once. We should do
| it excellently, because by doing things excellently, we find
| the value in our lives. And, in case it isn't clear, by
| "excellent" I do not mean "A+ work." I mean, simply, striving
| to do our best. I have a lot of respect for a student who
| takes a challenging course and earns a low grade than one who
| prefers not to challenge themselves at all.
|
| Still, I am not always successful, and students cheat in my
| class. I understand many of the reasons (time pressure,
| family pressure, etc), but it is my sincere wish that we
| could find a way past all of that. College can be---and is
| for some---an opportunity to elevate oneself. If you've ever
| had that before, it's an experience that you hope others will
| be able to share.
| nradov wrote:
| The WASPs of a generation ago didn't _need_ to cheat; as long
| as they could graduate they were almost assured of a good
| job. Now with more students going to college and employers
| being more selective in hiring the stakes seem higher.
| Cheating is never right, but I understand why more students
| are doing it.
|
| As for changing the culture, one necessary step would be that
| employers would have to stop looking at GPA.
| neurobama wrote:
| >The WASPs of a generation ago didn't need to cheat; as
| long as they could graduate they were almost assured of a
| good job.
|
| Do you have data to back this up, or is it just lazy racial
| libel?
| rqtwteye wrote:
| "The old American WASP culture that dominated the prestigious
| corners of the academy up until a generation or two ago was
| very big on honor codes and they were largely adhered to
| including for things like take home tests. Now it appears
| everybody, including the descendants of the people who used
| to take honor codes seriously, considers them to be for
| chumps and will take any angle that they can."
|
| I think that's very romanticized. The high crust was always
| doing what it took to get ahead. If cheating was the best way
| to get ahead, they would do that. Them following honor codes
| is just self-serving propaganda. Nowadays more people are
| realizing how f...ed up the system is and cheat too.
| monksy wrote:
| > Now it appears everybody, including the descendants of the
| people who used to take honor codes seriously,
|
| Aka the ignorance of youth/rejection of experience.
| jimkoen wrote:
| I'm hesitant to ask, because I've had to deal with professors
| with the same sentiment on this topic, but given the sometimes
| insultingly mundane and easy first semester assignments, and
| the fact that _alot_ of lecturers reuse the same assignments
| over a decade, isn't there a point where you have seen pretty
| much every iteration of how an assignment can be reasonably
| solved?
|
| I've seen first and second semester students being accused of
| copying code from the internet, because they were using
| features of the language that hadn't been taught in class yet.
| dgacmu wrote:
| You'd be surprised at the variation present in complex
| assignments implemented by non-expert students. It turns out
| that doing things in buggy and randomly wrong or nonstandard
| ways leads to things looking more unique than they would if
| you had a group of experts implement them.
|
| "Having the same bugs" is one of the easier ways to confirm
| cheating, at that.
|
| (I'm a CS professor.)
| taeric wrote:
| This seems to be more blaming a symptom. Consider, if there
| were not increased stakes involved with getting high scores,
| there would be fewer cheaters.
|
| Teaching anything has grown more difficult as you get fewer and
| fewer projects and tangible goals. This is all the more
| emergent as we pay attention to what people actually remember
| of their learning. You get some kids together to build a crappy
| little car, they are probably going to leave that class with a
| basic understanding of what did and did not work. Force those
| same kids to sit in a room and talk about building a rocket,
| and they are likely as not to leave with a really bad
| understanding of physics. Irrespective of how they score on any
| tests.
|
| So, you want people to learn something? Give them something to
| do with it. If we don't have enough toy projects and general
| work, why do we think we will have enough outside of the class
| for them?
| nradov wrote:
| The cheating in CS courses carries through to cheating in job
| interviews. And the sad thing is that it works: the cheaters
| are winning.
|
| https://www.teamblind.com/post/My-friends-who-cheated-in-int...
| tonightstoast wrote:
| There is also an issue with "it doesn't compile? That's a 0."
| So you have students that may have written 90% of the proper
| code but can't figure out the bug in their makefile, Java
| build, etc.
|
| In the students mind they're going to ask "is it fair to get a
| 0 when I feel close?" Then they (might) cheat. Obviously there
| are ways around this, like going in to office hours for help,
| but some schools start kids with C++, which seems like a wrong
| first language.
| jkmcf wrote:
| My teacher (TA) was nice in retrospect! I got -35 for being
| incomplete and -35 for not working!
|
| The non-PEBKAC problem was that I was using Turbo Pascal 2.0
| (1.0?) that couldn't identify I'd screwed up a method's
| parameter definition.
| raddan wrote:
| My experience (I am a CS professor) is that, even when you
| attempt to provide partial credit for programs that do not
| compile (as I do), the code is almost always seriously
| flawed. We all know that attempting to write an entire
| program in one go is not a great idea. It's hard to
| anticipate where a program might go wrong if you're not
| developing it incrementally. So I don't blame instructors who
| just decide to cut their losses. It may be painful for a
| student, but it stops that kind of behavior very quickly.
| kaba0 wrote:
| Most exercises I have seen are made up from multiple parts
| building on each other. The first one is so trivial that
| frankly, anyone not being able to write a hello world in the
| language that was the subject of the whole semester should
| get a 0. You just submit every substep, and you get the mark
| for the highest you were able to reach.
|
| Of course your mileage mag vary, but I think it was very
| fair, and most of my classes were already way too easy - many
| students are just terrible and lazy. My classmates who became
| teacher assistants told me also that they felt terrible but
| they had to fail some students because they didn't even turn
| up to their one past the last retake exam at all.
| [deleted]
___________________________________________________________________
(page generated 2023-05-09 23:00 UTC)