TABLE OF CONTENTS
Foreward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Effective Strategies for Learning: Collaboration and Competition . . . . . . . . . . . 11
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2. Collaborative learning: “united we stand” . . . . . . . . . . . . . . . . . . . . . . . . . .14
2.1. Application of a collaborative learning strategy into a telecommunications
engineering course . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3. Competitive learning: enjoyment or stress? . . . . . . . . . . . . . . . . . . . . . . . . 26
4. Benefits of using ICT in learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32
5. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
The Next Generation of CompetitiveE-learning: The Adaptive Competitive
Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
2. Competitive e-learning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
3. What is next in competitive learning? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
4. A case study: The QUESTOURnament System . . . . . . . . . . . . . . . . . . . . . . .51
4.1. How QUESTOURnament can be adapted? . . . . . . . . . . . . . . . . . . . . . . . . .54
5. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .58
Competitive learning in informatics: The UVa Online Judge experience . . . . . . . 63
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
2. A brief story of the history of the UVa Online Judge . . . . . . . . . . . . . . . . . . .65
3. The analysis of statistics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
4. How does practice change things? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
5. The EduJudge European project . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
6. IOI vs. ICPC. Is the convergence possible? . . . . . . . . . . . . . . . . . . . . . . . . 81
7. About the categorization of tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
8. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89
Using Mooshak as a CompetitiveLearning Tool . . . . . . . . . . . . . . . . . . . . . . . .91
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
2. System overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
2.1. Grading policies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
2.2. Special correctors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
2.3. Feedback to students . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
2.4. Authentication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
3. Handling Programming Assignments with Mooshak . . . . . . . . . . . . . . . . . . . 97
4. Custom automatic evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
4.1. HTML evaluator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
4.2. AWT evaluator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
5. Conclusion and future work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .104
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .105
Olympiads in Informatics: Competitive Learning of Programming for Secondary
School Students . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
2. Problem Solving and Competitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
3. Some Aspects of Organizing Structure of Olympiads in Informatics . . . . . . . 112
3.1. International Olympiads in Informatics (IOI) . . . . . . . . . . . . . . . . . . . . . 112
3.2. Baltic Olympiads in Informatics (BOI) . . . . . . . . . . . . . . . . . . . . . . . . . . 114
3.3. Lithuanian Case: Infrastructure of Olympiads in Informatics . . . . . . . . . . .116
4. Learning of Programming based on using Attractive Tasks . . . . . . . . . . . . . 118
5. Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.1. Testing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
5.2. Lithuanian case: algorithm design ideas and programming style . . . . . . . 122
6. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .. . 125
From eLearning Systems to specialized eLearning Services . . . . . . . . . . . . . . .127
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
2. eLearning Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
2.1. Early Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .128
2.2. Component based systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
2.3. Standardization of eLearning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
2.3.1. Packaging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .134
2.3.2. Metadata . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
2.3.3. Organization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .136
2.3.4. Communication . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .137
3. eLearning Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .138
3.1. Integration strategies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
3.2. Service Oriented Architectures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .141
3.3. Service Oriented Architectures in eLearning . . . . . . . . . . . . . . . . . . . . . . 142
4. Specialized eLearning Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
4.1. Learning processes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .145
4.2. Front-end services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147
4.2.1. Learning Management Systems . . . . . . . . . . . . . . . . . . . . . . . . . . . . .148
4.2.2. Integrated Development Environments . . . . . . . . . . . . . . . . . . . . . . . .149
4.3. Specialised repositories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .149
4.4. Evaluation Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .150
5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .153
Motivating Students Using Competitive Programming . . . . . . . . . . . . . . . . . . .157
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
2. Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
3. Competitive Programming . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
4. Pedagogical Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .164
4.1. Competitive Programming in a Data Structures Course . . . . . . . . . . . . . . 165
4.2. Competitive Programming in an AI Course . . . . . . . . . . . . . . . . . . . . . . 168
4.3. Key Elements for Success . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .169
5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .171
Competitive Programming in National University of Singapore . . . . . . . . . . . . .173
1. University Role in Nurturing Future Programmers . . . . . . . . . . . . . . . . . . . .173
2. Competitive Programming Module . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .175
2.1. Pre-requisites and Syllabus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
2.2. Teaching Methodology . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .180
2.2.1. NUS ICPC Selection Test 1, 12 September 2009, 9am-2pm, 23 students . 181
3. Challenges to Mount Competitive Programming Module . . . . . . . . . . . . . . .185
4. Addressing the Challenges . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .186
4.1. ICT Tools Used in CS3233 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .189
4.1.1. ACM ICPC Live Archive and UVa Online Judge . . . . . . . . . . . . . . . . . . .189
4.1.2. Felix Halim’sUVa scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
4.1.3. Steven Halim’s Methods to Solve . . . . .. . . . . . . . . . . . . . . . . . . . . . . 197
4.1.4. Tools Not Written by the Authors . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
5. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 201
5.1. Notable Achievements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202
5.2. Selected Students Feedbacks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .202
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .204
Competition-style programming problems for Computer Science Unplugged
activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
2. Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
2.1. Computer Science Unplugged . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .210
2.2. Programming Competitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 211
3. Problem Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .214
3.1. Computer Science Unplugged Activities . . . . . . . . . . . . . . . . . . . . . . . . . 214
3.1.1. Parity Magic Trick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
3.1.2. Treasure Islands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
3.2. Programming Activities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
3.3. Progression of Problem Difficulties . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218
4. Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
4.1. Participants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
4.2. Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .221
4.3. Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .223
5. Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
6. Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
7. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .232
Rationalization and Objectification of Programming Teaching (a Project
ROBY)Discovering of homework swindling using competitive learning . . . . . . . 235
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
2. Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
2.1. CTU numbers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .237
3. Inspiration from Competitive Learning Software . . . . . . . . . . . . . . . . . . . . .238
3.1. Experience from the Central European Programming Contest system . . . . 239
3.2. Grading the student work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .241
4. Solution by project ROBY . . . . . . . . . . . . . . . . . . . . . . 242
4.1. Progtest system . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
4.2. Odevsys system . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
5. Results . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244
5.1. Usage statistics of Progtest . . . . . . . . . . . . . . . . . . 245
5.2. Usage statistics of Odevsys . . . . . . . . . . . . . . . . . . 246
5.2. Students feedback . . . . . . . . . . . . . . . . . . . . . . . . . 248
6. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Integrating programming contest experiences for improving programming competences: A Bolivian case study . 251
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
2. Antecedents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 253
2.1. Previous participations . . . . . . . . . . . . . . . . . . . . . 254
2.2. Identifying problems . . . . . . . . . . . . . . . . . . . . . . . 254
3. A constructivism learning method based on competitive contexts and resources . . . . . . . . . . . . . . . . . . . . . . 255
3.1. Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
4. Applying the method . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
4.1. Comments from the experience . . . . . . . . . . . . . . 258
4.2. Statistical analysis . . . . . . . . . . . . . . . . . . . . . . . . . 259
4.2.1. Results of ACM-ICPC participations . . . . . . . . . . . . . . . . . 259
4.2.2. Academic performance improvement . . . . . . . . . . . . . . . . 261
5. Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Training ICPC Teams: A Technical Guide . . . . . . . . . . . . . 265
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
2. Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
2.1. Solving Problems Online . . . . . . . . . . . . . . . . . . . 266
2.2. Tackling Easy Problems . . . . . . . . . . . . . . . . . . . . 267
2.3. Improving Your Coding Ability . . . . . . . . . . . . . . 269
3. Enhancing Your Theoretical Background . . . . . . . . . . 271
3.1. Mathematics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
3.2. Algorithms Designing Techniques . . . . . . . . . . . . 273
3.3. Graph Theory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
3.4. Geometry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
3.5. Last Words . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
4. Planning Your Training . . . . . . . . . . . . . . . . . . . . . . . . . 279
4.1. Know Each Other Better . . . . . . . . . . . . . . . . . . . . 279
4.2. Individual Training . . . . . . . . . . . . . . . . . . . . . . . . 281
4.3. Team Training . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
4.4. Preparing Your Contest Materials . . . . . . . . . . . . 284
5. Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
The History and Achievements of Petrozavodsk ProgrammingTraining Camp . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290
2. The Beginning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
3. Evolution of the Camp . . . . . . . . . . . . . . . . . . . . . . . . . 292
4. The Camp Today . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
5. Goals and Objectives . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
6. Participants . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
7. Contest Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
7.1. Preparation of problems . . . . . . . . . . . . . . . . . . 297
7.2. Problem topics . . . . . . . . . . . . . . . . . . . . . . . . . . 299
7.3. Requirements for problems . . . . . . . . . . . . . . . . 299
8. Problem Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
8.1. Judging System . . . . . . . . . . . . . . . . . . . . . . . . . . 300
8.2. Development of checker programs . . . . . . . . . . 301
9. Rating System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
10. The Jury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
10.1.The legends of the Camp . . . . . . . . . . . . . . . . . . 303
10.2.The Jury duties . . . . . . . . . . . . . . . . . . . . . . . . . . 305
11. Training Camp Mirrors . . . . . . . . . . . . . . . . . . . . . . . . 305
12. Achievements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
13. Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308 |