7 research outputs found
Report on a User Test and Extension of a Type Debugger for Novice Programmers
A type debugger interactively detects the expressions that cause type errors.
It asks users whether they intend the types of identifiers to be those that the
compiler inferred. However, it seems that novice programmers often get in
trouble when they think about how to fix type errors by reading the messages
given by the type debugger. In this paper, we analyze the user tests of a type
debugger and report problems of the current type debugger. We then extend the
type debugger to address these problems. Specifically, we introduce
expression-specific error messages and language levels. Finally, we show type
errors that we think are difficult to explain to novice programmers. The
subjects of the user tests were 40 novice students belonging to the department
of information science at Ochanomizu University.Comment: In Proceedings TFPIE 2014, arXiv:1412.473
Desarrollo e implementación de un intérprete de pseudocódigo para la enseñanza de algorítmica computacional
A la problemática del ingreso irrestricto en las universidades de nuestro país, debemos sumar la pobre calidad de la enseñanza en el nivel medio/polimodal, lo cual produce una combinación claramente negativa para un adecuado proceso de enseñanza-aprendizaje en los primeros años de las carreras de grado. Este problema se traduce en porcentajes muy altos de deserción en el primer año de estudios de nuestras UUNN. Este es el caso de la a carrera de Ingeniería Informática en la UNL de Santa Fe, que además agrega la problemática de un ingreso masivo de estudiantes en primer año. En esta carrera, durante el primer cuatrimestre del primer año se desarrolla la asignatura Fundamentos de Programación, la cual introduce a los estudiantes a los conceptos de programación en base a un laboratorio de lenguaje ANSI/ISO C++. Con la problemática mencionada, la enseñanza de la lógica requerida para la resolución de problemas mediante programas, sumada a la sintaxis algo críptica (para principiantes) de C++ dificulta el aprendizaje y el cumplimiento de los objetivos de la materia. Por lo expuesto, la cátedra de la asignatura introdujo desde el año 2002 una serie de innovaciones destinadas a revertir algunos de estos inconvenientes y mejorar los resultados del proceso educativo. Entre los cambios se destaca el uso de un pseudocódigo en español en las 4 primeras unidades de la asignatura que permitiera desarrollar en los estudiantes los conceptos de lógica de programación y el uso de ciertas estructuras básicas de control y de datos en forma independiente de un lenguaje de alto nivel. Este trabajo describe las características del desarrollo de un intérprete para dicho pseudocódigo y su empleo en la enseñanza de algorítmica computacional.Red de Universidades con Carreras en Informática (RedUNCI
Desarrollo e implementación de un intérprete de pseudocódigo para la enseñanza de algorítmica computacional
A la problemática del ingreso irrestricto en las universidades de nuestro país, debemos sumar la pobre calidad de la enseñanza en el nivel medio/polimodal, lo cual produce una combinación claramente negativa para un adecuado proceso de enseñanza-aprendizaje en los primeros años de las carreras de grado. Este problema se traduce en porcentajes muy altos de deserción en el primer año de estudios de nuestras UUNN. Este es el caso de la a carrera de Ingeniería Informática en la UNL de Santa Fe, que además agrega la problemática de un ingreso masivo de estudiantes en primer año. En esta carrera, durante el primer cuatrimestre del primer año se desarrolla la asignatura Fundamentos de Programación, la cual introduce a los estudiantes a los conceptos de programación en base a un laboratorio de lenguaje ANSI/ISO C++. Con la problemática mencionada, la enseñanza de la lógica requerida para la resolución de problemas mediante programas, sumada a la sintaxis algo críptica (para principiantes) de C++ dificulta el aprendizaje y el cumplimiento de los objetivos de la materia. Por lo expuesto, la cátedra de la asignatura introdujo desde el año 2002 una serie de innovaciones destinadas a revertir algunos de estos inconvenientes y mejorar los resultados del proceso educativo. Entre los cambios se destaca el uso de un pseudocódigo en español en las 4 primeras unidades de la asignatura que permitiera desarrollar en los estudiantes los conceptos de lógica de programación y el uso de ciertas estructuras básicas de control y de datos en forma independiente de un lenguaje de alto nivel. Este trabajo describe las características del desarrollo de un intérprete para dicho pseudocódigo y su empleo en la enseñanza de algorítmica computacional.Red de Universidades con Carreras en Informática (RedUNCI
Recommended from our members
The ChildsPlay Approach: Evaluating an Experimental Approach for Teaching Introductory CS at University
University students first learning about computer science (CS) can be intimidated and frustrated by programming. In addition, the general-purpose programming languages chosen for introducing students to programming contain several features that have the potential to overwhelm and distract them from focused curriculum topics, which can lead to reduced retention of CS students and less student comprehension of fundamental CS concepts. We hypothesize that a more successful introductory CS course can be achieved by using a new approach that uses a familiar, physical game theme and a delayed-coding, concept-first approach followed by a language with a smaller feature set designed specifically for teaching fundamental CS concepts, such as types, values, conditions, control structures, and functions.
To test this hypothesis, we examine two sections of a first-year university CS orientation class. One section was taught using the university’s traditional approach for teaching the course. The second section was taught using the new approach. We evaluate each approach’s effectiveness by comparing multiple outcomes from the different sections of the course including student retention, subsequent class performance, grades, reported engagement and interest in the class, and reported changes in debugging practices. Based on student survey responses before and after the two sections, we find that students in the experimental section using the new approach like the use of games as a way to teach about computation but had lower engagement in their class, likely due to the programming language used. We find no difference in student performance in subsequent computer science courses
The Structure and Interpretation of the Computer Science Curriculum
Nearly twenty years ago, Structure and Interpretation of Computer Programs (SICP) changed the intellectual landscape of introductory computing courses. Unfortunately, three problems---its lack of an explicit program design methodology, its reliance on domain knowledge, and the whimsies of Scheme--- have made it integrate poorly with the rest of the curriculum and fail to maintain its position in several departments