A Three-Level Problem Corpus for Introductory Computer Programming Courses


Solving problems is a very important exercising activity for students in an introductory computer programming course. The paper introduces the construction of a three-level problem corpus for training the students' programming skills.The first level consists of the C programming language syntax problems, including data types, control flow, functions, pointers and arrays, structures, etc. For each syntax point, there are several problems of different difficulties and each problem is in the form of single-choice question.The second level consists of the programming problems. For each problem, a text description is given and the students are required to write the corresponding source code. The purpose is to train the skills of problem analysis, algorithm design and coding. Besides, each problem is provided with a couple of reference source codes which were written by experienced programmers, the students can learn how to program by studying these good examples.The third level consists of programming projects that are collected from the Internet and previous courses. These projects are relatively bigger programming problems, for example, the Tetris game, the PacMan game, the calculator simulator. For each project, the full source codes and detailed documents are given. The students can learn how to implement a practical software by reviewing these projects, they can also modify the source codes and add some new features.The above corpus is already used in our programming course at Tsinghua University. Initial observations show that students improved their programming skills after they have completed those problems in the corpus.

Author Information
Weijun Chen, Tsinghua University, China

Paper Information
Conference: ACE2017
Stream: Higher education

This paper is part of the ACE2017 Conference Proceedings (View)
Full Paper
View / Download the full paper in a new tab/window

Video Presentation

Comments & Feedback

Place a comment using your LinkedIn profile


Share on activity feed

Powered by WP LinkPress

Share this Research

Posted by James Alexander Gordon