Vous êtes sur la page 1sur 5

Persidangan Pembangunan Pelajar Peringkat Kebangsaan 2008 Universiti Teknologi Malaysia, 22-23Oktober 2008

Programming Excellence through Academic Competitions Case Study iPC 08


Jaspaljeet Singha, Alan Cheah Kah Hoeb, Azlan Bin Yusofc, Salman Yussofd, Siva Kumar Dorairaje, Uwe Dippelf College of Information Technology, Universiti Tenaga Nasional, 43009 Kajang, Selangor, Malaysia. {Jaspaljeet, Alancheah, AzlanY, Salman, Sivakumar, Udippel} @ uniten.edu.my

Abstract

The issues relating to students with weaknesses in programming subjects have been known in close to all Institutes of Higher Learning (IHL) in Malaysia. There are a lot of assumptions on, and implication of, this issue. A recent study conducted at Universiti Tenaga Nasional (UNITEN) indicates that our students are overall satisfied with the lecturing and tutoring personnel, including the materials used, in the programming courses. The findings reveal, though, that a majority of the students spend less time to prepare and study for their programming subjects. As a result, we had to conclude that the students lack the necessary commitment to equip themselves with better programming skills. In an effort to motivate our students to become more skillful in programming, we have organized an inaugural Inter-Department Programming Competition (iPC 08), a programming contest between the departments of the technical colleges in UNITEN. This competition was open to all students that have completed the first programming subject, Principles of Programming. The competition questions were based on the language taught in this course, C. Each department was to send at least one team of students, to be selected by the Heads of Department. A real-time online submission system was used for the participants to submit their answers. Upon receiving the answer from the contestants, a gremium of judges (IT lecturers) evaluated the respective answers. The iPC 08 competition managed to draw the attention of many students. The overall response to the competition was very encouraging. This paper focuses on the processes involved in conducting the competition. We strongly believe that it can serve other IHLs as an inspiration for organizing similar competitions at their respective institutions. Keywords: competition; programming; student development

1. Introduction Teaching and learning the first programming language is a common problem to most lecturers and students respectively. An introduction to programming consists of a difficult mental task for students and for this reason intense research activity [2, 5, 6] has been carried out which aims to explore the relevant problems. Recently our faculty has conducted a comprehensive study to identify potential challenges that students face in learning their first programming language. The study has been divided into three main areas: support from the faculty, effort from students and outcome of programming course grades. The study reveals that most students are satisfied with the way the lectures and labs are conducted. The students have indicated that they are contend with the course materials and facilities provided by the faculty for their programming course. Therefore, with such state of art facility, dedicated lecturers and good teaching approach every student is 1

expected to perform well and above average in their first programming course. The outcome of programming courses is not much satisfactory in terms of students grades and their motivation. Students find the assignments and projects given are difficult and they often do not perform well in course works. They survey also indicates that they are not keen in taking up programming courses. These facts are contradicting to the hypotheses that the students are expected to perform well with good support from the faculty. The reasons for this contradiction are students lack motivation and enthusiasm in learning programming courses. The students indicated that they spend less time in improving their programming skills and they have wrong mindset that programming courses are difficult. So it has become a challenge to the faculty members to change their mindset and to cultivate good programming practices that would eventually increase their motivation and interest in programming courses. Among the many possible ways to achieve this goal, the faculty members have

Persidangan Pembangunan Pelajar Peringkat Kebangsaan 2008 Universiti Teknologi Malaysia, 22-23Oktober 2008

decided to increase students involvement in academic competitions. By doing so, the students are expected to realize the importance of computer programming in the current IT industry. By participating in such competitions, they will be able to improve their programming skills and increase motivation level towards programming courses. Competition is one of the recommended strategies to improving individual outcomes in introductory computer science courses [4]. The Student Development Committee (SDC) which coordinates our students activities have several units, with specific responsibilities. The Academic Competition Unit (ACU) is responsible to identify, encourage and groom our students to participate in external academic competitions. Apart of that, ACU also organizes its own competitions. In order to handle the current challenges, the ACU has been entrusted to organize an inaugural Inter-Department Programming Competition (iPC 08) that would meet the objective of improving motivation and interest in programming courses within our students.

of interview with the students or even a simple programming task to be completed by the students within a stipulated time. We have decided to make iPC 08 an open-book contest because the focus was on the problem solving and not the C language syntax. Students felt more confident in participating in an open-book contest which emulates several other programming contests in Malaysia. Nevertheless, they are not allowed to talk to anyone other than their teammate. The contest prizes were attractive enough for the students as well as the department. The winners receive cash prizes and certificates while the department receives a specially designed trophy. These winners would also be the potential candidates for any future external programming contests.

3. Competition Content The questions for the competition were developed by a group of senior lecturers who are well-versed in programming. There are eight questions in total and each lecturer was assigned to develop two questions. Since the purpose of the competition is to select students to participate in external programming competitions such as ACM International Collegiate Programming Contest (ICPC) [1] and e-Genting [3], the question development starts by going through the previous questions in those competitions. We found out that the e-Genting competition is more difficult in the sense that the questions require knowledge from higher-level programming classes. Since this competition is open to all students who have taken only an introductory programming class, we have decided that the questions should be at the level of ACM ICPC or less. The eight questions developed are of varying difficulty level. The definition of difficulty itself can be divided into two: difficulty in coming up with the algorithm to solve the given problem and the difficulty in coding the solution. As such there are questions where the solutions are easy and straight forward, but may require lengthy and tedious coding due to the nature of the question. On the other hand, there are also questions that require some thinking in finding the solutions, but once the solution is found the coding may be short and straight forward. Regardless of the difficulty level, all questions are given the same number of marks. The rationale behind this is to ensure that students give equal priority to all questions. Easier questions should be answered to the best of their ability and they should make sure that they get the full mark. Even though the all the questions are given the same mark, this does not jeopardize the judges from recognizing the top teams since the more difficult questions can only be solved a small number of teams and those who solved the difficult questions can easily solve the easier questions. After all, 2

2. Competition Approach The iPC 08 was targeted at the students of College of Information Technology (CoIT) and College of Engineering (CoE) in our university. These students, irrespective of their program and specialisation, need to take up a fundamental programming course in C language. The departments of CoIT are Software Engineering, Systems & Network, Information Systems and Graphics & Multimedia. Similarly, the departments in CoE are Electrical Power Engineering, Electronic & Communications Engineering, Mechanical Engineering and Civil Engineering. The iPC 08 Secretariat decided to invite all departments from CoIT and CoE to participate in iPC 08. We have requested each department to identify a Liaison Officer (lecturer in-charge) whose responsibilities are to communicate with the iPC 08 Secretariat and form the teams (with two students in a team) to represent their respective department. The Liaison Officers active participation was crucial to the success of the contest. In order to ensure that the students from all the departments are eligible to participate, we had to make sure that the contest questions only involve the syllabus of the fundamental programming course. We had decided to accept only two teams from each department so that no specific department exploits the contest. Although some departments may have more than two teams keen or qualified to participate in the contest, it was the responsibility of the Liaison Officer of the department to perform an internal selection to identify the most eligible teams to represent their department. The internal selection may be in a form

Persidangan Pembangunan Pelajar Peringkat Kebangsaan 2008 Universiti Teknologi Malaysia, 22-23Oktober 2008

students who only like to solve difficult problems and neglect the easier ones may not be good candidates to be sent to external competitions. Since the objective of the competition is to find out the ability of the students to solve problems, it is important that the questions are understandable by students. Each question must be clearly elaborated and the input and the output are clearly defined. The lecturer who developed the question were required to write a sample solution, to make sure that the questions are really doable within the allocated time and the difficulty level of the question is as expected. A screenshot of the output from the sample solution is also included with the question. The screenshot is also carefully chosen so that any special case or error checking required is included in the screenshot. On top of that, each of the questions developed are moderated by the other members of the group. This is to make sure that the question is not only understandable to the person who developed the question, but also understandable to other people reading the question.

sheets as well as the comments given by the judges. Then the chief judge added up the marks given by the four judges for each group, witnessed by the assistant. Then the chief judge repeated the count, and read the numbers to the assistant, to detect eventual ambiguities in the handwriting of the judges. Finally, when agreement on the marks per participating group was reached among chief judge and assistant, the groups were sorted according to the marks, and the corresponding departments and teams of students retrieved. Thereby any influence or affiliation of competing teams and judges were excluded from the judging process, and guaranteed that fairness in judging prevailed. The task of the judges was concluded during the prize-giving ceremony, when the chief judge summarized the comments submitted by his colleagues, as added during the evaluation exercise.

5. Submission System IPC Submission Websystem (IPCSW) was developed using PHP, with a MySQL database. It consists of 2 users admin and participant. On the admin side, the admin creates the number of groups of participant. Each group has a unique groupname and random-generated password. They will use it to log in into IPCSW. In IPCSW, participants are allow to submit .c files only. They can only submit each question once. Fig. 1 IPCSW shows the submission time for each question, and in the drop-down box, it will list out the question(s) which has not been submitted yet.

4. Judging Mechanism The judging process was done in accordance with the earlier setting of the questions. Involved in judging were the same four judges who had set two questions each. All judges were responsible to judge the two questions that they had set, and for which they had sample solutions available. Contrary to the practice of marking examination questions, no marks were given on the quality of the code as such. Also, partial solutions if not indicated as sub-tasks in the questions were not evaluated. The sample screen output as indicated in the question was considered as minimum requirement for each submission. Only when that sample output was produced by the executable created by the respective judge from the submitted source code, would the judge continue evaluating the quality of the program. Then, the judges would try another standard test case, one not given to the participants, to evaluate the quality of the submitted code further. For example, input validation could be considered for additional marks up to the maximum of 25 for each question. It needs to be mentioned, that the judges did not know the identity of the groups. The submissions were projected to a screen in the judging room, showing the question number and the group number. Since any submission was final, the respective judge could immediately start the evaluation and marking immediately. Also, the screen would show the time of submission. In case of equal marks, the solution submitted earlier would garner the advantage. Once the time for the participants was up, and the judgements of all judges as well their comments were ready, the chief judge collected the marking 3

Fig. 1: Interface for participants to submit the .c file After submission, the file will be uploaded to the folder located in the respective drive of the webserver. The folder is shared, with readpermission for the judges. The judges, being UNITEN lecturers, have their usernames and passwords. When logging in to their PCs, the judges can access the shared folders (see Fig.2). Since the shared folders are read-only, the judges have the permission to copy all the files. Then they can compile and run the executable in their own PCs. Then the judges can test the programs written by the students with their pre-defined specific inputs.

Persidangan Pembangunan Pelajar Peringkat Kebangsaan 2008 Universiti Teknologi Malaysia, 22-23Oktober 2008

6. Competition Results The competition has resulted in at least two positive aspects (aside from successfully organizing it). Firstly, we have found some good teams of students to send to future programming competitions, in- and outside of UNITEN. We will in future not have to decide ad hoc which students might be qualified to represent the university. Secondly, we have generated some motivation to students of future courses to study not only for the subject itself, but also for potentially rewarding competitions. Furthermore, our students understand the differences between the learning and examination process, with a grade as a result, and the more success-oriented judging process in a competition; on top of gaining experiences with open-book examinations. Last not least, a close look at the code submitted, it is possible to identify specific topics (SWAT-analysis), where are students are good at, and which topics we could foster to improve the overall performance of our programming students.

Fig. 2: Shared folder inside the webserver Admin also has an interface to view the submission results and times for all groups participating in IPC. This interface was projected in the judging room, informed the judges whenever a new file was submitted. Refer to Fig. 3.

7. Conclusion The iPC 08 competition was an effort to draw programming interest within our students. We hope that more students will tend to like, enjoy and put in extra efforts in their programming courses. The committee in charge has gone through several processes in organizing the programming competition. The competition approach, competition content, judging mechanism, the submission system and the competition results were elaborated in detail in this paper. Apart from elaborating the competition processes, this research paper also includes the rational of conducting most of the tasks involved. We strongly believe that having a competition is a valuable mechanism in attracting attention and increasing the motivation level of students. We too hope that our experiences in organizing iPC 08 will be a contribution to other IHLs in organizing similar competitions.

Fig. 3: Interface for view all group submission result When the submission time was over, admin needs to click a button to disallow further submissions from the participants. The participants than can neither submit any file, nor login any longer.

Acknowledgements The authors would like to express their gratitude to University Tenaga Nasional for the support provided to complete this paper.

Persidangan Pembangunan Pelajar Peringkat Kebangsaan 2008 Universiti Teknologi Malaysia, 22-23Oktober 2008

References [1] ACM-ICPC International Collegiate Contest Web Site. URL: http://cm2prod.baylor.edu/ [2] Du Boulay, "Some Difficulties Of Learning To Program". In Studying The Novice Programmer, Soloway, E., Sprohrer, J. (Eds.) Lawrence Erlbaum Associates, pp. 283-300, 1989. [3] eGenting Programming Competition. URL: http://egpc.genting.com.my/ [4] E. Roberts. Strategies for encouraging individual achievement in introductory computer science courses. In ACM SIGCSE Bulletin, Proceedings of the thirty-first SIGCSE technical symposium on Computer science education, March 2000. [5] Holland, S. Griffiths, R. & Woodman, M., "Avoiding object misconceptions", Proceedings of the 28th SIGCSE, 131-134, 1997. [6] Milne, I. & Rowe, G., "Difficulties in Learning and Teaching Programming - Views of Students and Tutors", Education and Information Technologies, 7:1, Kluwer Academic Publishers, 55-66, 2002.

Vous aimerez peut-être aussi