Live data from Hacker News

The Practice is not the Performance: Why project-based learning fails

pathsensitive.com

1–10 of 136 posts

Re: The Practice is not the Performance: Why project-based learning fails

#2
As someone at the end of their undergrad, I have to agree that group based projects trend towards being unpleasant. The article describes the distribution of work harming full understanding of the content when all people contribute, however that's usually the best case.

Most students are oversubscribed with four or five classes. There tends to always be some portion of a group which contributes trivially or simply doesn't. When you've got a group of five, one is typically unreachable, apathetic, or just exhausted. Pairs are a gamble, a bad partner being a massive workload. When you're the person who's carrying the group, you usually end up grokking everything in the project because you touched all of it. However, since you touched all of it, you're exhausted and likely pissed.

What I've found works is individual work sample projects, particularly those timeboxed to 'hopefully a lab period but you have a week'. The GPGPU course at my school has labs which are 'fill in the blanks' for cuda code. As the course goes on, those blanks get progressively more complex and make you flex your core understanding of the course. For more theory driven courses, the standard set of assignments works nicely.

As an aside, group projects seem to be partially motivated by the TAs and profs trying to deal with larger class sizes. Taking a senior level graphics class with 30 people lets you write 4 gnarly opengl projects which the TA marks in depth; a software engineering course with 200 people, a weekly deliverable, and 5 TAs? Dividing that by 5 is more realistic.

(For context I go to a school not known for their undergrad CS program; experiences may differ in other institutions)

Re: The Practice is not the Performance: Why project-based learning fails

#3
> So, for programming, we need to (1) figure out the core concepts to teach, and (2) pick languages that make the concepts readily available.

James, the main argument for project-based learning is ability to make learning interesting. Considering that students aren't vessels that need to be filled, but torches which need to be lit, this can trump other approaches. Importance of being interested in the material can be hard to overestimate.

You may still be right, but I was surprised to see the arguments for project missing this one.

Re: The Practice is not the Performance: Why project-based learning fails

#4
If two people were racing to "learn" a programming language then yes, project based learning would fail.

This dude doesn't recognize the audience that most blog posts target.

Most people reading blog posts about learning code are NOT in college and ARE NOT employed by colleges.

So the challenge for learning is more about motivation and projects tend to help you stay motivated more easily that little learning lectures and components.

Re: The Practice is not the Performance: Why project-based learning fails

#5
This article reads to me like someone arguing whether it's better to learn by reading or watching videos. Maybe both? Neither?

For me, what good is it to learn all of the fundamentals if I'm not sure those fundamentals are getting me closer to my goal? Especially in the world of tech, there is no short supply of "critical fundamentals", but woefully less in actual implementation.

And in the tech world, there's a lot of implementation that lacks even a cursory understanding of fundamentals.

IMO, this isn't a problem in the approach of learning, but the learner stopping at a superficial understanding on either side.

Some people don't like to jump into new endeavors without understanding the concepts. And others don't want to be bothered with abstracts until they can see the results.

Good students beat bad ones, regardless of the journey that took them there.

Re: The Practice is not the Performance: Why project-based learning fails

#6
Yeah but the problem with the current method is introducing solutions before the problem. Learning a tool is way easier if you see the value of that tool. I had assignments writing XML schema. No idea why but we had to write them. I didn’t retain any of that but found them very valuable to define interfaces later on. If I’d known the use I’d have been more motivated to learn how to create them.

Re: The Practice is not the Performance: Why project-based learning fails

#7
The author is not criticizing project-based learning in general, but instead how some curriculum (I wonder who's?) uses group projects as the only form of learning.

This feels a bit like a strawman. I agree group projects are not the best way to teach individual concepts. However, they're the best way to put what you've learned into practice. To use the author's martial arts analogy, group projects are like sparring in a safe environment.

Group projects are also the best way to practice your group communication skills, something isolated exercises cannot help with.

Re: The Practice is not the Performance: Why project-based learning fails

#8
post #3

> So, for programming, we need to (1) figure out the core concepts to teach, and (2) pick languages that make the concepts readily available. James, the main argument for project-based learning is ability to make learning interesting. Considering that students aren't vessels that need to be filled, but torches which need to be lit, this can trump other approaches. Importance of being interested in the material can be…

> the main argument for project-based learning is ability to make learning interesting

James already addresses this assertion in the very first sentence of the blog post. And the second sentence.

Re: The Practice is not the Performance: Why project-based learning fails

#9
I think whatever learning method depends on your goals, are you trying to get immediate deep experience that a general (still quick-feedback) but intense brushover of all the fundamentals can not provide, then project-based learning is good for you, but if you're looking to not only master the fundamentals but also advance in terms of being able to offer more on the fundamentals, then traditional course-based learning is good for you.

I don't think there is a real good or bad but rather depends on your goal and motivations. Depending on the goal, some people might learn more from projects than course content and vice versa.

Re: The Practice is not the Performance: Why project-based learning fails

#10
post #3

> So, for programming, we need to (1) figure out the core concepts to teach, and (2) pick languages that make the concepts readily available. James, the main argument for project-based learning is ability to make learning interesting. Considering that students aren't vessels that need to be filled, but torches which need to be lit, this can trump other approaches. Importance of being interested in the material can be…

There's a lot of psychology at work here which is not being given due credit.

People who are theorists at their core typically believe that the learning is interesting by itself, usually because they are focused on developing their own models for how things work. It's a subjective-creative process that's exciting: You get to play detective! They are getting creative outcomes _while_ learning about theory. They do not need to wait for a project outcome in order to feel accomplished. Their only other answer, like OP's, to learning things that aren't interesting by themselves but still need to be learned is rote learning, or drills. What other method could possibly educate the student and yet not introduce other rabbit holes that distract from the topic?

Project-motivated people find this approach boring, and they are ready to go down the various rabbit holes involved in the project, if necessary to achieve their envisioned outcome. They are focused on _applying existing theory_ to effect their concrete outcomes, which is an interest that straddles the theoretical and real-world-application zones. They get happy brain chemicals by e.g. watching people use a project they've built. These types use a referential thought process for higher leverage and shorter timelines. So rather than developing their own model from scratch (NIH, the theorist's pet method) which will take them a long time and might not be that effective, they borrow someone else's model ("hey, let's use Framework X, it has tons of features!") and make it serve their subjective outcome-vision. Seeing the vision brought to life is where their creative fulfillment is activated.

CS departments are stuffed full of the former case. Engineering departments are stuffed full of the latter case.

It can be absolutely maddening to be either one, and then find yourself being asked to accommodate the other's learning / executing style.

Post reply on HN