> 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.
The Practice is not the Performance: Why project-based learning fails
11–20 of 136 posts
Re: The Practice is not the Performance: Why project-based learning fails
#12> 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…
Plenty of “theorists at heart” still think it’s boring to do lots of rote drills. :-)
It’s not like doing drills really helps you develop new models/tools/concepts from first principles especially more than it helps you adapt existing models/tools/concepts to new situations.
* * *
I think the article under discussion here misses the point in a different way. He assumes that it’s impossible to get meaningful fast feedback about various particular aspects of your work (and focusing on those deliberately) while working on “projects”. But at least in computing (and probably most fields if you look around), that’s not necessarily true.
We have tons of quality feedback available in computing, starting with tools like a REPL or a debugger which interactively show you the results of small actions, and then compilers and static analyzers and profilers and ....
Then there’s IRC and mailing lists and open source ticket trackers etc., where expert strangers will spend tons of their time helping you out for free just to pass the time. If your project happens to be something that other people are interested in and you are working in the open, there’s feedback from customers, other programmers, etc. If working in a group of mixed ability, there are the other group members or possibly a skilled mentor/tutor, and if working in a company there are coworkers.
There is oodles of open source code, documentation, free textbooks, targeted videos of people demonstrating how to use particular development tools or their general method, or showing off particular tricks, much of which is reasonably searchable and can be called up from the internet on demand when a particular problem/roadblock is stuck. You can relatively easily try to implement parts of projects yourself, then go find an example project where someone else implemented the same thing, and compare the two. Typically you can find both toy examples and production code, with their entire version history, internal project discussions, bug tracker history, ....
Arguably you could learn a whole lot by coding up 30 different examples of data structures in C, one after another, getting expert feedback after each one. And then moving on to coding solutions to 20 different dynamic programming problems. And then 10 compilers for different little languages. And then 10 different CRUD apps for made up restaur. Or whatever....
But you could also get lots of good experience by building a whole project that you personally care about from bottom to top, using it for a while and watching where the bugs come up, seeing what parts are completely wrongly architected, etc., and then trying again several times (ideally with a bit of introspection and research in between) until you have a better idea what to do.
Re: The Practice is not the Performance: Why project-based learning fails
#13> 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…
Re: The Practice is not the Performance: Why project-based learning fails
#14As 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 do…
Lots of people have taught themselves to program (and many other subjects and skills) by doing their own individual projects.
Re: The Practice is not the Performance: Why project-based learning fails
#15Group projects... well, that is a another thing entirely.
Re: The Practice is not the Performance: Why project-based learning fails
#16Project based learning won't work, traditional learning won't work, only my class will work. In fact the source he quotes (himself) claims he can give you a year's worth of experience in an hour.
But why doesn't project based learning fail? Well, in his example Bob, who wants to learn network programming, pairs with Alice, who somehow mysteriously takes over the entire project and does all the networking code so Bob learns nothing. That's sort of like arguing that you can't learn guitar from a teacher because a velociraptor might stroll by and eat the teacher.
I don't know what type of learning is best, but I know you need a little more evidence then that for a post titled "Why project-based learning fails".
Re: The Practice is not the Performance: Why project-based learning fails
#17To this is coupled traditional courses in basic math/algorithms/scientific theory.
These lines produce candidates that are wasted supperior to our traditional universities. Well, if you need them to actually work with CS in the real world, I’m an employeer not a scientist, so I have no idea if they produce better candidates for research. But for real world jobs, these kinds of candidates are the only ones coming out of the universities that I can safely put in a position and expect to see them become productive after 1-3 months.
Traditional candidates take 6 months of mentoring before they start earning their salaries. They’ve often never even deployed a project in anything resembling a real world project. They’ve never worked in teams, and simply don’t know how to do so. They don’t know how to communicate with non-IT people. And so on.
As I said, project based teaching may not produce better CS candidates in terms of how good they are at CS, but it does produce candidates that can deliver a finished quality product on time.
Re: The Practice is not the Performance: Why project-based learning fails
#18Earlier quoted context omitted.
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…
I think this is overly reductionist. Plenty of “theorists at heart” still think it’s boring to do lots of rote drills. :-) It’s not like doing drills really helps you develop new models/tools/concepts from first principles especially more than it helps you adapt existing models/tools/concepts to new situations. * * * I think the article under discussion here misses the point in a different way. He assumes that it’s i…
Project-based learning simply doesn't come to their mind; it's completely off their radar because it is, as op implies, potentially full of little all-consuming rabbit holes that are unrelated to the CS principles in question. Look at the great theorist Feynman and his "computer disease" theory. He had a deep aversion to getting sucked into things like IT concerns, because theoretical model-detecting was his core motivator.
Re: The Practice is not the Performance: Why project-based learning fails
#19The 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…
The worst about group project is when one person picks all the interesting tasks and learns, others don't. Which means that people who know least and need practice most, are the ones that are pushed to anciliary roles with only little practice happening.
Re: The Practice is not the Performance: Why project-based learning fails
#20If 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…