Content area
JavaGrinder: A Web-Based Platform for Teaching Early Computing SkillsEven as Bureau of Labor Statistics predictions indicate unprecedented demand for softwareengineers in the next five years, nationwide retention rates of incoming majors are alarminglylow and interest in computer science remains stagnant. Many educators are reevaluating how weteach computer science in the critical first year of study and are questioning the emphasis ofprogramming and tool mastery over more abstract computational thinking.While specialized development tools and integrated development environments intend tosimplify programming tasks they typically do little to support pedagogical development andevaluation of a broad range of problems at varying levels of computational abstraction. Worseyet, the languages and tools used in introductory courses often create barriers in the form ofboiler plate code, complex build tools, and unintuitive interfaces that discourage students fromengaging in directed and focused practice.In this paper we review existing introductory computer science tools, enumerate barriers tostudent learning we have identified in our own classes, and introduce a new web-basedpedagogical platform for teaching computer science that emphasizes problem solving and corecomputer science concepts while deemphasizing the role of specialized development tools. Thisis accomplished with JavaGrinder, a task specific web 2.0 environment where students can workeither individually or as teams on bite-sized problems that focus on solid software engineeringpractices and concept mastery. Concepts are presented within real-world contexts that advocatecomputer science as an exciting multidisciplinary field, rather than as an abstract world of syntaxand arcane codes. JavaGrinder is designed to facilitate problem-solving skills by exposing thesalient aspects of a problem, providing guided practice, and immediate feedback. JavaGrinderteaches true Java programming, while shielding students from language and platform-specificminutiae. In this way, JavaGrinder addresses the critical gap between successful introductoryprogramming environments and realistic functional programming and software engineering.
Details
Shielding;
Computation;
Programming environments;
Software engineering;
Computer science;
Building codes;
Functional programming;
Student retention;
Skills;
Problem solving;
Students;
Java;
Teachers;
Interfaces;
Feedback;
Teaching;
Computer assisted instruction--CAI;
Software;
Computers;
First year;
Syntax;
Languages;
Interdisciplinary aspects;
Syntactic islands;
Statistics