Universitat De Les Illes Balears
Total Page:16
File Type:pdf, Size:1020Kb
Un iv e r s i t a t de le s UIB Il l e s Ba l e a r s Máster en Tecnologías de la información y de las comunicaciones Descriptor de curso/asignatura Curso académico 2009-10 Ficha técnica Curso/Asignatura Nombre: Sistemas de software libre Código: 10510 Tipo: optativa Semestre: primero Horario: Idioma: castellano (también catalán e inglés) Profesorado Profesor/a responsable Nombre: Ricardo Galli Granada Contacto: [email protected] Otro profesorado Nombre: Llorenç Valverde García Contacto: Nombre: Contacto: Número de créditos: 5 Objetivos y competencias Ofrecer los conocimientos necesarios para desarrollar aplicaciones distribuidas sobre www y medir el rendimiento de las mismas. Competencias específicas: • Conocer los sistemas GNU/Linux. • Conocer los aspectos básicos de administración y programación de sistemas. • Conocer la plataforma LAMP y algunas aplicaciones web. • Conocer los servicios de red fundamentales. Contenidos 1. Introducción, aspectos éticos y legales Historia. Aspectos éticos y legales. Motivaciones de los desarrolladores. Economía del software libre. Iniciativas públicas. Comparación de la comunidad científica y la del software libre. Aspectos legales y licencias de software. Ingeniería del software libre 2. Sistemas GNU/Linux Arquitectura del sistema operativo. 1 Introducción a los sistemas operativos: el núcleo, herramientas del sistema, núcleo Linux, herramientas GNU. Sistemas de ficheros y journaling . Arquitectura de escritorios gráficos: X11/Xorg, KDE y GNOME. 3. Administración y programación de sistemas Distribuciones, instalación y mantenimiento. Lenguajes de scripting. Programación bash. Programación Perl y Python 4. Plataforma LAMP y aplicaciones web Arquitectura y servidores web: Apache, lighthttp. Estándar CGI. Lenguajes encastados. Lenguajes y herramientas de desarrollo: PHP, Python,, Ruby. Bases de datos: MySQL, PostgreSQL, SQLite. Programación web, frameworks, prácticas recomendadas. Sistemas de base de datos distribuidos y escalabilidad. Django 5. Servicios de red fundamentales Configuración de redes TCP/IP. Conexión remota segura: SSH. Sistemas de ficheros remotos, Samba. Impresión: CUPS. Correo electrónico, servidores SMTP, Sendmail, Exim, Postfix. DHCP. Servicios de nombres DNS. Estándar DNS, Bind, campos. Metodología de enseñanza y aprendizaje Metodología de aprendizaje Tipo de grupo Porcentaje del total de créditos Clases magistrales Grande 20% Calases prácticas Mediano 40% Estudio teórico Individual 10% Estudio práctico Individual 10% Trabajos prácticos Pequeño 10% Criterios y procedimientos de evaluación Se valorará el logro de los conocimientos necesarios para: Reconocer tipos de software y licencias libres, herramientas y tipos de gestión de proyectos. Arquitectura y desarrollo de aplicaciones distribuidas sobre la www con software libre. Bibliografía, lecturas recomendadas y otros recursos didácticos para el trabajo autónomo 1. Introducción al software libre . ( http://www.uoc.edu/masters/cat/img/693.pdf ). 2. Richard Stallman. Software libre para una sociedad libre (http://www.sindominio.net/biblioweb/pensamiento/softlibre/ ). 3. Eric Raymond. “The Cathedral and the Bazaar”. http://www.catb.org/~esr/writings/cathedral-bazaar/ 2 4. Mark Pilgrim. Dive into Python. http://diveintopython.org/ 5. Adrian Holovaty and Jacob Kaplan-Moss. The Definitive Guide to Django: Web Development Done Right. http://www.djangobook.com/ 6. Nikolai Bezroukov. “Open source software development as a Special Type of Academic Rsearch. http://www.firstmonday.dk/issues/issue4_10/bezroukov/index.html 7. 8. Luyin Zhao, Sebastian Elbaum. "Quality assurance under the open source development model." The Journal of Systems and Software (2003) 65-75. 3 .