First impressions after three weeks of teaching CS1 to first year undergrads
Three weeks after the start of the academic year, I think the moment is good to share my first impressions of teaching “Introduction to CS” to first year students (also called I1) in the Cycle International Intégré program (CII). Though I’ve been teaching other courses to other types of public, this particular CS course is probably the hardest one to teach for a few reasons. Let me first describe the context before diving into the actual course of each week.
First of all, I am teaching the same content to two groups: T01 and T02. I am with T01 on Wednesday mornings and with T02 on Thursday mornings. This configuration leaves me with a full day to adapt my speech from one group to another. However, I am also facing difficulties for the three different reasons.
Differences in backgrounds (of all sorts)
The first reason is that some students already learnt programming in high school. Only a handful of them learnt Python, but their overall knowledge of the basic control structures is a huge plus in the early stage of my course.This issue concerns more specifically T01. Almost half of the students in T01 had programming lessons in high school. The consequence of this heterogeneity in backgrounds is that these students finish the lab sessions way too fast. In the end, they often become a source of nuisance to other students whom are still working on their exercises. This week, my solution to that issue was to design a really long lab and pray that these students would not finish it too quickly. In a way, it worked pretty well. I had to ask students in T01 to finish their labs as homework for the following week.
However, designing more exercises had an impact on the T02 group. In this group, a majority of students are completely new to Computer Science. When the labs are going extremely fast with T01, T02 barely has the time to finish all the exercises. This week, a lot of students in T02 only went through half of the exercises. Somehow this situation is not completely bad. They now have homework to do at home and they can practice a bit more outside of classroom hours. But I am concerned that the more we dive into complex notions, the more T02 will fall behind.
Finally, the third difficulty is the presence of Chinese students with limited French proficiency. Because they are culturally reserved, it is hard for me to assess their understandings of my course. I knew they could maintain a basic conversation. But I have discovered week after week that they lack of basic technical vocabulary.
How to design courses for international students with poor language proficiency?
I have to design course materials in French and to teach in French. When these students enrolled at ISEP, they knew about that. But the reality shows they are clearly not well enough prepared to follow scientific courses. After the lab, I asked my Chinese students how they were doing in Maths and Physics. The answer was: “We don’t understand much, but we’ve learnt that before in China” and “We’re learning the vocabulary on the go”.
It made me think: How can I design my courses so that these particular students can understand most of it? I could try to translate all the technical terms on my slides in Chinese, but I am afraid it will be too much noise for all the other students. Or try to use as simple words as possible at the risk of being simplistic. I could also try to provide a sheet of paper with all the technical vocabulary translated in Chinese, but the list of word is practically endless. However, this might be the right solution in the long run. Building this list now can mean a more comprehensive list at the end of the year. And hopefully, this list will be comprehensive enough by the end of the year, so that next year, my students will not have to face the same difficulties as their predecessors do now.