Real Life Stories
Information Technology (IT) Learning Styles
Computer Science and Computer Science Education - Two different subjects
There is no doubt computer programming is a difficult subject. At least one third of first year computer science students fail their first programming course. Still, there is little research in the pedagogy related to computer programming. There are few references that discuss methods of teaching, or the difficulties that students are experiencing in this field. Many of the earlier references document research with high school students using Basic. Much of this research is out of date not only because of the programs, but because students now come to cégeps with vastly more knowledge and different experience.
Most students have spent a lot of time in front of a screen and think that they know a lot about computers, so they will be able to program. This, however, is a misconception. These students go into programming and then realize that it isn't as intuitive as they imagined and fail.
What are the factors for success in learning computer programming?
According to a survey that I did as part of my research with first and second semester students in the computer science technology programs at Vanier in October 2006, high school results are not necessarily a major factor. The same thing is true for high school math grades. Factors that influence success, according to my results, are prior computer and basic programming knowledge. Also, the number of hours worked outside of the school curriculum is definitely a negative factor. The relationship between missed classes and success is now under investigation. Another question that is of interest to us is if the time spent studying and doing the homework is a factor for success. By success, we mean passing the programming courses.
Can you predict which students will succeed when they walk into the first class? Can we see who is interested in programming?
The keeners spend a lot of time together. In a qualitative study done in 1992 by Shirley Booth of Chalmers University of Technology in Sweden, she addressed the fundamental question of what programming means and what is necessary for learning to program. She found that first-year programming students learn programming in four different ways.
- Coding: students learn to program by learning the syntax of the language. They spend a lot of time at the computer, testing and running programs.
- Understanding and Integrating: students need to understand the concepts before applying them to practical tasks. They would not skip to another concept unless they have understood the current one.
- Problem Solving: students start with the problem before learning to use the syntax and the concepts.
- Participating and Enculturation: students try to mingle with programmers, learning their culture and their ways of thinking to gain experience and learn what programming is all about. They try to emulate their peers.
- Following: students in that category simply try to get through the unit. This means that they try only to complete whatever is being asked such as assignments, tests and exams.
An extension of the study was done by Bruce et al. in 2003 using the same qualitative method. They added a fifth category:
Preliminary results from a survey at Vanier indicate that of these categories most students use the first three methods -Coding, Understanding and Integrating and Problem Solving.
I intend to do a research project on the ways Vanier College students in introductory programming courses learn the subject. I would like to test the following hypotheses:
- Computer Science students using Understanding and Integrating succeed better in their programming than students using Coding, or Problem Solving.
- Students using Problem Solving succeed better in their programming course than those who use Participating and Enculturation.
- Students who use Coding perform better in their programming course than those who prefer Participating and Enculturation.
Unfortunately preliminary survey results indicate that of these three hypotheses, the last two cannot be tested because Participating and Enculturation seems to not be a very popular learning method at Vanier. Here the Computer Science department is a single entity and everyone knows everybody else.
IT and Computer Science
At Vanier I have tried the course management system - Blackboard in lecture courses with a group of students. The students found it helpful because they can download materials beforehand thus allowing them to read ahead, and concentrate on the concepts without having to take notes. For labs in Computer Science IT is not as useful since the students are working at the computer and testing their codes. The course management system can be used for forums and discussions outside lab time. If there is a problem during lab time, students just ask the teacher. It has been my experience that programming students do better with the use of IT.
How can this research be extended to enhance learning in other subjects? Use our Reader Response Feature to determine if you see any parallels between our findings and your experiences using computers in the classroom.