Results 1 - 10
of
13
Lowering the barriers to programming: A taxonomy of programming environments and languages for novice programmers
- ACM COMPUT. SURV
, 2005
"... Since the early 1960’s, researchers have built a number of programming languages and environments with the intention of making programming accessible to a larger number of people. This article presents a taxonomy of languages and environments designed to make programming more accessible to novice pr ..."
Abstract
-
Cited by 61 (2 self)
- Add to MetaCart
Since the early 1960’s, researchers have built a number of programming languages and environments with the intention of making programming accessible to a larger number of people. This article presents a taxonomy of languages and environments designed to make programming more accessible to novice programmers of all ages. The systems are organized by their primary goal, either to teach programming or to use programming to empower their users, and then, by each system’s authors ’ approach, to making learning to program easier for novice programmers. The article explains all categories in the taxonomy, provides a brief description of the systems in each category, and suggests some avenues for future work in novice programming environments and languages.
Using software testing to move students from trial-and-error to reflection-in-action
, 2004
"... Introductory computer science students rely on a trial and error approach to fixing errors and debugging for too long. Moving to a reflection in action strategy can help students become more successful. Traditional programming assignments are usually assessed in a way that ignores the skills needed ..."
Abstract
-
Cited by 30 (3 self)
- Add to MetaCart
Introductory computer science students rely on a trial and error approach to fixing errors and debugging for too long. Moving to a reflection in action strategy can help students become more successful. Traditional programming assignments are usually assessed in a way that ignores the skills needed for reflection in action, but software testing promotes the hypothesis-forming and experimental validation that are central to this mode of learning. By changing the way assignments are assessed—where students are responsible for demonstrating correctness through testing, and then assessed on how well they achieve this goal—it is possible to reinforce desired skills. Automated feedback can also play a valuable role in encouraging students while also showing them where they can improve.
Teaching Objects-first In Introductory Computer Science
, 2003
"... An objects-first strategy for teaching introductory computer science courses is receiving increased attention from CS educators. In this paper, we discuss the challenge of the objectsfirst strategy and present a new approach that attempts to meet this challenge. The new approach is centered on the v ..."
Abstract
-
Cited by 30 (1 self)
- Add to MetaCart
An objects-first strategy for teaching introductory computer science courses is receiving increased attention from CS educators. In this paper, we discuss the challenge of the objectsfirst strategy and present a new approach that attempts to meet this challenge. The new approach is centered on the visualization of objects and their behaviors using a 3D animation environment. Statistical data as well as informal observations are summarized to show evidence of student performance as a result of this approach. A comparison is made of the pedagogical aspects of this new approach with that of other relevant work.
Rethinking Computer Science Education from a Test-First Perspective
- In Companion of the 2003 ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications
, 2003
"... Despite our best efforts and intentions as educators, student programmers continue to struggle in acquiring comprehension and analysis skills. Students believe that once a program runs on sample data, it is correct; most programming errors are reported by the compiler; when a program misbehaves, shu ..."
Abstract
-
Cited by 29 (3 self)
- Add to MetaCart
Despite our best efforts and intentions as educators, student programmers continue to struggle in acquiring comprehension and analysis skills. Students believe that once a program runs on sample data, it is correct; most programming errors are reported by the compiler; when a program misbehaves, shuffling statements and tweaking expressions to see what happens is the best debugging approach. This paper presents a new vision for computer science education centered around the use of test-driven development in all programming assignments, from the beginning of CS1. A key element to the strategy is comprehensive, automated evaluation of student work, in terms of correctness, the thoroughness and validity of the student’s tests, and an automatic coding style assessment performed using industrial-strength tools. By systematically applying the strategy across the curriculum as part of a student’s regular programming activities, and by providing rapid, concrete, useful feedback that students find valuable, it is possible to induce a cultural shift in how students behave.
Introducing Computer Science Through Animation and Virtual Worlds
, 2002
"... We describe a course for non-majors that teaches computer science concepts and programming by creating simple animations and building 2D and 3D virtual worlds. Students work with scripting languages, an interactive programming environment, a programmable modeling environment, and finish with a simpl ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
We describe a course for non-majors that teaches computer science concepts and programming by creating simple animations and building 2D and 3D virtual worlds. Students work with scripting languages, an interactive programming environment, a programmable modeling environment, and finish with a simple programming language. Students work in pairs on computers during class. Each student creates a web portfolio to display their work.
Jeroo: A Tool for Introducing Object-Oriented Programming
- In Proceedings of the Thirtyfourth SIGCSE Technical Symposium on Computer Science Education (2003), ACM
, 2003
"... Jeroo is a tool that has been developed to help students in beginning programming courses learn the semantics of fundamental control structures, learn the basic notions of using objects to solve problems, and learn to write methods that support a functional decomposition of the task. Jeroo is simila ..."
Abstract
-
Cited by 7 (0 self)
- Add to MetaCart
Jeroo is a tool that has been developed to help students in beginning programming courses learn the semantics of fundamental control structures, learn the basic notions of using objects to solve problems, and learn to write methods that support a functional decomposition of the task. Jeroo is similar to Karel the Robot and its descendants, but has a narrower scope that Karel’s descendants and has a syntax that provides a smoother transition to either Java or C++. Jeroo has been class tested at Northwest Missouri State University, and has proven to be an effective tool for working with students in a beginning programming class. 1
greenfoot: Combining Object Visualisation with Interaction, The 19th Annual OOPSLA conference, Educators' Symposium
, 2004
"... The introduction of programming education with objectoriented languages slowly migrates down the curriculum and is now often introduced at the high school level. This migration requires teaching tools that are adequate for the intended target audience. In this paper, we present a new tool for teachi ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
The introduction of programming education with objectoriented languages slowly migrates down the curriculum and is now often introduced at the high school level. This migration requires teaching tools that are adequate for the intended target audience. In this paper, we present a new tool for teaching objectoriented programming aimed at students at or below college level, with special emphasis of supporting school age learners. This tool was designed by analysing and combining the most beneficial aspects of several existing tools. It aims at combining the simplicity and visual appeal of Karel the Robot with much of the flexibility and interaction of BlueJ, while at the same time opening up possibilities of new applications. Categories and Subject Descriptors
Game Programming in Introductory Courses With Direct State Manipulation
"... While the introduction of object-oriented programming slowly moves down the age groups – starting from advanced university courses, to introductory courses, and now into high schools – many attempts are being made to make object-oriented programming introduction less abstract and theoretical. Visual ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
While the introduction of object-oriented programming slowly moves down the age groups – starting from advanced university courses, to introductory courses, and now into high schools – many attempts are being made to make object-oriented programming introduction less abstract and theoretical. Visualisation and interaction techniques are being applied in an attempt to give students engaging and concrete experiences with objects. Recently, the greenfoot environment has been proposed as another step in this development. In this paper, we describe new functionality in the greenfoot environment, especially the addition of user interaction programming via direct state manipulation. Direct state manipulation provides very low overhead graphical I/O handling at a level that makes it feasible to guide students to simple graphical game programming within a few weeks, while concentrating on fundamental object-oriented concepts in the structure of the program.
Lowering the Barriers to Programming:
"... a survey of programming environments and languages for novice programmers ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
a survey of programming environments and languages for novice programmers

