When I was an undergrad student, most of my classes followed the lecture model, wherein we showed up to a lecture, the professor told us all of the information we were expected to know, and most if not all, of our grade was based off tests on that information. While this approach may be acceptable for some classes, mainly introductory courses where the main goal is to develop a solid foundation of knowledge on which more advanced classes will build, it is definitely not the best model to help all students develop problem-solving and critical thinking skills. For many students, grades based solely on tests are not an accurate representation of the student’s knowledge and skills. Even for the students who are good test takers, this system of learning can encourage a binge and purge system where students will study hard to learn what they need to know for a test and then move on to the next subject without retaining much of the information they just learned.
Another issue is that when students are handed information via lectures, and are not required to search out information on their own, even in textbooks (I can’t even tell you how many classes I took where I never had to crack open the “required” book), they don’t learn important skills. Students don’t learn how to ask questions and find the answers outside of asking a professor. From my own personal experience as a TA, i have found that many college students don’t know how to word the questions they have, and if they can’t ask a question, it becomes very difficult to find an answer.
Perhaps a better classroom model might be to encourage the use of networked learning. As an example, I think back to the first R class I took. For those unfamiliar, R is an open-source software for statistical analysis and data plotting. Because R is open-sourced and code-based, anyone can develop a software package to do any type of analysis, and as a result, there are a number of right ways to do any one thing. However, code-based statistics can be frightfully confusing. In my first R class, the structure was something like “here is the basic code of how to do [analysis], now you try to do it with this other data”. In order to prevent us from simply copying and pasting the code and changing a name, we were also expected to figure out how to add a little something extra in our code, usually something to make our plots work better. The internet has an excellent network of people using R at any skill level asking and answering questions on forums and websites, so this was useful in teaching how to ask a question, or more accurately, how to Google a question and find an answer on the internet. We were also encouraged to work together on assignments to problem solve. This often worked well, as usually the same bit of code would cause everyone problems, and so we could all search for answers and share solutions.
The networked learning of that particular course could have been taken one step further. If the students developed their own websites, on which they could create R code tutorials for the parts they had struggled with, it would help them to understand what had caused the problem, and how to avoid it in the future. By having their sites publicly available, they would be helping build the public resources for other beginner R students. Plus, they would have the information there in the future, avoiding the post-semester purge. Versions of this model could be used in other classes to help students take ownership of their education, allow them to showcase their accomplishments, and help them develop skills that will help them outside a classroom.