5 ms·
But if binodality is really strong in early level classes for that reason, it sorta suggests that maybe you should split into a fast and slow track, letting the
by x1798DE 10y ago
But if binodality is really strong in early level classes for that reason, it sorta suggests that maybe you should split into a fast and slow track, letting the experienced people maybe do 2 semesters in one class. Then the students with no experience but raw talent don't just drop off because they are having trouble keeping up with peers who have been programming since they were 11.
- ghaff 10y agoMy understanding is that some schools are experimenting with this. CS is unusual (though not unique; music is an obvious other example) in that there can be such a wide disparity in experience among otherwise equally bright/talented entering students. By contrast, no one expects an incoming Chemical Engineering freshman to know much in the way of chemistry or engineering beyond their couple semesters in high school. As someone with a fair bit of programming experience, but who doesn't really do it professionally, I can say that with one of the Intro to CS courses I took on edX, I would have been utterly and completely lost had I none or little programming experience.
- zardo 10y agoThat would be a step in the right direction. But we should just walk all the way over to the solution. Education in all areas should have n-tracks, where n is the number of students.
- crispyambulance 10y agoThat is a form of "mastery-based" learning. Basically, you group students according to ability and separately teach them each topic to the point of mastery before moving onto the next topic. The guy from the Khan academy talks about that (https://www.youtube.com/watch?v=LnVzug0mA2w https://www.youtube.com/watch?v=LnVzug0mA2w), although he suggests going even further-- individualizing each student. BTW, this is how the children of very wealthy parents often get to elite colleges in quite high numbers. The parents send them to private schools where student-teacher ratios can be as low as 5 (FIVE!). Under those circumstances, each student can get tracked very accurately according to their needs and aptitudes. It is a great way to learn, it works, but is also very expensive.
- throwaway729 10y agoI hope what will eventually happen is that a semester of CS in high school because normalized. Then we can just dispense with pretenses and admit that CS 1 is most properly an introduction to Computer Science, not an introduction to computer programming; that some programming experience is required in order to learn the basic data structures and algorithms typically covered in a top department's CS 1 course. Then there can be a pre-100 level course which assumes zero background/experience. Like a CS equivalent of pre-calculus "college algebra" courses offered by many American Mathematics departments. The idea would be that most majors should've already learned basic programming skills in high school, but there's still an option for people who fell through the cracks for whatever reason. But importantly, this issue is independent of the "geek gene" hypothesis the article is about.
- jdmichal 10y agoI'd rather teach generalized sequential logic and reasoning in high school. Then the programming will naturally fall from that, if they decide to learn. However, if they don't decide to learn, then at least the class will still have some applicability to their life. EDIT: Think of teaching at the level of what's in this Atwood post, and the related paper: https://blog.codinghorror.com/separating-programming-sheep-from-non-programming-goats/ https://blog.codinghorror.com/separating-programming-sheep-f...
- pbhjpbhj 10y ago>'d rather teach generalized sequential logic and reasoning in high school. // Isn't teaching programming one way to do that? Interesting codinghorror link. What struck me was the ineptitude of the question in their example assessment "intended for students who have never looked at a line of code in their lives" ("int a= ..."). It's testing syntax primarily without having taught the syntax, it seems really worthless - all you're really going to test for is who has actually seen some programming and knows that "=" is not equals but is being used as an assignment operator. Surely a proper test for ability in programming would be to write it out in pseudo code like: integer value a is set to 10 integer value b is set to 20 a is assigned the value of b what are the values now of a and b. Supremely facile. Surely they're not really trying to test ability to guess arbitrary syntax? If they were then they'd be better with nni a :-# 10 nni b :-# 20 a :-# b what are the values of a and b? At least that's not giving a free ride to those who know the previous syntax, they also have to impute meaning on unlearned symbolic strings. Mind you how do you decide to do CS at Uni and not ever have programmed anything??? Sure there's not the degree of crossover that people imagine between the two, but it seems like choosing to do maths without ever having proved a theorem.
- jacalata 10y agoDo most colleges really not do this? The University of Melbourne had a split like this back in 2003.