| >Of course, since you mostly test them how good they are at repeating given solutions you wont see this difference in classes. Very few teachers do this in math/science/technology classes. Teachers in these subjects understand that it's the design/problem solving process that is being taught, not the particular details which are only retained on an as-needed basis. The reality is that formalized education is rote by design. The reason many on HN were frustrated by formal education is because they are not the average student. When you are two standard deviations from the mean in ability (in either direction), school will feel like a very painful grind. Most on HN could do the entire K-12 curriculum in a fraction of the time that it takes the average student. However, the education system is designed for the average student, who by definition are the majority. Students who learn very rapidly tend to get tired of the "training wheels" which are employed in formal education. However, only once you have seen the full spectrum of student ability from the other side as an educator do you understand why they are necessary. The real sad part of all this is that we lie to students and tell them that computer science, which is by far the most abstract and cognitively demanding subject taught in school/college, can be learned and even mastered by all. This demeans the field of computing, and often can make students feel inadequate, as they are told that everyone finds computer science very easy to understand. When faced with a challenging concept, they then immediately feel that they are stupid for not understanding it immediately. Cognitive load theory helps with difficult subjects like CS, because it prepares the learner for intense effort. When I teach CS, the first sentence I utter to my students is: "This is going to be the hardest subject you've ever taken. Prepare yourself, and don't give up." |