Algunos apoyos  para cursos tipo CS1
(Computing Sciencie One o Iniciación en ciencias de la computación
) Marzo.8.2004
Por favor
  háganos saber aquí si usted conoce otras herramientas o puede ayudarnos a mejorar los enlaces o la información inicial mente presentada.
(Tomado de una página en la Universidad de Antioquia)
Primero se referenciarán  las ayudas en español:

En español
Algunos métodos, estudios, reflexiones y escritos en español

En inglés se han encontrado las siguientes referencias


En español:

Lexico es un lenguaje didáctico en español orientado a objetos .NET (POO u OOP) destinado al aprendizaje y la enseñanza de la elaboración de algoritmos y la programación orientada a objetos. Se puede descargar su compilador desde http://riosur.net . Es un recurso o material de apoyo pedagógico para la iniciación.  Es una ayuda o herramienta útil para métodos de carácter exploratorio y experimental. Diseñado para que aprenda fácil a programar y a diseñar algoritmos orientados a objetos.

Se trata de un lenguaje didáctico para programación en español destinado a facilitar el aprendizaje y la enseñanza de la programación orientada a objetos. Pretende, y las investigaciones realizadas con él así lo han comprobado, mejorar el desempeño de los estudiantes y motivarlos para avanzar en la generación de habilidades en lógica de programación pues les permite experimentar con los algoritmos diseñados sin tener que dedicar meses a aprender un lenguaje de producción que les permita "ver" sus creaciones.

Su estructura es sencilla y se han retirado elementos de eficiencia innecesarios en un entrenamiento.

El compilador corre sobre la plataforma (Framework) distribuible .NET de Microsoft y es descargable desde su portal ubicado en http://riosur.net/

Permite la suficiente sencillez para entrenarse desde los conceptos básicos en algoritmos por medio de la descripción del mensaje o comportamiento tarea   para que la persona practique las estructuras fundamentales en lógica (secuencia con {....}, decisión con es ? y ciclo de repeticiones con mientras) y la clásica estructura de datos compuesta llamada   arreglo, hasta en el paradigma de la programación orientada a objetos puro, POO.

El centro medular es la orientación a objetos para lo cual posee el soporte apropiado y se ha simplificado al máximo de manera que ayude a la inmersión en los conceptos.

Los objetos pueden ser construidos con base en las dos clases fundamentales, cantidad y caracteres, con base en las clases establecidas por el programador   y con base en las 7000   definiciones de la plataforma.net de Microsoft, lo que permite desarrollar verdaderas

aplicaciones que incluyan controles y el manejo de eventos.

Las clases pueden ser definidas dentro del archivo del programa central o en archivos externos y por la vía de la herencia con base en la librería FCL( Librería de Clases del Marco de trabajo) de Microsoft. Aquellas que no hayan sido definidas dentro del archivo principal de trabajo son incorporadas con la instrucción incluya.

Un ejemplo de descripción de un método, algoritmo o comportamiento:

/* Fibonacci   http://fractus.mat.uson.mx/Papers/Varios/Articulo97.html   */

tarea:

{

  los objetos i, n, primero, segundo, tercero son cantidades

  muestre: "Entre el numero de terminos deseados: "

  entre:   n

  copie 0 en i, primero

  copie 1 en segundo

  mientras i haga:

            {

             copie i + 1 en i

             muestre primero

             copie primero + segundo en tercero

             copie segundo en primero

             copie tercero en segundo

            }

}

 

Un ejemplo OOP que utiliza una clase profesional de .NET y permite el uso de eventos:

incluya "System.Windows.Forms "

clase ventana  derivada_de "System.Windows.Forms.Form"

{

publicos :

mensajes:

ventana copie "Este es el título de mi primera ventana" en ventana.text

}



 
Pauscal
  por Paul Guerra de Paraná, provincia de Entre Ríos, República Argentina http://www.geocities.com/pauscal_soft/ . Es un lenguaje de programación híbrido de 32 bits para Microsoft Windows® que tiene una característica muy particular: su sintaxis está basada en el idioma español. Aunque inicialmente fue pensado para principiantes y para personas sin conocimiento del idioma inglés, ahora se convirtió en un lenguaje muy potente capaz de realizar muchas tareas complejas.


LORO : Un sistema de programación didáctico con lenguaje orientado a objetos en español,  es una aplicación Java, por lo que tu sistema necesita contar previamente con un Entorno de Ejecución Java ( JRE - Java Runtime Environment ). : http://loro.sourceforge.net/ . Especificaciones en http://loro.sourceforge.net/docs/def-loro.html (Carlos Rueda y Marlon J. Manrique, Universidad Autónoma de Manizales,   Colombia).


DFD : Intérprete de diagramas de flujo de datos procedimental estructurado de Fabián Cárdenas y su grupo en la Universidad del Magdalena, Colombia. Bajarlo .


LEXICO: Lenguaje procedimental estructurado. Compilador desarrollado en 1992 para DOS, se utilizó en la Universidad de Antioquia, Colombia: (ya no está disponible ). Gramática .


LÉXICO: Lenguaje procedimental estructurado. Intérprete desarrollado para la web en 2001 (no disponible). Gramática .



AMIVA( Ambiente para la Instrucción Visual de Algoritmos , tesis de Juan Pablo Casares Charles, Instituto Tecnológico Autónomo de México, julio de 1999:

http://perseus.ster.itam.mx/redii/Proyectos/CETEE/nuevocetee/6AMIVAParte1.htm  

http://perseus.ster.itam.mx /redii/Proyectos/CETEE/ NuevoCetee/documentosamiva /cap5. do.PDF 


Framework , ” Robot Móvil Especializado”,  (parecido a Karel) Juan Pablo Quiroga González, Jorge Restrepo Universidad de los Andes, Colombia: http://www.acis.org.co/Paginas/publicaciones/revistarobot80.html


CS1 es un simulador de un computador sencillo ( de ahí su nombre ) empleado  con fines docentes por el Departamento de Tecnología Electrónica de la Universidad de Sevilla en asignaturas de primer curso o introducción a la electrónica digital. Lenguaje de ensamble (bajo nivel) que corre en ambiente Linux .

Los autores del programa CS1 son Antonio L. Delgado Gonzalez y Diego I. Freniche Brito ambos estudiantes de informática en la Facultad de Informática y Estadística de la Universidad de Sevilla.

Con la implementación de este software se pretende mejorar la docencia desde dos puntos de vista:
 

  1. Desde la vertiente del alumno, al cual se ofrece la posibilidad de trabajar con esta herramienta incluso en su propia casa.
  2. Desde el punto de vista del profesor, al cual le permite desarrollar más claramente y utilizando menos tiempo los conceptos relacionados con este tema. http://www.arquired.es/users/aldelgado/proy/cs1/html/cs1_what.htm

Inter-P (Rafael Pacheco, Venezuela ?) http://www.pachesoft.com/interp.html


Hispascal - Es un proyecto para traducir el Pascal a Español. Etapa: planificación, realmente toman un código abierto de un compilador pascal y van a cambiar los términos claves (2000.04.09) https://sourceforge.net/projects/hispascal/ http://hispascal.sourceforge.net/documentacion/indice.html


ALC: Procedimental : http://www.dlsi.ua.es/~alc/   (Paco Moreno). El intérprete del lenguaje fue desarrollado por Paco Moreno, del Departamento de Lenguajes y Sistemas Informáticos, a partir de un compilador-intérprete de un subconjunto de Pascal publicado por Jan Van de Snepcheut en su libro " What computing is all about ". Basado en la sintaxis del Pascal.

Este programa fue ideado para ser utilizado en la asignatura de Fundamentos de la Programación de la carrera de Ingeniero en Informática de la Universidad de Alicante, durante el curso 97/98, y fue desarrollado inicialmente para que funcionara en Linux . Posteriormente, se generó un ejecutable para MS-DOS, que funciona casi exactamente igual que el de Linux , excepto por las limitaciones de memoria del MS-DOS. http://www.dlsi.ua.es/~alc/


LPOOC ( Uruguay ) http://iie.fing.edu.uy/ense/grado/asignaturas/verprograma.php3?cod_asign=103


UBL : Lenguaje para la enseñanza de la programación en castellano 1984: http://www.jmblasco.com/ubl/

Es un lenguaje de programación desarrollado entre 1980 y 1986 por José María Blasco en el Laboratorio de Cálculo (Centro de Cálculo) de la Universidad de Barcelona . El lenguaje es un derivado parentizado de Pascal con iteradores sintácticos; se disponía de versiones con las palabras clave y funciones predefinidas en castellano, catalán e inglés. Fué usado entre 1983 y 1987 para la asignatura de un Curso dirigido a Doctores, tesinandos y estudiantes de tercer ciclo que impartía el Centro de Informática de la Universidad de Barcelona .


Lenguaje para la enseñanza de la programación (Juancarlo Añez , Venezuela) Link roto ?(cambiado ?): http://www.modelistica.com/profile/juanca_es.htm#ProyectosinBrief


SL: UN LENGUAJE PARA LA introducción A LA ALGORITMIA, JUAN SEGOVIA SILVERO ( correo enviado fue rechazado ) http://www.sce.carleton.ca/faculty/wainer/celldevs/events/past/sesion.htm (JUAN SEGOVIA SILVERO: http://newton.cnc.una.py/Resource-1204/2001v1n3-18.pdf )


JavaKarel :

Gran parte fue escrito como parte de la tesis de Rafael Martinez Gutierrez. Colaboradores: Rafael Martinez , Ramón Reyes, ÉXICO Tapia y Johan Van Horebeek. http://www.cimat.mx/~horebeek/javakarel/
Mayores informes horebeek@cimat.mx o rafag@cimat.mx .
 


Ambiente Visual Da Vinci , lenguaje para el robot ( algo parecido a Karel ): ( Herramienta visual para la enseñanza de programación estructurada”, Champredonde ,De Giusti. 2 CACIC, 1996. ):

http://216.239.51.100/search?q=cache:z01wr8j4SOwC:www.info.unlp..edu.ar/archivosIngreso/EPA/Cap4.pdf+%22Visual+Da+Vinci%22&hl=es&ie=UTF-8

 

http://216.239.51.100/search?q=cache:NmaBH94hYMAC:170.210.92.2:300/CACIC2001/trabajos/pdf/IE-00134.PDF+%22Visual+Da+Vinci%22&hl=es&ie=UTF-8


SIGACLE: Simulador gráfico asistido por computador para la enseñanza de la programacion de lenguajes estructurados:

George Franco Canales ( gfranco@sanmartin.edu.co) y Maria Paula Díaz y Rafael J.Barros

RIBIE, Brasilia 1998 http://www.niee.ufrgs.br/ribie98/TRABALHOS/128M.PDF


AVISPA Lenguaje OO. Gabriel TAMURA (PUJ Cali, Colombia) http://ingenieria.puj.edu.co/sistemas/grupos/avispa/index_html

Tomado de http://ingenieria.puj.edu.co/sistemas/grupos/avispa/spa/lineas.html


PIIPOO ( Luis Fernández Muñoz, Rosalía Peña Ros y J. Ángel Velázquez- Iturbide , en la Universidad Politécnica de Madrid ): http://lsm.dei.uc.pt/ribie/docfiles/txt2003731171722paper-092.pdf


ILA Interpretador de Linguagem Algoritmica, procedimental en portugués http://www.fafiman.br/~rodney/Apostilas/ila.zip en
la página de Rodney en Brasil: http://linux.fafiman.br/~rodney/disciplina.php?%20ncd_categoria=2&ncd_grupo=1&ncd_subgrupo=2
 

Galg:  Genome ALGoritmos (Alejandro Mauricio Valdés Jiménez (alejandro@gnome.cl), Jorge Eduardo Bustos Bustos (jorge@gnome.cl) y Germán Poo Caamaño (gpoo@ubiobio.cl) en Chile):  Son principalmente estas las razones que nos impulsaron a crear esta aplicación, que se basa en la Programación Estructurada y en el uso de herramientas gráficas que facilitan el entendimiento de los algoritmos creados. Pretendemos que con esta aplicación, sin ser ambiciosos, el usuario programador logre motivarse en recuperar o adquirir el hábito de diseñar algoritmos:   http://galgo.gnome.cl/

SimuProc (Vladimir Yepes B. de Colombia): Es un Simulador de un Procesador Hipotético con el cual podrás aprender las nociones básicas para empezar a programar en lenguaje ensamblador, en el cual podemos observar todo el proceso interno de ejecución del programa a través de cada ciclo del procesador. SimuProc con su gran variedad de instrucciones (50+) es un simulador con el cual tienes infinitas posibilidades de pruebas. Ahora con soporte para números de punto flotante usando IEEE 754 y enteros desde -2GB hasta 2GB http://www33.brinkster.com/vlaye/software/simuproc/index2.html


LSD: En http://bioinfo.uib.es/~joemiro/aenui/DemosWeb/resumenes/hulsd18.html :

Una herramienta didáctica para el aprendizaje de la lógica por Josep Humet Universidad de Girona
Resumen:  Se justifica la necesidad de herramientas didácticas para el aprendizaje de la lógica, se analiza algunas de las herramientas existentes específicas para la lógica de predicados de primer orden, y se describe una herramienta desarrollada en el Departamento de Informática y Matemática Aplicada de la Universidad de Girona. DescargaPonencia completa en formato PDF , Material de la demo comprimido en un fichero zip

En inglés se han encontrado las siguientes referencias:


Greenfoot: Próxima ponencia en OOPSLA-2004: Combining Object Visualisation with Interaction Michael Kölling University of Southern Denmark mik@mip.sdu.dk Poul Henriksen University of Southern Denmark polle@mip.sdu.dk The introduction of programming education with object-oriented 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, named greenfoot, for teaching object-oriented programming aimed at students at or below college level, with special emphasis of supporting school age learners. Greenfoot was designed by analysing and combining the most beneficial aspects of several existing tools. It aims at combining the simplicity and visual appeal of microworlds with much of the flexibility and interaction of BlueJ. To achieve its goals of providing a suitable learners’ environment, greenfoot provides a meta-framework that allows easy creation of different, significantly varied microworlds.

Greenfoot (Poul Henriksen, The Maersk Mc-Kinney Moller Institute for Production Technology ):
 
This is the homepage for my Master Thesis ( http://www.mip.sdu.dk/~polle/index.php?contents=home.php
). Im doing this master thesis as the last part of my education as a Computer
System Engineer at The Maersk Mc-Kinney Moller Institute for Production
Technology.
 

There have been numerous suggestions on how to teach object-oriented programming and a lot of development in the area is still continuing. One way of improving the learning of object-oriented concepts is the aid of good tools. The commercially available development environments are typically too large and intimidating and are build for an entirely different purpose than teaching. One attempt to build an environment to aid the teaching of object-oriented programming is BlueJ.
The goal of this thesis is to use the experience gained by the use of BlueJ, and research in the field of computer science education to build a new tool that enhances the students understanding of object orientation. In addition to BlueJ, the Karel framework is a well known tool to aid computing education. One of the strengths of BlueJ is the inspection and interaction with objects, but it lacks the support for good visualisation. Karel supports good visualisation but lacks the interaction with objects. This thesis will attempt to merge functionality from BlueJ and Karel into a tool that has the best from both worlds. The result should be functionality that exceeds the
sum of Karel and BlueJ functionality, and offers support for a larger class of programming problems. The tool can then be used for other frameworks such as
simulations, turtle graphics and algorithm animations.

Tomado de Poul Henriksen en http://www.mip.sdu.dk/~polle/index.php?contents=home.php en http://www.mip.sdu.dk/ en http://www.sdu.dk/
( Universidad del Sur de Dinamarca ?)


BLUE
(
Michael Kölling , John Rosenberg ) http://www.mip.sdu.dk/~mik/blue/

BLUEJ en las universidades australianas de Sydney y Monash cuyo propósito es acercar al estudiante al lenguaje Java, ( The BlueJ development team are Michael Kölling, Andrew Patterson, Bruce Quig and John Rosenberg. ) http://www.bluej.org/

ALICIA que promueve el aprendizaje de las estructuras sintácticas clásicas de un lenguaje orientado a objetos: http://alice.org/  

Karel++ (El robot de Joseph Bergin, Mark Stehlik, Jim Roberts y Richard Pattis): http://csis.pace.edu/~bergin/karel.html  (Ahora orientado a objetos).

JJ lenguaje para aprendizaje/enseñanza de la programación dirigido a Java: http://www.publicstaticvoidmain.com/ http://www.ecs.csun.edu/%7Ejmotil/JJ.html

SB (System Builder) Evgeny Eremin, Perm State Pedagogical University, Russia: Sistema de construcción de objetos gráficos en la pantalla como apoyo didáctico para la enseñanza de los conceptos centrales en OO. http://e-eremin.nm.ru/public/confer/ITiCSE00.html
Descargar  desde: http://downloads-zdnet.com.com/3000-2051-8717689.html

Object Logo (para Mac): http://www.digitool.com/ol-specs.html

CS1 Sandbox que es un entorno para programación en un subconjunto de C escrito en Java.   http://sandbox.cs.vt.edu/~sandbox/   http://www.radford.edu/~sigcse/DC02/participants/depasquale.html

KidSim , Cocoa , Stagecast Creater : progración visual-clicks- juegos-web, http://www.acypher.com/creator/

TURING:  ( )   http://cs.uns.edu.ar/~cic/1999/1999-turing/1999-turing.pdf  

COLORS Y COLT: (Australia) Basado en programas para completar:
http://216.239.51.100/search?q=cache:W2VyOC4bHoIC:ecommerce.lebow.drexel.edu/eli/2002Proceedings/papers/Garne069COLOR.pdf+%22learning+of+programming%22&hl=en&ie=UTF-8

GRIP Project(U. de Edinburgh & Leeds ) http://www.cbl.leeds.ac.uk/~paul/grip.html

Ketman ASM SchoolMaster 2.4 (plataforma DOS 5.0 ) Asembly: http://zdnet.terra.com.sv/sp/downloads/stories/1,,8008339,00.html

PJ: Pictorial Janus   ( http://www.c-lab.de/~wolfgang/PJ/introduction.html )  

at Paderborn is a joint effort of Marita Duecker , Christian Geiger , Ralf Hunstock, Georg Lehrenfeld , Wolfgang Mueller , and Christoph Tahedl ,

was developed by Kahn and Saraswat (Xerox PARC, 1989). PJ is a complete visual programming language based on the concepts of parallel, constraint-oriented textual programming language Janus. http://www.c-lab.de/~wolfgang/PJ/

 

KIDSIM: http://www.ubp.edu.ar/english/organigrama/departamentos/informatica/agentes97/Articulos/Kidsim94/KidSim.html

SIM68K ( Patrick DEMIRDJIAN, Francia) is the first educational code simulator for 68000, specially designed by an engineer school professor for his students: http://pat.dmj.free.fr/us/simulateur.htmhttp://www.site.uottawa.ca/~anayak/CSI2111/sim68k.html . Here is a simulator for a processor called sim68k which is defined in Section 2. The sim68k processor has a subset of the addressing modes of MC68000 and has 32 instructions, most of which are derived from those of MC68000. The simulator will take as input a program written in sim68k assembly/machine language and will execute it, that is to say it will execute each of the sim68k machine instructions in the input program  http://www.esiee.fr/~perrotol/sim68k/node3.html , http://www.ii.uned.es/cdrom/primero/etc1g/m68000/practica/manual.doc .

 


Algunos métodos, estudios, reflexiones y escritos en español :





Una página sobre objetos (por Marcela Varas C., U. de Chile): http://www.inf.udec.cl/~mvaras/estprog/cap4.html

Página de José  León Sánchez  Castrillón (Universidad de Antioquia, Colombia): http://ayura.udea.edu.co/~jlsanche/


El "cuento" en POO: 1998 (JuanDiegoZapata -CONEXIONES-EAFIT: http://www.c5.cl/ieinvestiga/actas/ribie98/146.html

 

Sistema Hipermedia Adaptativo para la Enseñanza de la Programación Orientada a Objetos SHABOO (grupo GUIA de la UIS: http://www.cidlisuis.org/grupos/guia.htm )  
http://lsm.dei.uc.pt/ribie/docfiles/txt2003326195840A016.pdf

 

ANGEL, autor B.G.R: (tesis ITM, Mejico ,tutor inteligente para la enseñanza de lenguaje de programación): http://www.sinergia-web.com.mx/clases/tesis/contenido.htm


Mejoramiento de la enseñanza de la POO: 2003 (Graciela Elena Alvarado alvaradog@yahoo.com y Ana María Ferraro de Velo) http://www.utn.edu.ar/scyt/catalogo2002/proytipif/B7-Educac.pdf  

 

Algunos criterios para la construcción de animaciones de algoritmos con
propósitos pedagógicos  ( Arturo J. Sánchez Ruíz, Alda F. Pereira Ribeiro, U.Central de Venezuela) http://www.unf.edu/~asanchez/papers/ribie-98.pdf

"El currículum oculto de las nuevas tecnologías" en http://www.razonypalabra.org.mx/anteriores/n21/icom/gkaplun.html


Algoritmia y POO: http://www.obconsultores.com/ProMed/index.htm

POO: de editorial Eidos http://caece.defarra.com.ar/Cursos/Object%20Oriented%20Programming.pdf

 

POO: http://www.kajakgroup.com/html/poo.html ( Edgardo Samuel Barraza Verdesoto )

POO: http://www.monografias.com/trabajos/objetos/objetos.shtml

Fernando Campos Camacho(U. de Occidente, Mexico):
Iniciación en algoritmos:
http://guamuchil.udo.mx/~fcampos/algoritmos.htm  
ordenamientos y búsquedas:
http://guamuchil.udo.mx/~fcampos/ordenamientos.htm

Ejercicios sobre POO - clases (Universidad Central de Venezuela) acciones http://strix.ciensucv.ve/~algopu/practicas.htm
 

Apoyo para estructuras de datos  con código en Java (Universidad de Oviedo) http://www.hci.uniovi.es/martinDocencia/DSTool/index.html


Reflexiones sobre iniciar con solo POO: http://www.di.uniovi.es/~dani/publications/jenui03.pdf (Daniel Gayo Avello y varios profesores )

Gacetilla matemática: http://www.arrakis.es/~mcj/index.htm

 

Resolución de problemas: http://www.educainformatica.com.ar/docentes/tuarticulo/educacion/rproblemas/index.html (María Herminia Paissan )

Iniciación en programación (procedimental): http://www.mailxmail.com/curso/informatica/programacion/toc.htm


Notaciones

Alberto Gómez: en http://unex.es/

Ernesto Coto con base en Jhonny Sepúlveda (U.Central De Venezuela): en

 
 

Características de un lenguaje orientado a objetos :

 

Un lenguaje orientado a objetos tiene tres características básicas: debe estar basado en objetos, basado en clases y capaz de tener herencia de clases. Muchos lenguajes cumplen uno o dos de estos puntos; muchos menos cumplen los tres. La barrera más difícil de sortear es usualmente la herencia.

Otra tendencia exige que un lenguaje orientado a objetos soporte: encapsulación , polimorfismo y herencia para poder clasificarlo bajo el paradigma puro.


Apoyo para un curso de diseño de compiladores:

STOP: STack OPerations (Eduardo René Rodríguez Ávila Octubre 2003) (para un curso de compiladores ¿ ) http://homepage.mac.com/eravila/Stop/stop01.html


Descriptores:
Lenguaje orientado objetos puro  POO OOP LPOO OOPL material apoyo didáctico ayuda didáctica aprendizaje enseñanza programación orientada objetos primer curso desde cero introducción CS1 primero algoritmos procedimental procedural imperativa Fundamentos programación Iniciación eventos mouse teclado ventanas controles plataforma .net .NET Microsoft Framework distribuible lenguajes apoyos ayudas recursos recurso materiales herramienta didácticas método métodos herramientas lógica computación profesor profesores docencia instrucción educación formación paradigma informática