Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/10/2011, 05:23
Kyshuo
 
Fecha de Ingreso: enero-2011
Mensajes: 51
Antigüedad: 13 años, 3 meses
Puntos: 21
Publicación de un nuevo curso

Estimados miembros del staff de este foro, lectores, usuarios, y todas aquellas personas que se pasan por aquí:

He enviado más de un mensaje privado a la administración del foro pero no he tenido respuesta alguna. De este modo opto ahora por postear un mensaje aquí para proponer un proyecto que estoy llevando a cabo:

Soy estudiante de Ingeniería en Sistemas de Computación y estoy escribiendo un manual o curso de programación. Dicho curso está pensado para comenzar desde 0, desde la nada; está pensado para entrar al mundo de la programación desde el principio y lograr ser un programador experto.

Toda aquella persona que nunca ha visto nada de programación, que no tiene ni idea de lo que es el escribir código para crear un programa de ordenador, podrá seguir el curso; ni hablar de aquellos que ya tienen conocimientos, podrán aprender cosas nuevas y reafirmar conceptos ya conocidos.

El curso está dividido en tres "partes" principales:

1- Lenguaje de Programación Pascal: Es un ingreso gradual a la programación estructurada utilizando como lenguaje de aprendizaje a Pascal. Se ven aquí los conceptos básicos de programación, la utilización de estructuras de selección, de repetición, el trabajo con condiciones simples y compuestas. Se da un fuerte énfasis a la utilización de procedimientos y funciones trabajando con los distintos tipos de pasaje de parámetros. Se trabaja fuertemente con arreglos como estructura lineal estática y se da una introducción al trabajo con memoria dinámica con punteros, utilizando como estructura para su aplicación a las Listas Encadenadas. Se proponen varios proyectos a llevar a cabo para aplicar todo lo aprendido así como ejercicios para cada tema dado.

2- Lenguaje de Programación Modula 2: Pretendiendo aplicar todo lo aprendido en Pascal, Modula 2 los introducirá a la programación modular para implementar sistemas complejos de porte mediano. Se trabajará con nuevas técnicas de programación como lo es la Recursividad o Recursión, aplicando esta a estructuras dinámicas como Listas Encadenadas Simples y Dobles, Pilas, Colas, Árboles Binarios entre otras. Se introduce el concepto de Tipo Abstracto de Datos para diseñar los módulos del sistema a implementar, por ende se ve un acercamiento al diseño de programas. Se propondrán proyectos complejos para aplicar todo lo visto y entender como se realizan pruebas de testing al sistema, tanto unitarias para cada módulo como pruebas generales para el sistema en sí.

3- Lenguaje de Programación Java: Este es el objetivo del curso, Java. La idea es migrar todo lo ya visto de programación estructurada, tanto en Pascal como en Modula, a Java. Utilizar los conceptos vistos de programación modular para diseñar las clases en Java y así aprender de forma definitiva el Paradigma de Programación Orientada a Objetos utilizando Java como lenguaje de aplicación. Se verán los conceptos de Herencia y Polimorfismo, y se verá como adaptar la abstracción de datos al funcionamiento de Java.
Se comenzará por fin a trabajar con el diseño de interfaces gráficas utilizando Swing, por tanto se aprenderá a trabajar con eventos de distinto tipo. Se introducirá el trabajo con bases de datos en MySQL y su conexión con Java. También se añadirá el diseño con UML.

Podría existir una cuarta parte donde se verá Java aplicado a la Web, o sea, J2EE, pero aún no lo decido. También existe la idea de expandir esto tanto como sea posible a medida que los lectores propongan cosas, por ejemplo, utilizar ActionScript para agregar Flash a las Web.

El curso está basado en una estructura académica diseñada por profesores universitarios, pero es de mi total autoría, o sea, no estoy utilizando bibliografía ni violando ningún derecho de autor, ni utilizando cursos ya diseñados. Todo lo escribí y lo escribiré yo en base a mis conocimientos y a mi forma de ver las cosas.

El software a utilizar para llevar a cabo el curso será siempre de libre distribución por lo cual no habrá nunca que bajar cracks ni versiones piratas de nada. Para que puedan comprobar esto, les dejo los nombres del software que yo promeveré para el desarrollo del curso:

Desarrollo en Pascal: Utilizaremos el ambiente Free Pascal IDE.
Desarrollo en Modula 2: Utilizaremos el ambiente XDS Enviroment.
Desarrollo en Java: Utilizaremos el ambiente NetBeans IDE.
Motor de base de datos: Utilizaremos MySQL.

La primera parte del curso, o sea, Pascal, está totalmente completa. La segunda parte está en proceso y cada día escribo más. La tercera parte comenzará cuando finalice la segunda.

La idea del curso es publicar una lección por semana, a veces dos si no son complejas. Cada lección generalmente abarca un tema y deja ejercicios de aplicación de dicho tema. Algunas son puramente teóricas ya que el concepto a transmitir necesita mucho conocimiento previo, pero siempre habrá aplicaciones prácticas, ejemplos explicados línea por línea de código.

El uso del foro y la participación de los lectores así como la mía serán esenciales, ya que siempre surgirán dudas que deberán ser respondidas. De este modo, cada lección debería ser un tema individual en donde los usuarios puedan postear y preguntar así como yo responder.

Este proyecto está siendo llevado a cabo ya en otro foro donde la administración me dió su aval. Allí la administración creó un grupo de usuarios dedicado al curso y un tema donde los usuarios que quieren seguir el curso se postulan como estudiantes. Esto no significaba que los que no se postulan no pudieran leer las leecciones, sino que los miembros del grupo reciben por correo una notificación cada vez que se postea una nueva lección o hay alguna novedad, es simplemente para eso, para seguir el curso más de cerca.

Existe a su vez un índice donde están listadas todas las lecciones permitiendo acceder a ellas de forma rápida y fácil.

Cada vez que yo posteo una nueva lección envío un mensaje privado a la administración y ellos envían el mensaje global al grupo de usuarios y actualizan el índice de lecciones.

Esa es la forma en que lo hemos hecho allí, no quiero decir que aquí debamos copiar eso, simplemente lo ejemplifico para que tengan una idea de lo que quiero hacer.

Si la administración de ForosDelWeb lo prefiere, puedo enviarles el enlace al foro en que este proyecto está siendo aplicado a modo de que vean el formato de las lecciones y cómo se desarrolla en la práctica la idea del curso. No lo hago aquí para no violar las normas y no publicitar un sitio externo.

¿Qué busco a cambio? Que la gente aprenda, lea y la pase bien. Que puedan decir "Se programar". Solo eso, y tal vez, algún "Gracias", pero nada más. No quiero reconocimiento ni dinero ni nada de eso, solo quiero compartir lo que he aprendido y ver que sirve de algo.

Siendo estudiante muchas veces he logrado comprender un tema gracias a que alguien puso en internet cómo se hacía tal o cual cosa. Gracias a gente como esa he aprendido mucho. Ellos siempre lo hacen gratis, así que pues, he tomado el ejemplo.

Espero que la administración tome en cuenta este proyecto.

Desde ya, muchas gracias a todo aquel y toda aquella que lea esto y opine al respecto.

Saludos.