Results 1 -
6 of
6
Roles of variables in three programming paradigms
- Computer Science Education
"... Roles can be assigned to occurrences of variables in programs according to a small number of stereotypical patterns of use. Studies on explicitly teaching roles to novices learning programming have shown that roles are an excellent pedagogical tool for clarifying the structure and meaning of program ..."
Abstract
-
Cited by 5 (4 self)
- Add to MetaCart
Roles can be assigned to occurrences of variables in programs according to a small number of stereotypical patterns of use. Studies on explicitly teaching roles to novices learning programming have shown that roles are an excellent pedagogical tool for clarifying the structure and meaning of programs and that their use improves students ’ programming skills. This paper describes how roles can be applied in various programming paradigms and presents the results of three studies designed to test the understandability and acceptability of the role concept and of the individual roles in procedural, object-oriented and functional programming. Based on the results, two new roles and small modifications to the definitions of the original roles are suggested.
Design of Class Hierarchies – An Introduction to OO Program Design
- Proceedings of the 37 th SIGCSE Technical Symposium on Computer Science Education, March 1-5 th , 2006
, 2006
"... ..."
A Functional I/O System ∗ or, Fun for Freshman Kids
"... Functional programming languages ought to play a central role in mathematics education for middle schools (age range: 10–14). After all, functional programming is a form of algebra and programming is a creative activity about problem solving. Introducing it into mathematics courses would make pre-al ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
Functional programming languages ought to play a central role in mathematics education for middle schools (age range: 10–14). After all, functional programming is a form of algebra and programming is a creative activity about problem solving. Introducing it into mathematics courses would make pre-algebra course come alive. If input and output were invisible, students could implement fun simulations, animations, and even interactive and distributed games all while using nothing more than plain mathematics. We have implemented this vision with a simple framework for purely functional I/O. Using this framework, students design, implement, and test plain mathematical functions over numbers, booleans, string, and images. Then the framework wires them up to devices and performs all the translation from external information to internal data (and vice versa)—just like every other operating system. Once middle school students are hooked on this form of programming, our curriculum provides a smooth path for them from pre-algebra to freshman courses in college on object-oriented design and theorem proving. Categories and Subject Descriptors D.2.10 [Software Engineering]:
Supporting introductory test-driven labs with WebIDE” Software Engineering Education and Training
- CSEE and T), 2011 24th IEEE-CS Conference on 22–24 May 2011
"... WebIDE is a new web-based development environment for entry-level programmers with two primary goals: minimize tool barriers to writing computer programs and introduce software engineering best practices early in a student’s educational career. Currently, WebIDE focuses on Test-Driven Learning (TDL) ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
WebIDE is a new web-based development environment for entry-level programmers with two primary goals: minimize tool barriers to writing computer programs and introduce software engineering best practices early in a student’s educational career. Currently, WebIDE focuses on Test-Driven Learning (TDL) by using small iterative examples and introducing lock-step labs, which prevent the student from moving forward until they finish the current step. However, WebIDE does not require that labs follow TDL. Instruc tors can write their own labs for WebIDE using any software engineering or pedagogical ap proach. Likewise, instructors can build custom evaluators—written in any language—to support their approach and provide detailed error messages to students. We report on a pilot study in a CS0 course where students were split into two groups, one that used WebIDE and one that didn’t. The WebIDE group showed a significant improvement in performance when writing a simple Android application. Additionally, among students with some programming experience, the WebIDE group was more proficient in writing unit tests. 1
On Requirements for Programming Exercises from an e-Learning Perspective
, 2008
"... This report accounts for some of the main results obtained by the author during a short research visit at the Saarland University, in Germany. 1 In this work, we deal with the question of modeling programming exercises for novices pointing to an e-Learning scenario. Our purpose is to identify basic ..."
Abstract
- Add to MetaCart
This report accounts for some of the main results obtained by the author during a short research visit at the Saarland University, in Germany. 1 In this work, we deal with the question of modeling programming exercises for novices pointing to an e-Learning scenario. Our purpose is to identify basic requirements, raise some key questions and propose potential answers from a conceptual perspective. We visualize and start delimitating a potential research area, one serving as a basis for further development and more specific work in the future. Presented as a general picture, we hypothetically situate our work in a general context where e-Learning instructional material needs to be adapted to form part of an introductory Computer Science (CS) e-Learning course at the CS1-level. Meant is a potential course which aims at improving novices skills and knowledge on the essentials of programming by using e-Learning based approaches in connection (at least conceptually) with a general host framework like Active-Math 2. Our elaboration covers contextual and, particularly, cognitive elements preparing the terrain for eventual research stages in a derived project, as indicated. Fully aware that this area is huge and multi- and interdisciplinary, we concentrate our main efforts on reasoning

