Simposio Argentino de Tecnología y Sociedad, STS 2014 Diplomatura abierta en Software Libre Propuesta de cursos de formación profesional en Tecnologías de la Información y Comunicación libres y de fuente abierta Lic. Mariano Reingart <[email protected]> Ing. Sebastián Dominguez <[email protected]> Abstract El presente documento es una iniciativa abierta y colaborativa para organizar cursos de capacitación semi-presencial, con programas de contenidos centrales de las TICs adaptados según los estándares para el nivel terciario / universitario de carreras en informática en Argentina. Se presentan herramientas junto con materiales libres orientados al auto- aprendizaje, dirigido a aquellos que quieran adquirir, fortalecer y/o ampliar conocimientos en el área de software y tecnología. Se utiliza el software libre como eje para sintetizar y encauzar los conceptos teórico-prácticos, por sus características únicas e ideales para la educación, fomentando la adecuada formación pro-activa y significativa con el desarrollo “soft skills” (habilidades sociales interpersonales cooperativas, gestión de proyectos, creatividad, innovación, calidad y mejora continua), balanceando tanto los aspectos académicos como la inserción laboral, intentando disminuir la brecha digital y contribuir al desarrollo social con proyectos integradores útiles que resuelvan problemáticas concreta de las diversas comunidades locales. Se analizan antecedentes y experiencias actuales, propuesta curricular, desafíos y oportunidades, presupuesto de inversión inicial y posibles vías de financiación e instrumentos de implementación. Palabras Clave: Educación, Comunidad, Programación, Bases de Datos, Sistemas Operativos, Redes. Herramientas: Python (web2py / wxPyhon), PostreSQL, GNU/Linux (Debian o derivados) Introducción Se entiende por Software Libre a aquél cuya licencia garantiza de manera permanente e irrevocable, no exclusiva ni confidencial, sin cargo adicional y libre de regalías las siguientes facultades: 1. Libertad de utilización del programa con cualquier propósito; 2. Libertad de estudio, corrección y mejora del programa; 3. Libertad de redistribución de copias; 4 Libertad de publicación del programa mejorado. Este paradigma abre nuevas posibilidades en las áreas de Educación, Formación Profesional y Desarrollo Social, permitiendo una apropiación de conocimientos más profunda y concreta, la adaptación de herramientas a medidas de las necesidades particulares de docentes y alumnos, cooperación libre entre la comunidad, industria y academia, con modelos de negocios alternativos y solidarios a los esquemas tradicionales, junto a una mayor flexibilidad económica y un nivel técnico en constante evolución. 43 JAIIO - STS 2014 - ISSN: 2362-5139 - Página 271 Simposio Argentino de Tecnología y Sociedad, STS 2014 En base al trabajo realizado en el Instituto Superior Tecnológico Blaise Pascal1, con materias2 y el proyecto curricular institucional de la carrera Analista de Sistema orientada al Software Libre (educación terciaria), se plantea la posibilidad de armar un diseño curricular de una serie de cursos de formación profesional en Software Libre, ya sea para ampliar la oferta educativa o para readecuar y fortalecer la oferta existente en universidades e institutos terciarios con materias similares. Inicialmente se pretende dar a conocer esta oferta académica a los responsables de la UDE, Universidad del Este3 de la ciudad de La Plata, dejando abierta la posibilidad de aplicar el mismo plan a otras entidades educativas. Si bien ya existen diversas propuestas educativas en el país sobre tecnología, esta iniciativa se diferencia en varios aspectos: 1. Busca una colaboración más diversa e inclusiva con nuevos actores: instituciones educativas, comunidad, ong, cooperativas, empresas de software libre y micro-emprendimientos, usualmente en áreas marginadas por las grandes compañías propietarias al no ser comercialmente redituables. 2. Plantea un eje transversal que favorezca la independencia tecnológica; para no formar usuarios cautivos que dependan de herramientas cerradas y usualmente costosas o limitadas a un uso académico / no comercial, que a su vez exigen una constante actualización en el equipamiento (situación que no ocurre obligatoriamente con el software libre, donde se pueden usar herramientas más livianas sin mayores costos ni restricciones, y sin necesidad de disponer del último modelo de PC / notebook) 3. Fomenta la creación de programas y contenidos públicos, libres, abiertos y gratuitos (solo posible con el software libre), reutilizables y actualizables en el tiempo, para ayudar a mejorar la competencia tecnológica de los emprendimientos locales. Adicionalmente, los contenidos en línea y gratuitos facilitarán el acceso a estudiantes que de otro modo no podrían capacitarse por situaciones de lejanía o superposición con horarios laborales. 4. Contribuye al desarrollo social, culminando en con un trabajo final integrador que resulte en un proyecto útil para la sociedad y que brinde experiencia académica / laboral real y acreditable a los estudiantes, posibilitando la creación de redes de cooperación, aumentando el capital humano y aportando beneficios a la economía interna. Antecedentes Maestrías Universitarias sobre Software Libre en España (Espacio Europeo de Educación Superior) y Diplomados y Maestrías en América Latina: • España: Universidad Abierta de Cataluña, Universidad Rey Juan Carlos, Universidad de Vigo, Universidad de Castilla - La Mancha4 • México: Universidad Nacional Autónoma de México; UIA León • Venezuela: Universidad Simón Bolivar, CUNIBE (colegio universitario) • Perú: Universidad Católica del Perú y SENATI • Bolivia: Universidad NUR(doc. presentación); Master FLOSS UMSA 1 http :// www . institutopascal . edu . ar / 2 http :// reingar t . blogspo t . com . ar /2013/06/ software - libre - aplicado - en - materias - de .html 3 http :// www . ude . edu . ar / 4 http :// www . uclm . es / organos / c _ gobierno / arcg /2005/ pdf /120505/ especializacion _ software _ libre _ aplicaciones .pdf (prop. de esp.) 43 JAIIO - STS 2014 - ISSN: 2362-5139 - Página 272 Simposio Argentino de Tecnología y Sociedad, STS 2014 • Cuba: Diplomado en Tecnologías de Bases de Datos PostgreSQL5 (UCI) Ejemplos de carreras, materias y cursos de capacitación en Argentina (con algunos contenidos de software libre): • Tecnicatura Universitaria en Administración de Sistemas y Software Libre Universidad Nacional del Comahue (doc. trabajo) • Alg orítmos y Programación I cátedra “Python”. Facultad de Ingeniería. UBA • Seminario de Software Libre (optativa) 2009 – FaMAF UNC • Participación y Gestión en Proyectos de Software Libre UNQ • Programando con robots Proyecto LINTI, UNLP • Experto universitario en Programación Diplomado UTN (PHP y MySQL) • Emplear TEC Cursos de Formación Profesional gratuita (Min. Trabajo) • Cursos de Formación Profesional (Administración GNU/Linux, Programación) en convenio con el Ministerio de Trabajo. De EE.UU. podemos citar el curso “ Web Development with Python Program”6 que se dicta dentro del “The Institute for Professional Development” en la Universidad de Paul (Chicago), justamente con el lenguaje de programación y herramienta de desarrollo web (web2py) que se utilizarán para esta propuesta. En Argentina existió en el 2004 una Diplomatura en Software Libre en la Universidad Abierta Interamericana7. Según se puede consultar en archivos de Internet8, sus contenidos tenían otra organización con mucho menor carga horaria (136 hs contra 640hs de esta propuesta), otros objetivos muy específicos (por ej. formar administradores para la certificación Linux internacional) y un enfoque menos focalizado (estudiando varias herramientas libres y lenguajes pero no los fundamentos de programación, de las bases de datos, redes informáticas o desarrollo web). Otras iniciativas en latinoamérica han tenido un resultado variado. Para la presente iniciativa se entiende que es necesario otro acercamiento: más abarcativo que no requiera conocimientos previos de informática; complementando los contenidos teóricos con herramientas prácticas unificadas y transversales a todos los módulos, para un mejor aprovechamiento de los recursos / posibilidades didácticas; y un enfoque estándar y actualizado, adaptado tanto a las características argentinas como a las tendencias internacionales en la materia. Justificación La fundamentación en diferentes aspectos sobre la utilización de Software Libre en este tipo de propuestas educativas se encuentra desarrollada en el mencionado documento de trabajo “ Proyecto Curricular Institucional orientado al software libre ”9. Si bien es necesario actualizar dicho documento con los avances del trabajo desde 2010, a nivel pedagógico se han verificado los beneficios esperados y no se han encontrado dificultades significativas. 5 https :// postgresql . uc i . cu /? page _ id =68 6 http :// www . cdm . depau l . edu / ipd / Programs / Pages / WebDevelopmentwithPython .aspx 7 http :// www . ua i . edu . ar / comunicacion / boletines / ua i - boletin - nro 50 .pdf 8 http :// web . archive . org / web /20040615004351 / http :// www . vaneduc . edu . ar / ua i / extension / cursos / dip _ s l .asp 9 https :// docs . google . com / documen t / d /1 BrtvKeQNXUOqnox 8 tOZ _0 eoLNbL 2 VQM 7 Lz 96 v _0 pO 8 M / preview 43 JAIIO - STS 2014 - ISSN: 2362-5139 - Página 273 Simposio Argentino de Tecnología y Sociedad, STS 2014 En este sentido, también se puede encontrar otros proyectos sobre educación y software libre a nivel local, como “ Proyecto Programando con Robots ” del LINTI, UNLP10: El aprendizaje a través de experiencias “del mundo real”, mediadas por tecnología, puede aportar al desarrollo de individuos autónomos, críticos, creativos, capaces de resolver problemas, buscar alternativas, probar distintos caminos, etc. Este aprender en lo “real” les permite ver cómo se dan determinados procesos con los condicionantes propios de cada contexto, ensayando a través de prueba y error. Introducir a docentes y jóvenes al mundo de la programación no sólo apunta a un aprendizaje técnico, sino que mediante la misma, se desarrollan una serie de habilidades, como el pensamiento analítico o de solución de problemas, que son muy requeridos en los trabajos que tienen que ver con tecnología y ciencia, pero que también se pueden aplicar a otras áreas. Otras iniciativas similares internacionales incluyen al Raspberry Pi11: computadoras integradas en una única placa económicas (< 50 dólares), cuyo objetivo es estimular la enseñanza de ciencias de la computación en las escuelas, promoviendo principalmente la experimentación con dispositivos electrónicos y el aprendizaje del lenguaje de programación Python. Proyecto surgido de la Universidad e Cambridge12 (para revertir el declive en los alumnos de ciencias de la computación13), localmente ya fue incorporado por el ITBA14 en la carrera de Ingeniería en Electrónica. Para más información ver: • “ Un miniordenador para revolucionar las escuelas ”15 El País, 7-12-2012 • “ Una herramienta para volver a experimentar ”16 El Cronista, 23-04-2013 Este trabajo comparte los objetivos de acercar a los futuros estudiantes, que de otra forma se podrían sentir intimidados por complejos contenidos técnicos o abrumados por una excesiva carga horaria para dominar las herramientas básicas, como se menciona en Algoritmos y Programación 1, Wachenchauzer , FIUBA17: Durante mucho tiempo nos preguntamos cómo diseñar un curso de Algoritmos y Programación I (primera materia de programación de las carreras de Ingeniería en Informática y Licenciatura en Análisis de Sistemas de la Facultad de Ingeniería de la UBA) que al mismo tiempo fuera atractivo para los futuros profesionales de la informática, les permitiera aprender a resolver problemas, y atacara muy directamente el problema de la deserción temprana de estudiantes.” En una propuesta similar, se puede citar el artículo18 “Análisis de lenguajes propicios para enseñar programación procedural en la Universidad Nacional del Noroeste de la provincia de Buenos Aires” (Abril 2013), de la Escuela de Tecnología, Instituto de Investigación y Transferencia Tecnológica, en el cual se promueve el uso del lenguaje Python para motivar a los alumnos en las materias "Introducción a la Programación Imperativa" y "Programación Imperativa". 10 http :// robots . linti . unlp . edu . ar / uploads / docs / manua l _ de _ programacion _ con _ robots _ para _ la _ escuela .pdf 11 http :// www . raspberryp i . org / 12 http :// www . c l . cam . ac . uk / projects / raspberrypi / 13 http :// www . raspberrypi . org / about 14 http :// www . itba . edu . ar / es / geda / rpi 15 http :// tecnologia . elpais . com / tecnologia /2012/12/07/ actualidad /1354901348_817529 .html 16 http :// www . cronista . com / itbusiness / Una - herramienta - para - volver - a - experimentar -20130423-0007 .html 17 https :// sites . google . com / site / fiuba 7540 rw / home / apunte _7540 . pdf ? attredirects =0 18 http :// journa l . info . unlp . edu . ar / journa l / journa l 35 / papers / JCST - Apr 13-6 .pdf 43 JAIIO - STS 2014 - ISSN: 2362-5139 - Página 274 Simposio Argentino de Tecnología y Sociedad, STS 2014 Otras universidades también presentan a los alumnos materias sobre introducción a la programación con Python, por ej. Seminario de Lenguajes ( Opción “ Python ”)19 de la UNLP (2012), Curso Python Intensivo20 de la UTN FRA LSL (2014) y como se explica en un vídeo del portal Educ.ar sobre una experiencia similar en la Universidad Nacional de Avellaneda21. En un sentido más amplio, “se declaró de interés institucional y educativo el uso, promoción, investigación para el desarrollo y enseñanza del software libre en la Facultad Regional Buenos Aires de la UTN y su integración en todas las áreas donde sea competencia la enseñanza y uso de las tecnologías de la información”, como se explica en GNUtn, grupo de usuarios de software y conocimiento libre de la UTN22. Un análisis profundo sobre el tema puede encontrarse en el “Manifiesto del Software Libre en la Educación Superior”23 escrito por el Director de CeRTIG+SoL (Centro de Referencia de Tecnologías de la Información para la Gestión con Software Libre) de la Universidad Nacional de Misiones, Facultad de Cs. Económicas. Claro ejemplo del impacto del software libre en la educación es Huayra Linux24, el primer sistema operativo libre desarrollado por el estado nacional. Enmarcado en el Programa Conectar Igualdad (cuyo objetivo es entregar una netbook a todos los estudiantes y docentes de las escuelas públicas, capacitarlos y elaborar propuestas educativas), el proyecto es desarrollado por CENITAL (Centro Nacional de Investigación y Desarrollo de Tecnologías Libres), que nace con la idea de generar y motorizar las experiencias de I+D en el campo de las Tecnologías Libres en el país: “… es imprescindible trabajar para lograr una sociedad alfabetizada en las nuevas Tecnologías de la Información y la Comunicación (TIC), con la posibilidad de un acceso democrático a recursos tecnológicos e información ... Ninguno de estos objetivos podría cumplirse si no tuviésemos un sistema operativo propio como Programa. Huayra viene a cumplir esa función: es un sistema operativo libre desarrollado en el seno de Conectar partiendo de las necesidades de los estudiantes, docentes y de toda la comunidad educativa en general.” Si bien esta propuesta no es una carrera de grado, para mantener concordancia con materiales y su vinculación académica / profesional, se ha prestado atención a los estándares establecidos por el Ministerio de Educación25 en la Resolución 786/09 para las carreras de informática en el país. A su vez, el “Software Libre” figura como contenido curricular básico del área "Aspectos Profesionales y Sociales"). Los contenidos fueron organizados partiendo de los planes de estudio de la Dirección General de Cultura y Educación de la Provincia de Buenos Aires26, principalmente desde Tecnicatura Superior en Análisis de Sistemas (Res. 5817/03) y Desarrollo de Aplicaciones (Res. 6175/03), Redes Informáticas (Res. 6164/03). Para corroborar los contenidos se ha relevado otros planes de estudios de universidades públicas y privadas (UBA, UNLAM, UM, UTN, UNQ, etc.), incluyendo diplomaturas y cursos de extensión. A su vez, se exploran los aspectos de los documentos 19 http :// www . info . unlp . edu . ar / uploads / docs / propuesta _2012_ seminario _ de _ lenguajes _ opcion _ python .doc 20 http :// www . fra . utn . edu . ar / upload / ea 601 c 5 db 3 cf 0 e 842305 c 797543768 e 7 .doc y www . lslfra . com .ar 21 http :// www . youtube . com / watch ? v = cu 7 a 9 uPtxRw 22 http :// gnutn . org . ar / wp /2013/05/09/ software - libre - declarado - de - interes - institucional - en - frba / 23 http :// certig . fce . unam . edu . ar / index . php /20- manifiesto - de l - software - libre - en - la - educacion - superior 24 http :// huayra . conectarigualdad . gob . ar / institucional 25 http :// portales . educacion . gov . ar / spu / gestion - universitaria / normativa _ dngu / 26 http :// servicios 2 . abc . gov . ar / lainstitucion / sistemaeducativo / educsuperiorycapeducativa / defaul t .cfm 43 JAIIO - STS 2014 - ISSN: 2362-5139 - Página 275 Simposio Argentino de Tecnología y Sociedad, STS 2014 nacionales e internacionales sobre el Nucleo Curricular Básico27 (REDUnci) y Curricula de las ciencias de la computación28 (ACM / IEEE) Otras universidades ofrecen diplomaturas en programación con características similares al presente, como la Universidad Nacional de Quilmes, UTN y UCEL, las cuales varían entre 4-7 meses y 2 años de duración, con modalidades completamente virtuales, a distancia y presenciales. Ciertas características del presente podrían ser similares a otras diplomaturas, como las que desarrolla la Universidad del Este29, o la “ Diplomatura de Operador Socioeducativo en Economía Social ” , una iniciativa del Ministerio de Desarrollo Social y Ministerio de Educación dictadas por varias universidades. Respecto a las posibilidades de articulación del software libre a nivel social, es posible citar los siguientes artículos (entre otros): • El software libre es una estrategia de desarrollo social y económico (Gob. Vasco) • Economía Solidaria y Software Libre (Programa UNICEN) • # SoftwareLibre para el desarrollo y la inclusión social (Centro. Est. UNCPBA) Propuesta Curricular Presentación A nivel mundial, el software libre experimenta un creciente ritmo de adopción en las áreas de las Tecnologías de la Información y Comunicación (TIC). Desarrollado desde la comunidad y por empresas como IBM, Oracle (Sun), RedHat y Canonical (Ubuntu) -entre otros-, es una de las principales herramientas que hacen posible el funcionamiento de sitios web actuales como Google, Facebook, YouTube y Twitter. Más del 60% de todos los servidores web en internet operan con software libre y de código abierto como Apache. Actualmente Android, el sistema operativo basado en Linux para dispositivos móviles y celulares, lidera el mercado con una cuota del 64% y más de mil millones de equipos activados. A nivel regional, el software libre se afianza en Brasil, Venezuela y Uruguay con diversas políticas de estado, confirmandose la tendencia en el país con iniciativas como el Proyecto Huayra (el Sistema Operativo Libre del Programa Conectar Igualdad que distribuye netbooks a alumnos de las escuelas públicas) y legislaciones de promoción / migración al software libre municipales (Rosario, Bariloche), provinciales (Santa Fe y Río Negro) y nacionales. Esta tendencia demanda una mayor preparación y capacitación de profesionales en temáticas relacionadas al software libre, y se ha diseñado este diplomado como una respuesta inicial para proporcionar un conocimiento amplio de su filosofía, tecnología y conceptos fundamentales, dirigido hacia los diversos sectores, ya sean educativos, gubernamentales o empresariales, con conceptos aplicables a los distintos lenguajes de programación, bases de datos, plataformas y metodologías de desarrollo. Objetivos Los diferentes cursos de extensión tienen como propósito la profundización de contenidos centrales en la formación integral respecto a las TICs, principalmente 27 http :// redunc i . info . unlp . edu . ar / docs / Documento - resumen - Mar - de l - Plata .pdf 28 http :// redunc i . info . unlp . edu . ar / docs / cs 2013- ironman - v 1.0 .pdf 29 http :// www . ude . edu . ar / index . php ? option = com _ conten t & view = article & id =125& Itemid =150 43 JAIIO - STS 2014 - ISSN: 2362-5139 - Página 276 Simposio Argentino de Tecnología y Sociedad, STS 2014 orientado a usuarios avanzados, desarrolladores, líderes de proyectos, docentes e investigadores, especialmente para aquellos interesados en adquirir conocimientos sólidos en software libre y de fuente abierta. Los módulos constituyen espacios curriculares autónomos en su desarrollo, acotados en el tiempo y relacionados en una secuencia articulada con la totalidad de la formación abordada. Organización de la oferta educativa Carga Horaria Total: 640 hs reloj (sin incluir el desarrollo del trabajo final) Modalidad de cursada: A Distancia, con encuentros presenciales de evaluación y clases de apoyo recomendadas (mínimo 1 clase por mes en laboratorio o similar) Duración: 1 año calendario (8 meses - 2 cuatrimestres) organizados en ocho cursos. Evaluación Final: producción de un trabajo final de integración de todos los contenidos cursados. Requisitos de ingreso: secundario completo. Requisitos de egreso: aprobación de la totalidad de los cursos y del trabajo final de integración. Organización Curricular Seminario de Software Libre: basado en la cátedra abierta introductoria. Definición conceptual. Aspectos legales y Licenciamiento. Motivaciones de los Desarrolladores. Economía y Gestión. Planes de Migración. Categorización y análisis de diferentes herramientas de SL. Distribuciones GNU/Linux. Navegador web (Firefox o similar). Gestor de Información personal Thunderbird / Evolution. Suite Ofimática Libre: Recopilación de aplicaciones para la oficina y productividad personal (planilla de cálculo / procesador de texto / etc). Herramientas de desarrollo libres. Aplicaciones web y programas específicos. Algoritmos y Programación I (Python): Conceptos Básicos. Programas Sencillos. Funciones. Decisiones. Ciclos. Cadenas de caracteres. Tuplas y Listas. Algoritmos de Búsqueda. Diccionarios. Contratos y Mutabilidad. Manejo de Archivos. Manejo de Errores y excepciones. Procesamiento de Archivos. Objetos. Polimorfismo, Herencia y delegación. Listas enlazadas. Pilas y colas. Modelo de ejecución de funciones y recursividad. Ordenamiento. Programación II (C, C++, Python): Introducción a la Programación en C. Programación estructurada. Programación Avanzada en C. Desarrollo eficiente de aplicaciones. Programación orientada a objetos en C++. Programación en Python. Persistencia. Librería estándar. Eventos y Aspectos. Extensiones (conectores con bases de datos, manejo de imágenes, documentos PDF, generación de ejecutables y paquetes, etc.). Interfaces gráficas visuales (wxPython). Aplicaciones Móviles (Android). Juegos. Documentación. Pruebas unitarias. Bases de datos (PostgreSQL): Modelo Entidad Relación; Modelo Relacional; Lenguajes de de consulta (SQL y Algebra Relacional). Teoría de las Dependencias Funcionales. Normalización. Integridad y Seguridad. Administración y Optimización. SQL Avanzado: disparadores, consultas recursivas, funciones de ventana, etc. Lenguaje de programación de procedimientos almacenados PL/PgSQL y PL/PythonU. Escalabilidad. Replicación. Sistemas Operativos (GNU/Linux): Introducción a los sistemas operativos. El sistema operativo: una máquina virtual. Conceptos básicos. Usuarios y grupos. 43 JAIIO - STS 2014 - ISSN: 2362-5139 - Página 277 Simposio Argentino de Tecnología y Sociedad, STS 2014 Intérprete de órdenes (shell) GNU/Linux. Lenguaje de control. Comandos combinados. Shell Scripts. Sistemas de Archivos. Procesos, sincronización e intercomunicación. Manejo de Memoria. Primitivas. Administración de usuarios, recursos y servicios básicos. Herramientas: Debian (Huayra / Ubuntu), bash y Python. Redes de computadoras (GNU/Linux): Modelo de Referencia de Interconexión de Sistemas Abiertos (OSI). Ethernet y WiFi (estándares IEEE). Pila de Protocolos TCP/IP. Sockets. Aplicaciones de internet (sistema de nombres de dominio, terminales remotas, transferencias de archivos, correo electrónico, web, etc.). Direccionamiento y Enrutamiento. Configuración y administración básica de servidores. Herramientas: Debian y Python (entre otras). Ingeniería del Software Libre: Introducción a la Ingeniería de Software. Gestión de proyectos (PM). Metodologías Ágiles (Scrum). Procesos de Software Personal (PSP). Diseño Estructurado y Orientado a Objetos (DFD, UML). Métricas. Control de Calidad y Pruebas. Mejora continua. Sistemas de Control de Versiones Distribuidos (DVCS). Aspectos Legales y Económicos del Software Libre. Gestión del Software. Documentación. Portales y Comunidades Virtuales (SourceForge, GoogleCode, GitHub).. Herramientas: Python, Mercurial (entre otras). Desarrollo de Aplicaciones Web (PHP + MySQL, Python -web2py- + PostgreSQL): Introducción a las aplicaciones web. Diseño de páginas web (HTML5 + CSS). Contenido dinámico. CGI. Desarrollo web con PHP y MySQL (Ejemplos Prácticos). Introducción a la programación web avanzada. Tecnologías y lenguajes de cliente y servidor. AJAX. Frameworks modernos: web2py (MVC). Aplicaciones de Internet Enriquecidas. Servicios Web XML / JSON. Distribución de la Carga horaria estimada por cuatrimestre: 1° Alg. y Programación I Bases de Redes de Seminario de (128hs: 64hs teoría + 64hs Datos Comp. Sw. Libre práctica) (64hs) (64hs) (64hs) 2° Programación II Sistemas Desarrollo Ing. del Sw. (128hs: 64hs teoría + 64hs Operativos Web Libre práctica) (64hs) (64hs) (64hs) Diseño Curricular El modelo curricular estará enfocado en el educando30, basado en estudios, trabajos, investigaciones y proyectos individuales e independientes (método de proyectos). El objetivo es que el alumno aprende haciendo, construyendo, resolviendo problemas. Si bien hay una división de los contenidos en distintos cursos, no son materias ni disciplinas aisladas, para evitar temas demasiado abstractos desconectados de la realidad del alumnado (a la usanza de “escuela tradicional” solo con conocimientos acumulativos lógicamente estructurados). Esto no implica que se busquen materias o disciplinas fusionadas (que podría ser aquellas que incluirían varias materias tradicionales, por ej. “Administración de Servidores GNU/Linux” de otros planes de estudio) y tampoco se organiza por temas 30 TRALDI, Lady Lina (1984) Currículo. San Pablo, Brasil: Ed. Atlas. 43 JAIIO - STS 2014 - ISSN: 2362-5139 - Página 278 Simposio Argentino de Tecnología y Sociedad, STS 2014 o tópicos (con un foco meramente técnico, por ej. “Técnicas avanzadas de programación en Android” o “Desarrollo de aplicaciones empresariales para internet usando Jboss Seam 2.2.2” en otras diplomaturas), ya que dichos enfoques se alejaría de los estándares sugeridos en nuestro país por el Ministerio de Educación y la Red de Universidades Nacionales con Carreras en Informática. En conclusión, para lograr una unidad conceptual y no producir un aislamiento a los alumnos (analizado en secciones anteriores), se ha buscado un diseño curricular más orientado a un núcleo básico o “core” integrado, con una formación común y campos del conocimiento de las TICs lógicamente estructurados correlacionados, con transversalidad en torno al software libre, sus problemáticas y posibilidades. Correlatividades Al no existir gradualidad (la mayoría de los contenidos pueden cursarse en paralelo en un año, sin una marcada secuencialidad temporal como otro tipos de estudios), se recomienda orientación y seguimiento personalizado a los alumnos mediante tutorías continuas (en especial al momento de matriculación), para contemplar las diferencias individuales en términos de capacidades, habilidades, progresos, ritmos, velocidades y madurez; sobre todo entendiendo que esta propuesta busca ser más accesible e incluir a estudiantes egresados del nivel secundario y/o de otras áreas diversas ajenas a la informática, sin un necesario trasfondo como el requerido en otras especializaciones y carreras de grado o posgrado. Igualmente, para simplificar el acompañamiento y disminuir los tiempos/recursos necesarios, se han organizado los módulos (unidades y bibliografía) con un esquema de correlatividades sugeridas (ver cuadro Distribución de la Carga horaria) En caso de que el alumno no respete esas correlatividades sugeridas, deberá profundizar los contenidos necesarios para cada curso de manera individual sin acompañamiento docente. Evaluación: Si bien la evaluación se dará de manera continua durante todos los cursos, se planificarán varias instancias de evaluación mediante Trabajos Prácticos, y un Examen al finalizar cada curso. Los alumnos que cumplan con las consignas hechas por el docente durante la etapa de seguimiento y evaluación continua (investigaciones, debates en el foro, etc.), accederán a dichas instancias de evaluación. Las evaluaciones serán escritas, para dejar constancia del progreso de los estudiantes, con contenidos teóricos y prácticos, en las que se deba aplicar las metodologías estudiadas durante cada curso y poner de manifiesto la internalización de los conceptos de los distintos temas, adjuntando documentación sobre los trabajos prácticos pertinentes. Dichos trabajos prácticos podrán ser desarrollados en grupos, pero el examen será presencial, individual y personal, con una primera parte escrita y una segunda parte oral, donde se evaluará el trabajo particular del alumno, incluyendo no solo el resultado, sino también el desarrollo y metodología empleada. En el examen oral, el alumno deberá defender un Trabajo Práctico Final que integrará todos los temas vistos en cada unidad / módulo / trabajo práctico. 43 JAIIO - STS 2014 - ISSN: 2362-5139 - Página 279 Simposio Argentino de Tecnología y Sociedad, STS 2014 Práctica Profesionalizante En base al documento “Programa de Educación Técnica: Las prácticas profesionalizantes” del Ministerio de Educación / INET 31, entendiendo que si bien esta propuesta no es una carrera de grado o pregrado, es útil seguir los lineamientos allí expuestos para una correcta inserción laboral y vinculación educativa con el sistema socio-economico regional, por lo cual los alumnos deberán cumplir no menos de 200 hs reloj desarrollando un Proyecto Integrador Final de manera abierta y participativa, interactuando con la comunidad (retroalimentándose con comentarios y experiencias útiles en la futura vida profesional del estudiante). El eje de la prácticas profesionalizantes son los cursos de “Seminario de Introducción al Software Libre” e “Ingeniería del Software Libre” que aportarán los contenidos y más de la mitad de las horas necesarias para llevar a cabo el proyecto integrador final. El resto de los cursos aportará una cantidad similar de horas aplicadas a dicho proyecto, a partir de los Trabajos Prácticos de cada asignatura, principalmente en “Desarrollo de Aplicaciones Web”, donde se orientará al alumno a producir un aporte original, real y útil, en colaboración de ONG, empresas, cooperativas u organismos gubernamentales. En todos los casos, el alumno deberá acreditar las horas en prácticas externas para desarrollar el trabajo, convalidadas por un director o tutor de la respectiva entidad. La Práctica Profesionalizante será evaluada mediante la defensa, por parte del alumno, de una tesina ante un tribunal formado especialmente a tal fín, por docentes de los distintos cursos de la diplomatura. Herramientas abiertas, libres y gratuitas Principalmente se utilizará GNU/Linux como sistema operativo, Python como lenguaje de programación y PostgreSQL como base de datos. También se utilizarán (a modo comparativo/introductorio) los lenguajes de programación C, C++, PHP, bases de datos MySQL y posiblemente otras herramientas libres cuando los contenidos lo requieran. Sistema Operativo GNU/Linux El estudio de sistemas operativos Unix en ámbitos académicos es práctica frecuente de larga data, debido a que fueron pioneros en la mayor parte de los adelantos técnicos (manejo de archivos, procesos, memoria, comunicaciones, etc.), como también por su diseño simple y claro. En su momento, debido a restricciones de licenciamiento que surgieron con el software propietario y otras complejidades, en 1987 el profesor Andrew Tanenbaum desarrolló el sistema operativo MINIX de código abierto con un enfoque educacional para la enseñanza de diseño de sistemas operativos. En 1991 el estudiante universitario Linus Torvalds comenzó a trabajar en un reemplazo superador de MINIX que se convirtió en el núcleo LINUX, que complementó las herramientas del proyecto GNU iniciado en 1983 por Richard Stallman para crear un sistema operativo completamente libre, finalizando en lo que hoy se conoce como GNU/LINUX. Este ambiente permite estudiar en profundidad los conceptos de sistemas operativos, lenguaje de control, herramientas y utilitarios, pudiendo incluso analizar 31 http :// www . entrerios . gov . ar / CGE /2010/ tecnica / files /2011/03/ Doc - de - Pr % C 3% A 1 cticas - Profesionalizantes -3-2-2010 .pdf 43 JAIIO - STS 2014 - ISSN: 2362-5139 - Página 280
Description: