Results 1 - 10
of
45
Visualizing Programs with Jeliot 3
- In Proceedings of the International Working Conference on Advanced Visual Interfaces
, 2004
"... We present a program visualization tool called Jeliot 3 that is designed to aid novice students to learn procedural and object oriented programming. The key feature of Jeliot is the fully or semi-automatic visualization of the data and control flows. The development process of Jeliot has been resear ..."
Abstract
-
Cited by 23 (9 self)
- Add to MetaCart
We present a program visualization tool called Jeliot 3 that is designed to aid novice students to learn procedural and object oriented programming. The key feature of Jeliot is the fully or semi-automatic visualization of the data and control flows. The development process of Jeliot has been research-oriented, meaning that all the different versions have had their own research agenda rising from the design of the previous version and their empirical evaluations. In this process, the user interface and visualization has evolved to better suit the targeted audience, which in the case of Jeliot 3, is novice programmers. In this paper we explain the model for the system and introduce the features of the user interface and visualization engine. Moreover, we have developed an intermediate language that is used to decouple the interpretation of the program from its visualization. This has led to a modular design that permits both internal and external extensibility.
Controversy on how to teach CS 1: A discussion on the SIGCSE-members mailing list
- In inroads – The SIGCSE Bulletin
, 2005
"... A discussion took place on the SIGCSE mailing list in late March of 2004 that raised important issues on how to teach introductory courses using Java. This article attempts to summarize several of the important points raised during this discussion, among them whether or how objects should be taught ..."
Abstract
-
Cited by 20 (0 self)
- Add to MetaCart
A discussion took place on the SIGCSE mailing list in late March of 2004 that raised important issues on how to teach introductory courses using Java. This article attempts to summarize several of the important points raised during this discussion, among them whether or how objects should be taught early or late in a CS 1 course, or indeed whether object-oriented languages should be postponed until a second course. There has been a tremendous shift to the use of Java in the CS 1 course at colleges and universities in the last several years. Reflecting this change, the Advanced Placement course in Computer Science, designed to provide a college-level computer science course for high school students, moved to Java in the 2003-2004 academic year. However, the use of Java and other object-oriented languages in introductory CS courses seems to be generating a lot of controversy among college faculty. Strong feelings about whether or how Java should be taught in introductory courses erupted in March, 2004, on the SIGCSE mailing list. Looking back at introductory textbooks using Java, there seems to have been a gradual change in approach over time. The first wave of Java textbooks primarily followed the structure of C++
Improving the Usability of Eclipse for Novice Programmers
- In Proceedings of the 2003 OOPSLA Workshop on Eclipse Technology Exchange
, 2003
"... This paper describes how we are designing a set of plug-ins to improve teaching and learning of Java programming. Based on requirements gathered from key project stakeholders, the plug-ins include perspectives for both students and instructors. These plug-ins are being developed as part of the Gild ..."
Abstract
-
Cited by 13 (4 self)
- Add to MetaCart
This paper describes how we are designing a set of plug-ins to improve teaching and learning of Java programming. Based on requirements gathered from key project stakeholders, the plug-ins include perspectives for both students and instructors. These plug-ins are being developed as part of the Gild project. The paper summarizes our design process from requirements gathering through to initial tool evaluation. In particular, it details the student perspective and describes how it addresses many pedagogical issues facing computer science educators today. Gild is currently deployed and in use at the University of Victoria. 1
Programming in context: a model-first approach to CS1
- In SIGCSE ’04: Proceedings of the 35th SIGCSE technical symposium on Computer science education
, 2004
"... The recommendations of the Joint Task Force on Computing Curricula 2001 encompass suggestions for an object-first introductory programming course. We have identified conceptual modeling as a lacking perspective in the suggestions for CS1. Conceptual modeling is the defining characteristic of object- ..."
Abstract
-
Cited by 11 (5 self)
- Add to MetaCart
The recommendations of the Joint Task Force on Computing Curricula 2001 encompass suggestions for an object-first introductory programming course. We have identified conceptual modeling as a lacking perspective in the suggestions for CS1. Conceptual modeling is the defining characteristic of object-orientation and provides a unifying perspective and a pedagogical approach focusing upon the modelling aspects of object-orientation. Reinforcing conceptual modelling as a basis for CS1 provides an appealing course structure based on core elements from a conceptual framework for object-orientation as well as a systematic approach to programming; both of these are a big help to newcomers. The approach has a very positive impact on the number of students passing the course.
An Interactive Environment for Beginning Java Programmers
- Science of Computer Programming
, 2004
"... Building upon years of evolution in object-oriented programming language design, Java has emerged as the language of choice among many educators for teaching introductory computer science. A clean, type-safe language, Java provides a garbage collected heap and a comprehensive exception-handling mech ..."
Abstract
-
Cited by 11 (4 self)
- Add to MetaCart
Building upon years of evolution in object-oriented programming language design, Java has emerged as the language of choice among many educators for teaching introductory computer science. A clean, type-safe language, Java provides a garbage collected heap and a comprehensive exception-handling mechanism. However, in spite of this support, many students in introductory computer science courses still find programming to be an overwhelming source of frustration. Linguistic concerns and programming mechanics demand so much attention that deeper concepts are often postponed for later courses, leaving students in introductory courses with the mistaken impression that computer science is a shallow discipline, concerned only with transcribing ideas into code, and not with the ideas themselves. JPie is a tightly integrated programming environment for live software construction in Java. JPie treats programming as an application in its own right, providing a visual representation of class definitions and supporting direct manipulation of graphical representations of programming abstractions and constructs. Exploiting Java’s reflection mechanism, JPie supports the notion of a dynamic class that can be modified while the program is running, thereby eliminating the edit-compile-test cycle. Following years of experience using Java as the vehicle for teaching introductory computer science, we have designed JPie to provide a more natural and fluid software development process that both raises the level of abstraction and eliminates many of the common pitfalls that beginning Java programmers face. This paper studies JPie from an educational perspective. We systematically review key programming abstractions and explain how JPie supports them in ways that keep beginning programmers focused on important ideas. Our experience using JPie in an introductory computer science survey course for non-majors is briefly discussed. 1
The TeachScheme! Project: Computing and Programming for Every Student
, 2003
"... The TeachScheme! project aims to reform three aspects of introductory high school courses on programming. The first is a systematic program design method. The key property of the method is that it asks students to design programs in a stepwise fashion. Each step produces a well-specified intermed ..."
Abstract
-
Cited by 9 (3 self)
- Add to MetaCart
The TeachScheme! project aims to reform three aspects of introductory high school courses on programming. The first is a systematic program design method. The key property of the method is that it asks students to design programs in a stepwise fashion. Each step produces a well-specified intermediate product. It thus gets students started and helps them to overcome obstacles. Furthermore, it empowers teachers to evaluate the reasoning process and not just the final product. The second novelty is the use of a series of increasingly powerful programming languages instead of a single (subset of a) language. Each element of the series introduce students to specific linguistic mechanisms and thus represents a cognitive development stage in a concrete manner. Consequently, the language implementations can provide knowledgeappropriate feedback when errors occur. The third new component is a program development environment that was specifically developed for beginners. It supports the teaching languages in a uniform manner and provides tools that assist with each stage in the curriculum. This paper reports on these three efforts. It includes a preliminary evaluation report on the effects of these changes on teachers and students.
Broadening Participation through Scalable Game Design
- in Proceedings of the ACM Special Interest Group on Computer Science Education Conference, (SIGCSE 2008
, 2008
"... Game development is quickly gaining popularity in introductory programming courses. Motivational and educational aspects of game development are hard to balance and often sacrifice principled educational goals. We are employing the notion of scalable game design as an approach to broaden participati ..."
Abstract
-
Cited by 6 (4 self)
- Add to MetaCart
Game development is quickly gaining popularity in introductory programming courses. Motivational and educational aspects of game development are hard to balance and often sacrifice principled educational goals. We are employing the notion of scalable game design as an approach to broaden participation by shifting the pedagogical focus from specific programming to more general design comprehension. Scalable game design combines the Flow psychological model, the FIT competency framework and the AgentSheets rapid game prototyping environment. The scalable aspect of our approach has allowed us to teach game design in a broad variety of contexts with students ranging from elementary school to CS graduate students, with projects ranging from simple Frogger-like to sophisticated Sims-like games, and with diverse cultures from the USA, Europe and Asia.
From objects-first to design-first with multimedia and intelligent tutoring
- In Proc. of the 10th Annual SIGCSE Conference on Innovation and Technology in Computer Science Education, Monte de Caparica
, 2005
"... “Objects-first ” is an increasingly popular strategy for teaching object-oriented programming by introducing the concepts of objects, classes, and instances before procedural elements of a programming language. Still, this approach emphasizes coding rather than other critical aspects of software dev ..."
Abstract
-
Cited by 6 (1 self)
- Add to MetaCart
“Objects-first ” is an increasingly popular strategy for teaching object-oriented programming by introducing the concepts of objects, classes, and instances before procedural elements of a programming language. Still, this approach emphasizes coding rather than other critical aspects of software development, notably problem-solving and design. We propose a “design-first” curriculum, which subsumes an objects-first approach into lessons that also introduce object-oriented analysis and design, using elements of UML before implementing any code. We also present CIMEL ITS, an intelligent tutoring system that uses the designfirst approach to help students of various learning styles in a CS1 course. It interfaces with an IDE we have chosen specifically to support the design-first curriculum, and CIMEL, multimedia courseware which has been shown to be effective in helping students learn object-oriented programming concepts.
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.
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

