128 research outputs found
Un cédérom pour Scheme: Chacun son entraineur, un entraineur pour tous
Les actes peuvent être commandés à l'adresse suivante : http://tice2002.insa-lyon.fr/fr/sommaire.htmlNational audienceWe describe a teaching experiment where an introductory course to Computer Science is accompanied by a computerized training engine. This whole engine relies on the existence of an interpreter of the taught programming language that allows us to offer quizzes as well as exercises with some automatic marking facility. Students may then perform their homework with an immediate feedback without being connected to the Internet. However students' answers are eventually gathered in a central database where they may be analyzed thus providing the means for “personal coaching”.Cet article relate une expérimentation pédagogique dans laquelle nous avons conçu un cédérom pour accompagner un cours d'initiation à l'informatique. Ce cédérom procure un environnement de développement enrichi d'exercices et d'auto-évaluations. De façon autonome c'est-à -dire non connectés à Internet, les étudiants peuvent étudier leur cours, écrire des programmes et les soumettre pour obtenir une appréciation immédiate de leur travail. Les réponses sont accumulées puis transmises dans une base de données centrale où elles peuvent être analysées et assurer ainsi un suivi personnalisé
Partial Continuations as the Difference of Continuations. A Duumvirate of Control Operators
We define a partial continuation as the difference of two continuations. We exhibit, in a single framework, several design choices and their impact on semantics. The ability of partial continuations to manipulate stack frames blurs the nature of dynamic extent; therefore, we introduce a new concept of prefixal extent that characterises the time during which a partial continuation can be reified. We propose two equivalent formal semantics for partial continuations: a context-rewriting system and a cps translation. Two new and realistic examples illustrate both the interest of partial continuations and the expressiveness of our choices
A Library for Quizzes
Programming web dialogs is already known to be well served by continuations; this paper presents a continuation-based library for a particular class of web dialogs: quizzes for students. The library is made of objects representing the individual questions and of functional combinators hiding the imperative aspects of page shipping over HTTP and management of continuations. Mixing these three styles provide an elegant framework that fulfills our initial goal. The description of that library is hoped to be helpful for quizzes designers
An Infrastructure for Mechanised Grading
International audienceMechanised grading is now mature. In this paper, we propose elements for the next step: building a commodity infrastructure for grading. We propose --- an architecture for a grading component able to be embedded into various learning environments, --- a set of extensible Internet-based protocols to interact with this component, and --- a self-contained file format to thoroughly define an exercise in order to ease deployment. The infrastructure was designed to be scalable, robust and secure. First experiments with a partial implementation of this platform show the versatility and the neutrality of the grading component. It does not impose any IDE and it respects the tenets of the embedding learning environment or course-based system
Continuations and Web Servers
International audienceProgramming web applications in direct style with the help of continuations is a much simpler, safer, modular and better-performing technology than the current dominating “page-centric” technology combining CGI scripts, active pages or servlets. This paper discusses the use of continuations in the context of web applications, the problems they solve as well as some new problems they introduce
Inverting back the inversion of control or, continuations versus page-centric programming
International audienceOur thesis is that programming web applications with continuations is superior to the current page-centric technology. A continuation is a program-level manageable value representing the rest of the computation of the program. "What to do next" is precisely what has to be explicitly encoded in order to program non trivial web interactions. Continuations allow web applications to be written in direct style that is, as a single program that displays forms and reads form submission since continuations automatically capture everything (control point, lexical bindings, etc.) that is needed to resume the computation. Programming is therefore safer, easier and more re-usable
A Library for Quizzes
Programming web dialogs is already known to be well served by continuations; this paper presents a continuation-based library for a particular class of web dialogs: quizzes for students. The library is made of objects representing the individual questions and of functional combinators hiding the imperative aspects of page shipping over HTTP and management of continuations. Mixing these three styles provide an elegant framework that fulfills our initial goal. The description of that library is hoped to be helpful for quizzes designers
Mechanised grading: the next step
Mechanised grading is now mature: lots of experiments proved it. In this paper, we propose elements for the next step: standardisation. We propose --- an architecture for a grading component able to be embedded into various learning environments, --- a set of extensible Internet-based protocols to interact with this component, and --- a self-contained file format to thoroughly define an exercise in order to ease deployment. The architecture was designed to be scalable, robust and secure. First experiments with a partial implementation of this platform show the versatility and the neutrality as well of the grading component. It does not impose an IDE, it respects the tenets of the embedding learning environment or course-based system
- …