Teaching Computer Science by An Undergraduate Mentoring

Program

 

Lisa L. Fan and Brien Maquire

Department of Computer Science, University of Regina

3737 Wascana Parkway, Regina, SK., Canada, S4S 0A2

Phone: (306) 585-4110, Fax: (306) 585-4745

{fan, rbm}@cs.uregina.ca

 

 

ABSTRACT

 

This paper describes our efforts to develop an undergraduate students mentoring program at the Computer Science Department, University of Regina, Canada. The undergraduate mentoring program enrolls good senior undergraduate students in senior courses as mentors for junior students enrolled in a lower level course. The program has been offered for three years now.  Both the senior students as mentors and the junior students taking the lower level course have responded to the program very positively.  This paper provides the design and implementation of the program.  The authors also try to explore some philosophical implications of the mentoring program to undergraduate teaching.  Further improvements for the program are also proposed.

 

KEY WORD: tutoring, CS education research, collaboration.

 

1. Introduction

 

The mentoring program in the University of Regina started in the winter semester of 2000. The program was inspired originally by the model from the Stanford University[1,2] and it was designed to fit in our curriculum and laboratory oriented approach to teaching computer science.  The goal of the mentoring program is to provide an interactive atmosphere that will help junior computer science students to develop valuable analytical programming skills and also provide an opportunity for senior students to develop organizational, teaching and leadership skills.  In creating this type of environment, the junior students enrolled in a fundamental course have the opportunity to interact with more knowledgeable students in their chosen field of discipline. The senior mentoring students, in turn, are expected to develop leadership and organization skills.  They will also gain valuable experience in lab teaching and one-on-one tutoring.

 

2. Description of the Mentoring Program at the University of Regina

 

2.1  General Description of the Mentoring Program

 

The mentoring program in the University of Regina has the following structure. The junior students enrolled in computer science course CS210 (Data Structures and Algorithms) are divided into smaller sections. Each section is lead by a mentor, who is a senior computer science student enrolled in CS490 (Teaching Computer Science).  The instructor for the CS210 course will deliver lectures to the class just as in other courses.  There is also an instructor who is responsible for CS490 course requirements.  The mentors mark submitted assignments interactively with the students enrolled in CS210 on a weekly basis during the lab time.  At these interactive weekly sessions, the mentors are expected to answer questions that the CS210 students may have about the assignment.

 

Weekly meetings have been arranged for the mentors and the course instructors for CS210 and CS490.  The meetings give the instructors an opportunity to provide necessary training to the mentors in regarding to the course materials, presentation skills, and the marking scheme for each upcoming assignment.  The meetings also give a chance to the mentors to voice their concerns and students' feed back on the lectures.

 

The surveys show the students provide very positive comments to the program.

 

2.1 Mentor Selection

 

It is the course CS490 instructor's responsibility to select the mentors. A formal process has been developed to select mentors.

 

2.2 Program Organization

 

It is expected that the mentors will spend about ten hours per week in the CS490 courses. Each mentor will be in charge of nine or less students in a specific lab section. The breakdown of time includes lab, meeting, preparation, etc.

 

2.3 Weekly meetings for instructors and mentors

 

A significant part of the CS490 course is the weekly meetings organized by the class instructor. These meetings are key to having the mentors become an integral part of the teaching process. The instructor will review the materials that require mentors to pay attention to when marking the assignments. The mentors will discuss various methods used in the draft solutions for the coming week assignment, and provide input into the process of creating marking schemes for assignments. The focus is to prepare the mentors to appreciate that they may encounter different legitimate solutions to the problem in the assignments being submitted. The mentors can also provide feedback received from their students to the course instructor and to comment on the significance of this feedback. The mentors can exchange opinions amongst themselves regarding problems arising during the mentoring sessions.

 

2.4 Mentor's role during the lab period

 

Each mentor is responsible for his/her own group of CS210 students.  It is the mentor's responsibility to be prepared to answer the student's questions on a weekly basis.

 

A group of students between four to nine is assigned to each mentor. Class assignments are generally completed and submitted in the following way: CS210 students, upon completion of each weekly assignment, email their assignments to mentors before a preset weekly deadline. Upon receiving these assignments, each mentor must make the necessary preparations before interactive marking with each student during the subsequent lab period. Usually this preparation involves a review of each individually assignment. It is crucial that the mentors have a firm understanding of the assignment before they attempt to make interactive marking with the students.

 

It is important for a mentor to actively communicate with each student during the marking process. By actively communicating with the students, the mentors can gain valuable insight into whether the students really understand the underlying problems and intended learning associated with the assignment. The more the mentor understands the problem, the easier it is to assess the student. This also reinforces the mentors' understanding of their earlier course instruction. 

 

In addition to marking student assignments, each mentor has the task of delivering one or two lab lectures on materials covered in one of the class assignments. This provides an opportunity for mentors to experience and appreciate first-hand, exactly how much preparation must go into each lecture.

 

2.5 Mentor's role outside of the lab

 

Each mentor must make preparation outside the lab time. The requirements for the mentoring course indicate five to six hours of preparation. Mentors are expected to establish a weekly meeting with his or her group. These weekly meetings provide extra programming help and additional support of the course material. Mentors found themselves providing considerable support to students via email.

 

2.6 Marking for the Mentors (CS490)

 

Three aspects of the mentors performance are assessed:

 

a)            Professional conduct and attitude

b)            Professional competence

c)                  Comprehensive learning

 

3. Benefits of the Program

 

There are benefits to all parties involved in the program. The following benefits are identified by the students and the Computer Science Department.

 

Benefits to the CS210 students include individual attention, less intimidating learning environment, exchange of ideas of different approaches to solving problems, available help whenever needed.

 

Benefits to the CS490 students include an opportunity to develop teaching and organization skills, and gain teaching experience, availability of a credit course that focuses on non-technical skills, an opportunity to help themselves to enhance their own programming knowledge and skills.

 

Benefits to the Computer Science department include training ground for future student assistants for other courses, improved learning environment, sparking interest in teaching computer science as a career.

 

 

4. Students Survey Response to the Program

 

Surveys have been conducted of the students who are involved in the program. To the question "Should the Program Continue?" the responses have been very positive.

 

 

5. Philosophical Implications of the Program to Undergraduate Teaching

 

The mentoring program in the University of Regina attempts to integrate the mentoring program into the curriculum of the computer science education. In this program, some new teaching philosophy is practiced in computer science courses. Knowledge is jointly constructed and transformed by students and faculties.  Students are not just a  passive vessel to be filled. They are actively involved in the learning process. The program also provides an environment for cooperative learning and team works. A less intimidating learning environment has been created as most students indicated. Junior students gain more direct and continual interaction and feedback on course work and programming techniques, which increases communication and enhances opportunities to learn more about computer science. Mentors provide role models for junior students. These possibly explain the very positive responses to the program so far.

 

 

6. Planning for Future Improvements

 

Although we have very positive responses from the students who are involved with the program, there are things to be improved. A more standardized mentor selection process and training contents should be developed. We are also developing a quality control process to make the interactive marking more consistent among mentors.

 

 

References:

 

[1] Reges, S., McGrory, J., and Smith, J. The Effective Use of Undergraduates to Staff Large Introductory CS Courses. SIGCSE Bulletin, February 1988.

 

[2] Roberts, E., Lilly, J., and Rollins, B. Using Undergraduates as Teaching Assistants in Introductory Programming Courses: An Update on the Stanford Experience. SIGCSE Bulletin, March 1995.