Curso Sistemas Operativos 2020-20¶
Docente diseñador del curso: Juan Fernando Franco Higuita
Nombre del docente moderador: Juan Fernando Franco Higuita
Créditos y horas totales del curso: 3 créditos - 144 horas totales
¿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
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.
Brian Will.
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á dividido en 5 unidades que se realizarán en 15 semanas. En la semana 16 realizaremos acciones de mejora. Cada unidad tendrá asociada una actividad de aprendizaje que realizaremos en 8 fases.
- Fase 1: motivación. En esta fase se presentará la actividad de aprendizaje de la unidad, su relación con las competencias del curso y la carrera, se presentarán las acciones de aprendizaje, la rúbrica y la evidencia correspondiente a la evaluación sumativa de la unidad.
- Fase 2: diagnóstico-repaso. En esta fase se presentarán una serie de preguntas y ejercicios que buscan la AUTOEVALUACIÓN de los conocimientos previos necesarios para abordar la actividad de aprendizaje de la unidad.
- Fase 3: fundamentación. En esta fase se entregará el material teórico-práctico necesario para abordar el RETO de la unidad.
- Fase 4: ejercicios y discusión. Esta fase está compuesta por una serie de ejercicios preparatorios para el RETO de la unidad. Estos ejercicios se abordarán de manera individual y colaborativa.
- Fase 5: retroalimentación. En esta fase se revisará de manera grupal la solución de los ejercicios. El estudiante podrá realizar acciones de mejora a sus ejercicios.
- Fase 6: RETO. En esta fase se propone el RETO evaluativo de la unidad.
- Fase 7: sustentación. Una vez realizado el RETO, la fase de sustentación busca realizar un ejercicio metacognitivo y de síntesis. Mediante un video el estudiante presenta su solución y la analiza.
- Fase 8: retroalimentación. Esta fase presentará la solución del docente y de algunos compañeros. También permiterá realizar acciones de mejora al RETO realizado.
Unidades¶
- Unidad 1: lenguaje C parte 1
- Unidad 2: lenguaje C parte 2
- Unidad 3: procesos e hilos
- Unidad 4: comunicación y sincronización
- Unidad 5: entrada-salida
Cronograma¶
Evaluación¶
Serán 5 evaluaciones del 20% cada una correspondientes a las 5 unidades del curso.
Texto Guía¶
Información sobre el texto:
Enlaces a otros textos complementarios:
- 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.
Datos de contacto¶
- Sitio web: https://sistemasoperativos.readthedocs.io.
Contenidos semanales:
- Semana1
- Semana2
- Trayecto de acciones, tiempos y formas de trabajo
- Ejercicios
- Guía 1: punteros, arreglos y memoria dinámica
- Guía 2: estructuras de datos y archivos
- Ejercicio 1: entrada/salida
- Ejercicio 2: entrada/salida
- Ejercicio 3: scanf return
- Ejercicio 4: cadenas
- Ejercicio 5
- Ejercicio 6
- Ejercicio 7
- Ejercicio 8
- Ejercicio 9
- Ejercicio 10
- Ejercicio 11: análisis de una expresión más compleja
- Semana3
- Semana4
- Semana5
- Semana6
- Semana7
- Semana8
- Semana9
- Semana10
- Semana11
- Semana12
- Semana13
- Semana14
- Semana15
- Semana16