Handling a Diverse Cohort of Students From Non-computing Backgrounds in a Computing Course

Prasanna Karthik Vairam 

Department of Computer Science
School of Computing (SOC), NUS

prasanna@comp.nus.edu.sg 

Vairam, P. K. (2024). Handling a diverse cohort of students from non-computing backgrounds in a computing course [Lightning talk]. In Higher Education Conference in Singapore (HECS) 2024, 3 December, National University of Singapore. https://blog.nus.edu.sg/hecs/hecs2024-pkvairam-2/

SUB-THEME

Others 

KEYWORDS

Lifelong learning, back to university, computer science 

CATEGORY

Lightning Talk

EXTENDED ABSTRACT

Due to opportunities in the computing industry, students with a basic degree in other fields (e.g., Mechanical engineering or Civil engineering) enrol themselves in our Master of Computing (General Track) programme. These students often come with work experiences (e.g., average of 3-5 years) but may have little or no background knowledge in computer programming. The learning goals of the students also vary considerably: While some students start with a good background and aim to learn advanced topics, most others are usually first-time learners. Therefore, there is a need to design a methodology to cater to a diverse cohort.

 

In this paper, we propose a methodology to allow the students to tailor the pathway to achieve the learning outcomes at their own pace and appetite. The critical challenge is ensuring that first-time learners stay caught up when the instructor employs schemes to encourage the more ambitious learners. We use a two-pronged approach for this: Targeted code frameworks and Tailored pacing.  

Targeted code frameworks 

In a typical software course, students learn the development environment (e.g., Operating System, code editing tool, version management), programming language (e.g., Javascript, HTML, Python), and the deployment environment (e.g., server, docker, Kubernetes). The sheer number of moving parts in a software project can overwhelm any first-time learner. Our methodology creates a targeted code framework for each assignment task by providing a fully functional coding environment except those related to the learning outcomes of the assignment task. For example, in an HTML assignment, the students must write only the HTML code and not worry about setting up the development and deployment environments. Students can run the code with a few simple instructions and start coding. We use cross-platform Docker technology to build the framework, making it accessible to all students. 

 

Contemporary methodologies such as online coding websites/IDE (e.g., Codepen) act as black boxes and have the drawback of over-simplification and potential misunderstanding. In contrast, our method retains real-world development’s complexity (e.g., constraints) and possibilities (e.g., use of tools), while focusing on the learning outcome. In the later stages of the course, students learn the topics they missed out on (due to the simplification provided by the framework) through recorded videos. Finally, the open-ended project allows students to build a project from scratch (i.e., not based on targeted code frameworks), making them ready for real-world software development. The proposed framework brought about improvements in their assignment scores and was well-received by the students.  

Tailored pacing 

We propose this methodology in our software engineering course with an open-ended project where the students implement advanced features of their choice. The idea is that the ambitious students do not wait idly until the instructor completes teaching the fundamental topics (Personalized learning, NETP, 2017). 

 

At the start of the course, both types of students are introduced to the essential topics necessary to code the basic project features. At this point, we rely on the zone of proximal development (ZPD) (McLeod, 2024) to expand their knowledge to advanced topics with some instructor assistance. We provide them with several recorded videos and tutorials covering optional advanced topics (e.g., 3rd party API integration, advanced styling, authentication). Note that these topics only count towards the novelty rubric of project assessment. During the project, depending on the student’s interest, they pick up a few of these topics to integrate into their projects (akin to choosing your own adventure). 

 

While the scheme seemingly prioritises ambitious learners, there are some essential elements to support first-time learners. We do this through conferring, a way by which students (especially first-time learners) can get guidance from the instructor on selecting and implementing the advanced features. We follow blended learning-based feedback for this, considering the reservations of first-time learners and their shyness, especially in the presence of ambitious students. The students showcase their progress to the instructor through an online (but private medium) using GitHub Classrooms, where a log entry is automatically created for each significant code update of the student (called Git commit). The instructor can provide feedback with comments and the next steps (e.g., which video to watch) in a 1:1 meeting or using Github Issues (remotely). The proposed framework brought about improvements in their assignment scores and was well-received by the students. 

REFERENCES

Personalized learning, NETP (2017), Reimagining the Role of Technology in Education: 2017 National Education Technology Plan Update, https://lincs.ed.gov/professional- development/resource-collections/profile-902 

Saul Mcleod (2024), Vygotsky’s Zone of Proximal Development and Scaffolding Theory, https://www.simplypsychology.org/zone-of-proximal-development.html 

 

Viewing Message: 1 of 1.
Warning

Blog.nus accounts will move to SSO login, tentatively before the start of AY24/25 Sem 2. Once implemented, only current NUS staff and students will be able to log in to Blog.nus. Public blogs remain readable to non-logged in users. (More information.)