[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)