Follow Slashdot stories on Twitter

 



Forgot your password?
typodupeerror
×
Programming Education

An Investigation of CS Instructor Obstacles, Workarounds, and Desires (microsoft.com) 36

Long-time Slashdot reader theodp writes: "What is your biggest pain point?", North Carolina State University PhD student Samim Mirhosseini and Microsoft Researchers Austin Z. Henley & Chris Parnin asked 32 computer science instructors at universities and community colleges. Their feedback is summed up in a just-posted paper that will be presented at SIGCSE 2023.

Instructors cited understanding what students are struggling with, answering students' questions, limited teaching assistant (TA) support, grading & feedback, course material preparation, and administrative tasks as challenges, pain points, and things they wish they could change. Interestingly, instructors indicated that some of the attempts to address pain points — including the increased use of TA's, interactive textbooks/exercises, automated grading, "flipped" classrooms [where lectures are assigned as video homework, with classtime reserved for interaction], and peer instruction — aren't always what they're cracked up to be.

- "Some TAs are not mature programmers," instructors noted. "TAs sometimes only run the unit tests and never read the code, [so] two submissions that were nearly identical, but one got [high] marks and the other got [low] marks."

- Automation brings its own challenges, instructors added, citing the problem of interactive textbooks that give grades but deduct points even if there is only a whitespace difference with the solution ("My students struggle so much with it and they spend hours trying to get the white space correct in their program when in reality that's not what I want them spending time on").

- Instructors also cited struggles with "how to design 'Copilot-proof' assignments, to prevent students from completing homework assignments in seconds with little conceptual knowledge.

- Regarding the flipped classroom, one instructor confessed, "I've checked and there's very few people watching these videos."

While grading was cited as "probably the biggest burden of the courses" and "an impossible task," one instructor still noted a preference to grade things themselves even if they have TAs "because [of] the feedback I can get from [...] their homework and assignments." Along the same lines, another noted that while they also wish for more automation of mundane tasks, they are strongly opposed to automating feedback to students because "I think this is the wrong direction for education. Striping away community and humanity from learning."

This discussion has been archived. No new comments can be posted.

An Investigation of CS Instructor Obstacles, Workarounds, and Desires

Comments Filter:
  • by nagora ( 177841 ) on Sunday October 30, 2022 @11:50AM (#63010421)

    Syntactic whitespace is supposed to be a GREAT idea, isn't it?

    • by AmazingRuss ( 555076 ) on Sunday October 30, 2022 @11:53AM (#63010429)
      White Space Matters!
    • And that existed long before Python.

      • Re: (Score:3, Interesting)

        by shanen ( 462549 )

        One of my most clever students submitted a piece in defense of Whitespace as his favorite language. https://en.wikipedia.org/wiki/... [wikipedia.org]

      • Right but (and here come the downmods) it was literally an advance in computing when we moved past that. That's why it's so inexplicable that they thought it was a good idea for Python. If the choices are have problems because of grouping operators or have problems because of whitespace* you pick the one you can fix by running the code through a formatter and not the one where you inherently cannot do that...

        * You could choose to have other kinds of problems instead

    • I sure hope that's what kind of language is being compared there, because otherwise, the tools are either spectacularly bad or being terribly misused. But if the indentation is part of the expected style, and that's part of the assignment, then it also makes some sense that you should have to get it right.

      The bigger problem is forcing the use of specific validation tools, which I'm imagining is part of some kind of distance learning system. Ostensibly a programming instructor could write their own tool, if

  • I told you that shit was dumb.

  • Same for everyone (Score:4, Interesting)

    by fermion ( 181285 ) on Sunday October 30, 2022 @01:03PM (#63010565) Homepage Journal
    No matter what class these are the problems. Automation is most interesting as that is likely the instructors problem. We still have not yet adapted to computers. This has been an issue in a few of my jobs. Teaching that one is working to please a machine, and the machine is not very smart. So use Tidy.

    Learning as oppose to completing a task is another issue everyone has. The reluctant student, a majority in most cases, will work to complete tasks and activity minimize any learning. It can be efficient. The curriculum designers job is to then make it less efficient to encourage learning. The simplest way to do this, as has been known for decades, is design summative assessment that insure students that have just completed class fail the class. These are the âhardâ(TM) tests that students cry to their mommies about. And get instructors fired.

    Students who are active learners will learn in any environment. The flipped classroom is made for active learners. The video game is made for active learners. Reluctant students will just game the game to complete the tasks. Most students need to be taught. This does not mean virtual school is put for them. Just that they do get guidance and feedback.

  • My pain points (Score:5, Interesting)

    by bradley13 ( 1118935 ) on Sunday October 30, 2022 @01:06PM (#63010569) Homepage

    I'm in a teaching college, where we don't have TAs. My pain points:

    1. Classes are to big. 25 students I can teach effectively. With 50 (which I have), quality suffers.

    2. Incompetent or lazy students. About half the class either cannot or will not do the exercises (some of each), which ties in to...

    3. Pressure to pass more students, because the administration only cares about numbers. I want to fail at least half, because of (2), but usually only fail 40% or so.

    • I mostly agree on your points. Most of the assignments in my class are easy to pass 100% as all you have to do is update the online code until it works, but many students do not even submit on time.

      Though my biggest issue as an adjunct teaching while working full time is I could use more support with presentations ready for me so I can focus on grading. If I was a full time teacher, preparation would be fine but I'm helping out the college beyond my normal 40 a week, su having trouble just keeping up with

    • Ah, how times have changed. I recall a physics class where ALL the assignments had to be completed or you failed. Further, ALL the problems had to be turned in correctly. ALL or you failed. Grading on problems was easy. Turn it right the first time, A, turn it in right the 2nd, B, 3rd C, 4th D, 5th F, but you could still pass the class. It was a class of 200+ if I remember right with lecture/recitation with a TA. Great prof, Schluter. I also recall a grad class with a T,TH,SA schedule. Prof was pissed peopl
      • I think the most important difference now compared to back then is that those students wanted to be there to learn. A degree was rare and difficult enough to have that the only people who had were people who wanted it.
        Now students are studying not to have a degree, but to not be without one.
        One actively seeks to learn and WANTS to learn, the other actively seeks to game the system.

    • Re:My pain points (Score:4, Insightful)

      by godrik ( 1287354 ) on Sunday October 30, 2022 @01:35PM (#63010657)

      I teach in a university trying to become R1 and we have essentially the same problems. (We have TAs, but classes are also much bigger.)

      The core issue seems to be that students are under the impression that having a CS degree is key to big bucks so they come in mass to CS degrees. Meanwhile, administration sees the number of enrollment students and loves the money; so they want to retain them all. And once the student catch on that they'll get passed regardless, since they don't actually care about the content but only the piece of paper, learning stops happening.

  • Too much of the motivation is money, via jobs, and the path to those jobs is good grades. So they are motivated to finish assignments and get grades using as little effort as possible, rather than trying to maximise the amount of learning and experience they get from assignments and classes.

  • If what they are teaching can be entirely done by a monkey pressing the TAB key in CoPilot, shouldn't the students be worried about the value of their "skills" and the trajectory of their chosen profession? It sounds like these so-called "computer science" (programming) degrees are worthless. Apparently, a minimum wage secretary could do the job. Or all of them replaced with a speech-to-text translator.

    • by godrik ( 1287354 )

      It remains to be seen how useful and transformative copilot will truely be.

      In general, the line of reasoning that you are presenting (and I'll have to strawmen a little bit) is that "what is important is the product". Meanwhile I think what is important is the learning.

      When we learn or train to do something, we only spend a fraction of the time actually doing the thing that we will do as a performance. Think of a basketball player. They do spend time on the court to train. But they also spent time in the gy

  • by cstacy ( 534252 ) on Sunday October 30, 2022 @01:23PM (#63010623)

    An Investigation of CS Instructor Obstacles, Workarounds, and Desires

    "Desires of a CS Instructor".
    Is that by Anis NAN?

  • by mwbrown42 ( 2881935 ) on Sunday October 30, 2022 @02:08PM (#63010721)
    When I was a CS TA in Canada back in the '80s, students had to print out their code and the results of the run and drop it in a locker by midnight on the due date. The TAs would read the code and the run result on paper and grade based on correctness, algorithm efficiency, commenting, data structures, etc. We didn't have the web to copy/paste code snippets or entire solutions or a vast array of libraries. I think we better understood what was going on in the code and it made us better coders and debuggers.
    • by Anachronous Coward ( 6177134 ) on Sunday October 30, 2022 @02:53PM (#63010833)

      In the first programming course I ever took (intro FORTRAN, late 70s) we had to line up in front of the TA with our completed assignments, and each of us would be asked to explain a section of the code randomly selected by the TA. If you couldn't explain it, they knew you didn't do it yourself -- instant zero for that assignment. That significantly limited the amount of grading effort they had to expend.

    • My major was EE, but I was in some CS courses in the late 80s/early 90s. Yep, we printed things out and they marked it up with a red pen. Still proud of the fact that I came to intro CS with some previous hobby programming experience and knew what a look-up-table (LUT) was, even though I didn't know what to call it. I had a 3-page printout for one assignment. Almost everybody else had 11 pages.

      What I do *not* remember fondly was the assignment where I was pretty much done. Done. So sweet, going to rel

  • ...that they must teach someone else's children.

  • And I'll show you a unicorn that went back to school in their 50's. I've got people working with me that have 20 years of "experience" and still don't know when it is and is not appropriate to use OOP, this language, that tool, some architecture, or some pattern.

  • by BobC ( 101861 ) on Sunday October 30, 2022 @04:25PM (#63010991)

    When my thirst for knowledge let me know it was time for me to let my Navy enlistment expire, I knew I wanted to pursue a degree that combined CS and EE. Which meant I had some stark choices to make concerning the kind of school to attend: Would I go to a "Theory/Research School" or an "Applied/Practice School"? Yes, both emphasize the fundamentals and theory underlying CS, engineering, physics and math principles during the first years, and both provide frequent "reduction to practice" along the way to build basic skills. The difference is in what is studied during the last year of studies: Press on with the theory, or master the increasingly more capable and complex tools and applications needed by industry?

    During my search I encountered a pithy observation related by a corporate tech recruiter: "If you need an engineer who will help build your product today to make money the next day, hire from the Applied university. If you need an engineer who will help you find and develop the new technologies needed years down the road, hire from the Theory university."

    I chose the theory university, and I only came to understand the deeper underlying differences when I entered industry after graduation. My education with a theory emphasis had empowered me to become a researcher. There was no "class" on becoming a researcher; It was just something we did as we grumbled about the professor forcing us to fill in the gaps in the syllabus for ourselves, or to answer problems not faced by any prior class (and thus lacking directly searchable answers).

    This was leveraged and even driven by the necessity for us to work in groups: Mandatory groups in lab classes (due, we were told, to a lack of lab resources), and self-organized groups for all other classes. Those relatively rare and low-unit undergrad lab courses that paralleled key core theory courses essentially drove the rest of our education. Roles within our study groups were informed by how our lab groups were organized, needing individuals to do different things that were then combined to yield a common work product. We each had our individual responsibilities to the group, and the group had the responsibility to ensure we each benefited from the work of all, because there were no group exams.

    We never had explicit "classes" on creating, organizing and running effective teams. Just basic guidelines for our "deliverables", namely the group lab reports and the individual homework and exams in the core classes. Nor did we have explicit instruction on becoming researchers, little beyond hints for where to dig.

    Here's where I finally get to my view on the paper. My fellow students and I had become, essentially, self-teaching. Our professors and TAs weren't focused so much on the minutia of knowledge as they were on the overall process of seeking, identifying, applying and then extending it. Our professors and TAs had somewhat different roles than those described in the paper. They treated us as collaborators on a common, shared journey. And we treated them as a precious and limited resource to be utilized with care: We literally couldn't afford to waste each other's time.

    Homework was rarely graded, instead merely tracked that it had been turned in with "some" work present (no blank pages). Multiple missed assignment was followed up with personal contact to learn why, the time for such contact being made available by the reduced need for grading. All exams were largely multiple choice, with only a few "deep" or "open" questions that would need real effort to grade. The entire process was optimized not to SCORE our performance as students but was instead optimized to provide ACTIONABLE FEEDBACK to both improve our future performance and to help remediate our current shortcomings. Final exams were almost always comprehensive. Doing well there could erase a host of stumbles along the way. Reaching the end-goal together mattered far more than our individual paths to it. In fact, our paths there were highly idiosyncratic: Our d

  • University is a controlled environment where everything is prescribed for you. Even opinions.

    If you want graduates to make it in the real world, you have to simulate real world conditions. Almost everything I learned (about programming) at university was either wrong or out of date, and didn't really work in real code once the task gets big enough.

    Especially bad were the C++ units that really just taught Java-ized C++, because Java was the future. My C++ is self taught, and gets me better jobs than Ja
  • CS pedagogy and expected learning outcomes are all less than ideal.
  • These hardly seem like CS-centric complaints. Don't all professors have the same problems?

Some people manage by the book, even though they don't know who wrote the book or even what book.

Working...