ABSTRACT
Learning programming at scale underlies computer science education ranging from basic programming to advanced software engineering topics. There are strong needs of providing effective system supports for learning programming at scale. Among various desirable characteristics of such system supports, system supports shall allow students to write programs via an online Integrated Development Environment (IDE), allow students to get feedback on how they perform on the given programming exercises, etc. To aim for such effective system supports for learning programming at scale, research teams from Peking University have developed two systems: POP (denoting Peking University Online Programming System) and POJ (denoting Peking University Online Judge System). These two systems have achieved high impact among students around the world (especially those in China). In this paper, we present the overview of the two systems, along with our ongoing and future work on extending the systems for achieving higher effectiveness in supporting learning programming at scale.
- Lin, S., Zhang, Q., and Li, W. A programmer self-training system with programming skill evaluation and personalized task recommendation. In Proc. Interantional Conference on E-learning, E-business, Enterprise Information Systems, and E-Goverment (EEE) (2013), 112--117.Google Scholar
- Ling, W., Liang, G., Kui, S., and Wang, Q. CEclipse: An online IDE for programing in the cloud. In Proc. IEEE World Congress on Services (SERVICES) (2011), 45--52. Google ScholarDigital Library
- Ling, W., Liang, G., and Wang, Q. Program behavior analysis and control for online IDE. In Proc. Computer Software and Applications Conference Workshops (COMPSACW) (2012), 182--187. Google ScholarDigital Library
- Tillmann, N., Halleux, J. D., Xie, T., Gulwani, S., and Bishop, J. Teaching and learning programming and software engineering via interactive gaming. In Proc. International Conference on Software Engineering (ICSE), Software Engineering Education (SEE) (2013), 1117--1126. Google ScholarDigital Library
- Xie, T., Tillmann, N., and de Halleux, J. Educational software engineering: Where software engineering, education, and gaming meet. In Proc. International Workshop on Games and Software Engineering (GAS) (2013), 36--39.Google ScholarCross Ref
Index Terms
- Educational programming systems for learning at scale
Recommendations
Beyond programming languages
As computer technology matures, our growing ability to create large systems is leading to basic changes in the nature of programming. Current programming language concepts will not be adequate for building and maintaining systems of the complexity ...
Comparing novice programing environments for use in secondary education: App Inventor for Android vs. Alice
Coding is part of logical thinking and is one of the basic skills which are known as '21st-century skills'. Coding acquisition is necessary as it is used in a wide range of occupations. However, computer programing is difficult to learn and programing ...
Comments