Although what you mention in these sessions is common sense, you don't actually realize it until someone tells you. I am the type of person where I excel at something once I am exposed to the why of how something works. This is something that lacks in the university teaching experience. You get the problem posed to you, and you get a quick answer in lecture. For example, you're in a linear algebra lecture, and the prof is introducing the concept of matrix multiplication. The professor poses the problem on the blackboard. He then goes on by telling you that the answer is some number x plus some number y plus some other number z, which gives you the answer of c. Great, you got the answer to that particular problem, but how will you know what to do when posed a similar problem? How about a more complicated problem involving the concept you just learned? The student is lost and the textbook doesn't help either as it solves the problems in a similar fashion. The student therefore loses interest and struggles in the course, and doesn't get the mark that they are capable of, simply because they are not taught properly. Some factors that can figure into something like this happening could be:
But what is unfortunate is that you have to make this adaptation in a learning environment. This may prove detrimental to a student abilaity to excel to their potential, which is unfair.
But I find that this problem solving session that Professor Rosenbloom is holding here is a superb way to bridge the gap between the knowledge gained in the classroom, and knowledge of the concepts being taught.
I found it EXTREMELY useful to follow the practices taught in the first session while attempting to complete my CSC343 assignment 1. Using the guidelines he outlined during the session, I was able to complete an assignment that was giving some people problems with relative ease. I was not without my problems of course, as I pestered Professor Rosenbloom with questions. But as learned in the first session, these problems allow you to understand more about the problem at hand, and they make the solution become ever more clear. Once I had the sufficient knowledge to understand the problem fully, I was able to draft a solution. Fortunately for myself, all the code i wrote, except for one method, worked to perfection the first time I had implemented them on computer. All because I had thought about the problem on paper first and could say that "I understand" the problem at hand and was ready to solve it.
I definitely recommed attending these problem solving sessions if you can make time for it, they are wonderful and give you a lot of insight into what it takes to solve real world problems. I like this session so much that I beleive that this should be made into a first year computer science course. (maybe that's a little optimistic, but it's something for you to consider) Also if it is made into a course, it should be required for any CS program, as the skills learned here are invaluable in a CS student's "toolbox".
thanx very much for coming up with this idea, it was GREAT!
i applied what i learned in your problem solving sessions to help them with the questions they had(because i had to reacquire the basic principles to understand the problems they were posing to me). This was good as they saw the process i use to solve the problems and i hope they learned from it.
I kept stressing that they understand the process i was going through. I even made some deliberate mistakes and they caught on to every one, so their minds were really into it.
These days I help out a few friends of mine with their java assignments and try to tell them the same thing you've always taught us, that is do something simple first and see that it works and then build form that.
Yah so you know you should definetly have some more seminars like that, and make it compulsory for all the first year computer science students. Stuff like that is not taught to students in High School, thats why they have a hard time in university.
I especially like the two points, Understand the problem. Simplify it, and when you will get to the solution it willbe very simple.