Introducción al Curso¶
¿Para qué sirve este curso?¶
- Para comprender cómo funciona el software que permite utilizar los recursos que provee la plataforma de hardware sobre la cual se ejecutarán nuestras aplicaciones.
- El conocimiento anterior nos dará los ¡SUPER PODERES! necesarios para construir mejor software y para identificar y corregir errores.
Nota
Brian Will
- You need to understand your code.
- You need to understand your tools.
- You need to understand your platform.
- When we give up on understanding what we are actually doing when you write code, it just leads to bad software.
Descripción del curso¶
El curso aborda el estudio de los sistemas operativos en su condición de capa de software que posibilita y simplifica el manejo de la computadora sirviendo como intermediario entre el usuario y el hardware. Se pretende brindar al estudiante fundamentación en aspectos concretos relativos al diseño, implementación y uso (en el rol de programador y administrador) de un sistema operativo. Dichos aspectos son esenciales para el diseño y montaje de aplicaciones de software modernas.
Propósito del curso¶
El curso enriquece la formación con los conceptos y herramientas más importantes necesarias en el diseño, administración y operación de sistemas operativos.
Competencia¶
Analiza, diseña, evalúa, implementa, administra y da soporte a soluciones informáticas efectivas y eficientes.
Carta Descriptiva del curso¶
Estructura y metodología del curso¶
El curso está divido en 4 unidades:
- Unidad 1: lenguaje C
- Unidad 2: procesos e hilos
- Unidad 3: comunicación y sincronización
- Unidad 4: entrada-salida
Cada unidad estará constituida por tres fases:
- Fase 1: fundamentación. En esta fase se estudiarán los conceptos teóricos más relevantes de cada unidad. Así mismo se complementarán con lecturas. En esta fase, el estudiante debe repasar los conceptos olvidados de los semestres anteriores.
- Fase 2: proyecto. En esta fase se realizará un proyecto para evidenciar los aprendizajes de la unidad.
- Fase 3: evaluación. En esta fase se discute el resultado de los proyectos de la unidad.
Cronograma¶
- Unidad 1: semanas 1 a 7
- Unidad 2: semanas 8 a 10
- Unidad 3: semanas 11 a 13
- Unidad 4: semanas 14 a 16
Evaluación¶
- Evaluación unidad 1: 25%. Semana de agosto 23. Plazo máximo agosto 29 de 2021.
- Evaluación unidad 2: 25%. Semana de septiembre 20. Plazo máximo septiembre 26 de 2021.
- Evaluación unidad 3: 25%. Semana de octubre 11. Plazo máximo octubre 17 de 2021.
- Evaluación unidad 4: 25%. Semana de noviembre 1. Plazo máximo noviembre 7 de 2021.
Luego del plazo máximo la nota de la evaluación será 0.
Textos de referencia¶
El curso no tiene un texto guía, porque encontrarás todo el material disponible en este sitio web; sin embargo, te recomiendo completar el material práctico que se presenta en el curso con la información de un libro de texto.
El texto recomendado es este.
Hay otros textos que pueden serte de mucha utilidad:
- The Linux Programming Interface: A Linux and UNIX System Programming Handbook
- Linux Kernel Development
- C Programming Language, 2nd Edition
- C Programming Absolute Beginner’s Guide
- How Linux Works, 2nd Edition: What Every Superuser Should Know
- Linux System Programming: Talking Directly To The Kernel And C Library
Dedicación¶
Este curso es de 3 créditos repartidos en 4 horas de trabajo presencial mediado por TIC y 5 horas de trabajo autónomo.
Actividades de cada unidad¶
- Sesión 1 de la semana: discusión de conceptos, ejercicios, dudas.
- Sesión 2 de la semana: asesoría, discusión de ejercicios.
Evidencias de evaluación¶
En cada unidad verás el enunciado de un proyecto y las consideraciones para entregarlo solucionado. Ten en cuenta SIEMPRE el siguiente código honor:
Código de honor¶
Para realizar el trabajo de cada unidad se espera que hagas lo siguiente:
- Colabora con tus compañeros cuando así se indique.
- Trabaja de manera individual cuando la actividad así te lo proponga.
- No busques la solución a los proyectos porque DAÑARÍAS tu proceso de aprendizaje. Recuerda, se trata de seguir un camino y aprender en el recorrido.
- ¿Entonces qué hacer si no me funciona algo? Te propongo que experimentes, crea hipótesis, experimenta de nuevo, observa y concluye.
- NO OLVIDES, este curso se trata de pensar y experimentar NO de BUSCAR soluciones en Internet.