Introducción al curso
¿Para qué sirve este curso?
Este curso sirve para ejercitar esta poderosa idea:
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 objeto de este curso es el estudio de los fundamentos de los sistemas de cómputo modernos desde la
perspectiva del programador. Por tanto, se estudiará cómo funciona un computador moderno pasando por el hardware
que lo compone, los lenguajes de programación, las herramientas y el sistema operativo. Se busca entonces
abordar aquellos conceptos que permitirán sacar provecho al sistemas de cómputo a la hora de construir aplicaciones.
Propósito del curso
El entendimiento de los fundamentos y las abstracciones de los sistemas computacionales desde la perspectiva del programador con el fin de construir aplicaciones que usen apropiadamente y saquen el mayor provecho de la plataforma de cómputo en la cual se ejecutan.
Competencia
Construye aplicaciones que posibilitan la interacción entre personas, mediada por tecnologías digitales, utilizando lenguajes y metodologías apropiadas según el contexto.
Resultado de aprendizaje del curso
Aplico los conceptos necesarios para el correcto diseño, implementación, funcionamiento y diagnóstico del
software en la producción de sistemas de entretenimiento digital utilizando los procedimientos y herramientas
adecuadas según el contexto. NIVEL RESOLUTIVO.
Carta Descriptiva
En este enlace puedes consultar la carta descriptiva del curso.
Proyecto docente
Aquí encontrarás el proyecto docente con la planeación del curso.
Estructura y metodología del curso
El curso está divido en 4 unidades:
Unidad 1: Arquitectura del computador.
Unidad 2: Del código fuente al ejecutable.
Unidad 3: Programación orientada a objetos.
Unidad 4: Sistema operativo.
La metodología del curso es de aula invertida. En este sitio web está todo el material necesario para que puedas preparar la evaluación de cada unidad. Debes utilizar el tiempo autónomo para preparar el material y resolver los ejercicios y retos en clase con el apoyo de tus compañeros y la asesoría del profesor.
Cronograma
Ver el proyecto docente.
Evaluación
Control de versión: 5%.
unidad 1: 25%.
unidad 2: 25%.
unidad 3: 25%.
unidad 4: 20%.
Plazos de entrega de las evaluaciones
Advertencia
NO TENDREMOS ENTREGAS POR FUERA DE HORARIOS DE clase
No tendremos entregas por fuera del horario de clase. Luego del plazo 1 la nota será cero a menos que se entregue en los plazos siguientes. Luego del plazo 3 la nota quedará en cero.
Curso regular
Evaluación |
Plazo 1 (sobre 5) |
Plazo 2 (sobre 5) |
Plazo 3 (sobre 4) |
|---|---|---|---|
Git |
semana 2 jul 24 |
semana 3 |
semana 4 |
Unidad 1 |
semana 5 ago 14 |
semana 6 |
semana 7 |
Unidad 2 |
semana 9 sep 11 |
semana 10 |
semana 11 |
Unidad 3 |
semana 13 oct 9 |
semana 14 |
semana 15 |
Unidad 4 |
semanas 16 oct 30 |
no hay |
no hay |
Curso dirigido
Evaluación |
Plazo 1 (sobre 5) |
Plazo 2 (sobre 5) |
Plazo 3 (sobre 4) |
|---|---|---|---|
Git |
agosto 10 |
agosto 15 |
agosto 17 |
Unidad 1 |
agosto 22 |
agosto 29 |
agosto 31 |
Unidad 2 |
septiembre 5 |
septiembre 12 |
septiembre 14 |
Unidad 3 |
septiembre 19 |
septiembre 21 |
septiembre 26 |
Unidad 4 |
septiembre 28 |
no hay |
no hay |
¿Cuándo se consideran entregada una evaluación?
Cuando cumplas TODAS las condiciones siguientes:
Incluye toda la documentación solicitada.
Tiene el aval de unidad entregada por parte del profesor.
Advertencia
IMPORTANTE
No hay entregas parciales. Si tu trabajo está incompleto el docente simplemente no te dará el aval de entregado. Recuerda que una vez tengas el aval la nota en el sistema será 5 si cumpliste con el plazo. De lo contrario tendrás la penalización que corresponda.
Dedicación
Este curso es de 2 créditos y se desarrolla en 16 semanas. En total debes invertir 6 horas de trabajo semanal.
Bibliografía
Todo el material que necesitarás estará en este sitio web.
Advertencia
SI QUIERES APRENDER MÁS
Te recomiendo mucho estos textos, son unas verdaderas joyas:
The Elements of Computing Systems: Building a Modern Computer from First Principles. Este libro es un recorrido por el funcionamiento de un sistema de cómputo desde las compuertas que componen el computador hasta un videojuego conocido como tetris. Este texto soporta un curso muy popular llamado from nand to tetris.
Computer Systems: A Programmer’s Perspective. Una verdadera joya que aborda la arquitectura y organización de los sistema de cómputo desde la perspectiva del programador.
Operating Systems: Three Easy Pieces. Este excelente libro gratuito de sistemas operativos hace un recorrido por las abstracciones más importantes que este software ofrece.
Dive into Systems. Este texto gratuito captura la esencia de nuestro curso. El material que está allí te permitirá complementar y profundizar todo lo que vas a estudiar.
Evidencias de evaluación
En cada unidad verás el enunciado de un proyecto y las consideraciones para entregarlo solucionado. Ten 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.
Tablero de curso
Aquí está el tablero del curso.