Results 1 - 10
of
13
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.
Using Visualization To Teach Novices Recursion
- Proceedings of the 6 th Annual Conference on Innovation and Technology in Computer Science Education
, 2001
"... This paper describes an approach for introducing recorsion, as pan of a course for novice programmers. The course is designed to mke use of a 3-D animation word-builder as a visualization tool that allows students to see their own programs in action. One of the pedagogical goals of the course is to ..."
Abstract
-
Cited by 13 (3 self)
- Add to MetaCart
This paper describes an approach for introducing recorsion, as pan of a course for novice programmers. The course is designed to mke use of a 3-D animation word-builder as a visualization tool that allows students to see their own programs in action. One of the pedagogical goals of the course is to enable the student to gain an intuitive sense of and mathematical insight into the recursire process. The software, examples of animation using recursion, and some experiences in using this approach are discussed.
Evaluating the Educational Impact of Visualization
, 2003
"... The educational impact of visualization depends not only on how well students learn when they use it, but also on how widely it is used by instructors. Instructors believe that visualization helps students learn. The integration of visualization techniques in classroom instruction, however, has fall ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
The educational impact of visualization depends not only on how well students learn when they use it, but also on how widely it is used by instructors. Instructors believe that visualization helps students learn. The integration of visualization techniques in classroom instruction, however, has fallen far short of its potential. This paper considers this disconnect, identifying its cause in a failure to understand the needs of a key member in the hierarchy of stakeholders, namely the instructor. We describe these needs and o#er guidelines for both the e#ective deployment of visualizations and the evaluation of instructor satisfaction. We then consider di#erent forms of evaluation and the impact of student learning styles on learner outcomes.
Personalizing and discussing algorithms within CS 1 Studio Experiences: An observational study
- in Proc. 2005 International Computing Education Research Workshop
, 2005
"... Pedagogical algorithm visualization technology aims to assist learners in understanding the dynamic behavior of computer algorithms. A key trend in past experimental studies is that learners benefit most when they are actively engaged with algorithm visualization technology. Inspired by this trend, ..."
Abstract
-
Cited by 6 (3 self)
- Add to MetaCart
Pedagogical algorithm visualization technology aims to assist learners in understanding the dynamic behavior of computer algorithms. A key trend in past experimental studies is that learners benefit most when they are actively engaged with algorithm visualization technology. Inspired by this trend, we are exploring the pedagogical value of a novel active learning activity—the Studio Experience—within the context of an introductory CS1 unit on algorithmic problem-solving. In a Studio Experience, student pairs are given algorithm design problems, e.g., “design two alternative algorithms that reverse the values in a list. ” They are tasked both with constructing algorithmic solutions and accompanying visualizations, and with presenting their visualizations for feedback and discussion in a session modeled after an architectural “design crit. ” Through an observational study of studio experience sessions in which students used two alternative forms of visualization technology— art supplies and a computer-based tool—we gained insight into (a) the processes by which students construct visual presentations of algorithms, (b) the characteristics of their visual presentations; (c) the nature of conversations mediated by visual algorithmic solutions; and (d) the kind of visualization technology that best supports these activities. Based on our results, we suggest improvements to the approach, and propose an agenda for future empirical studies.
Through the Looking Glass: Teaching CS0 with Alice
- SIGCSE Bulletin
, 2007
"... This work analyzes the advantages and disadvantages of using the novice programming environment Alice in the CS0 classroom. We consider both general aspects as well as specifics drawn from the authors ’ experiences using Alice in the classroom over the course of the last academic year. ..."
Abstract
-
Cited by 6 (0 self)
- Add to MetaCart
This work analyzes the advantages and disadvantages of using the novice programming environment Alice in the CS0 classroom. We consider both general aspects as well as specifics drawn from the authors ’ experiences using Alice in the classroom over the course of the last academic year.
Teaching Java with the BlueJ environment
- In Ascilite
, 2000
"... BlueJ is a visual programming environment designed to teach objectoriented programming, using Java as the implementation language. BlueJ allows students to concentrate on solving programming problems without becoming distracted by the mechanics of compiling and executing Java programs. This paper re ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
BlueJ is a visual programming environment designed to teach objectoriented programming, using Java as the implementation language. BlueJ allows students to concentrate on solving programming problems without becoming distracted by the mechanics of compiling and executing Java programs. This paper reports on the first use of BlueJ to teach Java to an introductory programming class, in a computing degree in 1999. Several mechanisms were put in place to help students with any problems they encountered. Surveys and interviews were used to collect data on student backgrounds, perceptions and attitudes towards BlueJ. In spite of some problems encountered with installing and running the software, students who participated in the study generally found that BlueJ was helpful in learning Java.
Objects: Visualization of Behavior and State
, 2003
"... Animated program visualization can be used to support innovative instructional methods for teaching beginners about objects, their behavior, and state. In this paper, we present a discussion of methods that define object behavior and character (class)-level state variables that track state changes f ..."
Abstract
-
Cited by 5 (1 self)
- Add to MetaCart
Animated program visualization can be used to support innovative instructional methods for teaching beginners about objects, their behavior, and state. In this paper, we present a discussion of methods that define object behavior and character (class)-level state variables that track state changes for 3D animated objects in small virtual worlds. We have found that character-level methods provide a means to demonstrate inheritance. Examples of worlds and program code used in instructional materials are provided.
Can direct manipulation lower the barriers to programming and promote positive transfer to textual programming? An experimental study
- In Proceedings IEEE 2006 Symposium on Visual Languages and Human-Centric Computing, IEEE, Piscataway, NJ
, 2006
"... Novices face many barriers when learning to program, including the need to learn both a new syntax and a model of computation. By constraining syntax and providing concrete visual representations on which to operate, direct manipulation programming environments can potentially lower these barriers. ..."
Abstract
-
Cited by 2 (2 self)
- Add to MetaCart
Novices face many barriers when learning to program, including the need to learn both a new syntax and a model of computation. By constraining syntax and providing concrete visual representations on which to operate, direct manipulation programming environments can potentially lower these barriers. However, what if the learning goal of the novice is to be able ultimately to program in conventional textual languages, as is the case for introductory computer science students? Can direct manipulation programming environments lower the barriers to programming, and, at the same time, promote positive transfer to textual programming? To address this question, we designed a new direct manipulation programming interface for ALVIS Live!, a novice programming environment. We then conducted an experimental study that compared the programming outcomes promoted by the new direct manipulation interface to those promoted by ALVIS Live!’s textual programming interface. We found that the direct manipulation interface not only led to significantly better initial programming outcomes, but also to significant positive transfer to the textual interface. Our results show that direct manipulation interfaces can provide novices with a “way in ” to traditional textual programming. 1.
Exploring Studio-Based Instructional Models for Computing Education
"... While the demand for college graduates with computing skills continues to rise, such skills no longer equate to mere programming skills. Modern day computing jobs demand design, communication, and collaborative work skills as well. Since traditional instructional methods in computing education tend ..."
Abstract
-
Cited by 2 (1 self)
- Add to MetaCart
While the demand for college graduates with computing skills continues to rise, such skills no longer equate to mere programming skills. Modern day computing jobs demand design, communication, and collaborative work skills as well. Since traditional instructional methods in computing education tend to focus on programming skills, we believe that a fundamental rethinking of computing education is in order. We are exploring a new “studio-based ” pedagogy that actively engages undergraduate students in collaborative, design-oriented learning. Adapted from architectural education, the studio-based instructional model emphasizes learning activities in which students (a) construct personalized solutions to assigned computing problems, and (b) present solutions to their instructors and peers for feedback and discussion within the context of “design crits. ” We describe and motivate the studio-based approach, review previous efforts to apply it to computer science education, and propose an agenda for multi-institutional research into the design and impact of studio-based instructional models. We invite educators to participate in a community of research and practice to advance studio-based learning in computing education.
Kara, Finite State Machines, and the Case for Programming as Part of General Education
, 2001
"... As a major evolutionary step in computer technology, users have come to rely on ready-made application software, rather than writing their own programs. If computer users no longer program, does it follow that the art of programming should only be taught to computing professionals? We argue the case ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
As a major evolutionary step in computer technology, users have come to rely on ready-made application software, rather than writing their own programs. If computer users no longer program, does it follow that the art of programming should only be taught to computing professionals? We argue the case for programming as a component of general education. Not because of any direct utilitarian benefit, but in order to gain a personal experience as to what it means, and what it takes, to specify processes that evolve over time. An analogy to mathematics education shows that schools teach the concept of "proof", although in daily life people use mathematical formulas without knowledge of their proof. Programming practiced as an educational exercise, free from utilitarian constraints, is best learned in a toy environment, designed to illustrate selected concepts in the simplest possible setting. As an example, we present the programming system Kara based on the concept of finite state machine...

