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 ayuda de tus compañeros de equipo 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%.
¿Cuándo se consideran entregada una evaluación?
Cuando cumplas TODAS las condiciones siguientes:
Incluye toda la documentación solicitada.
Pasa los vectores de prueba, cuando aplique.
Incluye los enlaces a videos públicos en youtube donde se muestre la evaluación funcionado.
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 de la unidad será 5.
Dedicación
Este curso es de 2 créditos y se desarrolla en 16 semanas. Cada semana tendrás 3 horas 20 minutos de trabajo presencial y 2 hora de trabajo autónomo.
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 videojuegos 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.
Bitácora
Te recomiendo utilizar dos herramientas para que documentes y organices tu trabajo:
GitHub
En GitHub mantendrás todo tu código bajo control de versión.
En Notion llevarás tu bitácora electrónica (opcional)