
Cursos con Enfoque Productivo
En este documento se describen los cursos dictados por
el Prof. Emilio Hernández, así como la filosofía de enseñanza y la metodología
que tienen los cursos diseñados y dictados por este profesor.
El enfoque
pedagógico de los cursos avanzados de pregrado
que dicta el Prof. Emilio Hernández, es diferente del enfoque
estándar de otros cursos de la carrera de Ingeniería de Computación de la
Universidad Simón Bolívar. Estos cursos
tienen un sentido no
sólo pedagógico, sino productivo: los estudiantes de
estos cursos deben desarrollar herramientas con acabado final, utilizables en un
contexto real. Herramientas desarrolladas en una
edición del curso son mejoradas en ediciones posteriores del curso, con
estudiantes diferentes. Con este enfoque le salimos al paso a las críticas frecuentes que
se realizan desde el sector productivo, relacionadas con el poco sentido
práctico o realista que muestran los egresados de la Universidad Simón Bolívar,
y en general de las universidades venezolanas, aunque
se reconoce la sólida
formación básica que han adquirido
nuestros egresados.
Filosofía de enseñanza
Uno de los principios fundamentales que
debe guiar el diseño de cursos de
pregrado es la adecuación al grado de madurez alcanzado por el estudiante.
Los cursos que se dictan en el primer año de estudios profesionales en la
carrera de Ingeniería de la Computación deben tener una orientación
muy diferente de
los cursos dictados hacia el final de la carrera. Con
respecto a la carrera de Ingeniería de la Computación de la Universidad Simón
Bolívar, es de hacer notar que casi
todos los cursos tienen dos componentes: teoría y laboratorio. La evolución de los
cursos, sin contar el primer año que corresponde a un ciclo
básico que ven los estudiantes de todas las carreras, puede describirse en esta secuencia:
- Cursos básicos (2do y 3er
año): el profesor
tiene el control del contenido del curso. Los ejemplos y ejercicios utilizados
para facilitar la comprensión de los temas de teoría son estándar, pueden
reutilizarse en diferentes ediciones del curso. Debe haber
énfasis en modelos lógicos y matemáticos fundamentales para la programación.
Los proyectos de desarrollo de
software son sencillos y muy orientados al desarrollo de habilidades
específicas de programación. Es recomendable la metodología de desarrollo "in
situ", frente al computador, en el laboratorio y durante el transcurso de la
clase. La especificación de proyectos para realizar fuera del aula es muy
concreta, con pocos grados de libertad, orientados a que el
estudiante domine técnicas específicas y pueda adquirir el dominio de un
conjunto de algoritmos fundamentales.
- Cursos intermedios (3er y 4to año): la
participación estudiantil en el contenido de los cursos se debe ir
incrementando, por ejemplo, haciendo exposiciones y
participando en proyectos de desarrollo de software. Se les puede pedir como
proyecto de software que desarrollen módulos, con especificaciones de entrada
y salida. Adquieren herramientas conceptuales para
controlar el desarrollo de sistemas de software complejos.
- Cursos avanzados (4to y 5to año): el profesor debe dar cabida a la
participación activa de
los estudiantes, sobre la base de que tienen un mayor nivel de madurez y el
hecho de que éstos están cada vez más informados por fuentes alternativas a su
formación en las aulas, por ejemplo a través de Internet. No olvidemos que en
muchos países las carreras tienen una duración de 4 e incluso de 3 años, de
modo que un estudiante nuestro en su quinto año de formación tiene un nivel de
madurez que le permite la participación en proyectos reales. En las clases de
teoría son muy importantes los aportes de los estudiantes, tanto los aportes
espontáneos como los aportes preparados, como son las exposiciones al resto
del curso. En el laboratorio los proyectos de desarrollo de software pueden
ser aplicaciones completas, incluir diversos tópicos, como elementos de consolidación e
interrelación de conocimientos adquiridos previamente en la carrera, de
acabado más completo y profesional.
Cursos
Los cursos diseñados y dictados por
el profesor Emilio Hernández se describen a continuación.
Pregrado: cadena de Redes de Computadoras, integrada por
dos materias.
- Redes de Computadoras II: curso dictado en
estados avanzados de la carrera de Ingeniería de la Computación, en la
Universidad Simón Bolívar. Es electivo y tiene como requisito haber aprobado
el curso obligatorio de Redes de Computadoras. Tiene como objetivo que
los estudiantes conozcan las tecnologías de interconexión más utilizadas para
hacer redes de área extendida, y en el Laboratorio los estudiantes comienzan a
tener contacto con elementos de instalación de redes locales y con el
desarrollo de servicios de red innovadores.
- Redes de Computadoras III: continuación del
curso de Redes de Computadoras II, con el que se completa la Cadena de Redes.
En este curso se hace énfasis en el diseño y administración de redes de
computadoras de área extendida. En el Laboratorio se continúan los proyectos
iniciados en la materia Redes de Computadoras II.
Materias de Postgrado:
- Caracterización de Desempeño (postgrado): en
esta materia se ven aspectos relacionados con el desempeño (performance)
de programas. Al finalizar el curso los estudiantes estarán en capacidad de
entender los principales factores de hardware y software que influyen en el
desempeño de los programas, tanto en arquitecturas secuenciales como en
arquitecturas paralelas.
- Tópicos Especiales en Paralelismo (postgrado):
en esta materia se ven diversos aspectos vinculados con procesamiento
paralelo. Normalmente el curso enfoca tópicos que están siendo abordados por
importantes grupos de investigación en todo el mundo.
Metodología de la Cadena de Redes de Computadoras
Como un ejemplo de la aplicación de
los conceptos expuestos anteriormente se describe la filosofía de enseñanza de la cadena de Redes de Computadoras, que puede
catalogarse como un curso avanzado ya que se imparte en el cuarto año de
carrera. En este curso se introducen diversas actividades novedosas para los estudiantes.
- Equipos más numerosos. Cuando se trata de
establecer grupos de trabajo, por ejemplo en los laboratorios, normalmente se
establecen grupos de dos o tres estudiantes para el desarrollo de proyectos.
En la cadena de Redes de Computadoras se solicitan grupos de cuatro o cinco
estudiantes, de modo que formen un grupo de trabajo más numeroso, en el que
deben tomar decisiones relacionadas con la distribución y planificación
del trabajo a realizar. Con frecuencia los estudiantes abordan su trabajo en
esta materia como una microempresa, asignan un nombre al equipo y desarrollan
su página web, entre otros indicadores de cohesión y trabajo en equipo.
- Proyectos diferentes para cada equipo de
trabajo. Por razones de uniformidad en la evaluación y limitaciones en la
capacidad de corrección, normalmente se solicitan los mismosproyectos de
desarrollo de software a todos los grupos del curso. En la cadena de Redes de
Computadoras los proyectos son diferentes, particularizados para cada grupo de
trabajo. Esto permite a cada grupo, dentro del área general relacionada con
Redes de Computadoras, tener un grado de especialización orientado a
los intereses de cada grupo, lo que incrementa la motivación en el
desarrollo de los proyectos.
- Participación en la definición del proyecto.
En materias previas los estudiantes han estado acostumbrados a recibir un
enunciado de proyecto realizado por el profesor. Un cambio radical que se
introduce en la cadena de Redes de Computadoras es que en lugar de entregarles
un enunciado de proyecto elaborado por el profesor, se solicita a cada
grupo el enunciado y planteamiento de los problemas a resolver. El
enunciado es evaluado y tiene un nota, basada en la claridad y originalidad del
planteamiento, así como el nivel de madurez que tiene, en términos de utilidad
del proyecto planteado y factibilidad de desarrollo en el tiempo establecido.
El proyecto en su forma final se elabora de común acuerdo con el profesor.
- Realización simultánea de varios proyectos.
Mientras en las materias previas los proyectos se solicitan a los estudiantes
es forma secuencial, en esta materia se plantea que los proyectos a realizar
se desarrollan en forma simultánea, lo que obliga a los estudiantes a
establecer criterios más avanzados de organización, planificación y división
de responsabilidades dentro de cada grupo de trabajo.
- Vinculación con necesidades reales.
Las asignaciones hechas a los grupos de estudiantes tienen un nivel de
vinculación con actividades reales, muchas veces entendida en el sentido de
que el producto de su trabajo va a ser utilizado por otros. Por ejemplo, una
asignación consiste en instalar una red local en alguna unidad de la USB, que
será utilizada realmente por los empleados y profesores de dicha unidad. Los
proyectos de desarrollo de software deben tener vinculación con necesidades
reales, por ejemplo de grupos de investigación establecidos, o involucrar el
desarrollo de un software que pudiera ser la base de una microempresa, por
ejemplo a instalarse el el Parque Tecnológico Sartenejas.
- Desarrollo innovador y evolutivo de software.
Los grupos de trabajo tienen normalmente dos tipos de asignación: la
propuesta, diseño y desarrollo de un software innovador, que ellos mismos
deben plantear, y la propuesta de continuar un proyecto concluido por grupos
de ediciones anteriores del curso. En este sentido el desarrollo de ciertas
herramientas se realiza en forma evolutiva, versiones nuevas creadas sobre
versiones anteriores, con proposiciones de cambio o mejoras hechas por los
grupos de trabajo.
Evaluación
La evaluación consiste en la revisión
de los proyectos desarrollados en función de los siguientes elementos:
- Nivel de madurez de la aplicación
desarrollada como software de uso final
- Programa instalador de la
aplicación, facilidad de instalación
- Ayudas en línea
- Manuales de usuario y
programador
- Capacidad de lograr los objetivos
planteados inicialmente, que han sido establecidos de común acuerdo con el
profesor
- Capacidad de trabajo colectivo y
de organización grupal, en función de que los grupos de trabajo son más
numerosos que los que se admiten en la mayoría de los cursos previos de la
carrera.
Resultados de la aplicación de
esta metodología
Los resultados de estos cursos no se
miden en términos tradicionales, por ejemplo con evaluaciones con exámenes que
miden el nivel de conocimientos adquiridos por los estudiantes. Los medimos en
términos concretos, resultados a la vista de proyectos realizados por los
estudiantes. Normalmente los tipos de proyecto que
se solicitan en la cadena de Redes de Computadoras son de cuatro tipos,
y en los siguientes enlaces pueden verse parte de los resultados obtenidos
después de tres años de implementación de estos cursos:
Bibliografia
- Tanenbaum, Andrew S. (2003),
"Computer Networks".
Fourth Edition. Prentice Hall. ISBN 0-13-066102-3
- Hunt, C. "Tcp/Ip Network
Administration", Travelers' Tales Inc, 1998.
- McCabe, James. "Practical Computer
Network Analysis and Design". Morgan Kaufmann, 1998, ISBN 1-55860-498-7.
- Long, Cormac. "IP Network Design",
MCGraw Hill, 2001. ISBN 0-07-212999-9.