DIGITAL LIBRARY
A MASTERY LEARNING APPROACH: AN INTRODUCTORY PROGRAMMING COURSE DESIGN FOR DIVERSIFIED STUDENTS' INTERESTS
1 Nautilus Technologies (JAPAN)
2 Hosei University (JAPAN)
About this paper:
Appears in: INTED2012 Proceedings
Publication year: 2012
Pages: 973-979
ISBN: 978-84-615-5563-5
ISSN: 2340-1079
Conference name: 6th International Technology, Education and Development Conference
Dates: 5-7 March, 2012
Location: Valencia, Spain
Abstract:
An introductory programming course such as CS1 is one of the most essential courses in terms that successive computer science (CS) courses heavily depend on students' attainment level of CS1. On the other hand, the recent widening CS application areas affect the variety of students' interest, which causes difficulty for course designers in selecting domains of programs used in class.

[VSC] In this paper, a mastery learning approach based renovation of CS1 is shown. In the CS1, each lecture is divided into two parts: in the first part, students learn basic topics of programming in conventional CS1 lecture style, which we call key lecture, and the second part is further divided into three to five parallel courses, which we call virtual small group classes (VSC). VSCs are essentially practical laboratory work in which students challenge to create working programs of different domains: standard, graphics, sound synthesis, web applications, and so on. Students should select at least one of the VSC courses based on their own interest. In each class, programming assignments are given to students associated with topics treated in the key lecture.

All of the VSCs are fully materialized and are accessible via online. This enables all of the students not only to try their assignment at their own pace but also easily to challenge creating programs of multiple VSCs.
In average, our students had completed programming from two different VSCs, measured by their attainments of assignment. The overall grading of the CS1 did not include attainment of the VSC assignments and program activities in multiple courses were not compulsory. This result shows that VSCs efficiently motivate students and encourage their engagement in programming at ex-lecture.

[Mastery Test] VSCs highly motivate students; however, it is difficult to commit this process to the whole students. The students who cannot follow the process often to fail to acquire sufficient skills for successive CS courses.
The final examination is divided into two kinds of tests: a mastery test and a grading test, in order to master sufficient levels. The mastery test is designed to evaluate only for fundamental units extracted to be acquired completely and is used for pass-fail. The grading test can be taken only by students passed the mastery test and is used only for grading from A to C. The mastery test is conducted at the tenth week. A passing point of the mastery test is set at 85%. If a student fails the mastery test, he/she can take mastery tests till passing to a maximum of three times.

Examination pass rates of the mastery test were 60% for the first time, 80% for the second time and nearly 100% for the third time. The result showed that almost all of students were achieved to master most of the fundamental units.
The effects of the mastery test are as follows: (1) the test has encouraged students to recognize their weaknesses by themselves, and (2) multiple challenges of the test enable them to set their individual learning goals in a clear form. The test questions for the grading test were flexibly designed so as to measure students' ability more precisely. This can be realized by pass-fail judgment with the mastery test. In our case, the grading test was a paper test that includes challenging questions. Our experiments suggest that separating a pass-fail judgment from overall evaluation offers course designers flexibility with choice of a grading method.
Keywords:
Mastery Learning, CS1, Programming, Computer Science.