Universidad de Costa Rica |
Grupo 02: L 16-17:50, J 16-18:50 205-IF |
Recurso | Peso | Descripción |
---|---|---|
— |
Programa del curso y acuerdos |
|
— |
En Mediación Virtual |
|
— |
Material de referencia |
|
— |
Ejemplos hechos en clase |
|
30% |
Lista de ejercicios a entregar en control de versiones |
|
Quices |
20% |
En papel durante las lecciones presenciales |
15% |
Convertir números a palabras [29-jul 12 m.n] |
|
15% |
Examen de cátedra coordinado [29-jun 11am] |
|
20% |
Examen parcial [28-jul 4 p.m] |
|
Otros recursos |
— |
Presentación paradigmas de computación |
- Filosofía de la computación
- Resolución de problemas
- Métodos y proceso de resolución de problemas
- Control de versiones con interfaz gráfica
- Educación de la computación
- Paradigmas de computación
- Algoritmos para seres humanos
- Algoritmos para computadoras
- PseInt: Intérprete de pseudocódigo
- Acumuladores. Calculadoras mecánicas
- Aritmética de precisión fija
- Aritmética de precisión flotante
- Compuertas lógicas
- Circuito comparador. Sumador
- Multiplexor. Expresiones en Python
- Octal. Hexadecimal. f-string
- Decodificador. Memoria. HackerRank
- Arquitectura de von Neumann
- Ciclo de instrucción
- Código máquina hexadecimal
- Modelos de computación: Máquina de Turing
Filosofía de la computación
Resolución de problemas
Métodos y proceso de resolución de problemas
Control de versiones con interfaz gráfica
M20-abr | Gr02 |
---|---|
Clientes gráficos de Git (TortoiseGit). Clonar repositorio (clone) |
|
Hiperenlaces en Markdown |
|
Estado del repositorio (status) y comparar archivos en forma gráfica (diff) |
|
Agregar cambios (add) y hacer un commit con interfaz gráfica |
|
Enviar cambios (push) al repositorio remoto/origen |
|
Hacer un commit desde el cliente web de GitLab |
|
Actualizar el repositorio local respecto al remoto/origen (fetch y pull) |
Educación de la computación
Paradigmas de computación
Algoritmos para seres humanos
Algoritmos para computadoras
L02-may | Gr02 |
---|---|
Los ocho tipos de instrucciones. Problema del índice de masa corporal. Análisis. Pseudocódigo. Diagramas de flujo |
J05-may | Gr02 |
---|---|
Repaso: algoritmos para máquinas, problema de índice de masa corporal (IMC) |
|
Pseudocódigo de la subrutina principal del IMC |
|
Diagrama de flujo de la subrutina principal |
|
Procesar todas las personas en la entrada. Repetir la ejecución de instrucciones |
|
Caricatura: informáticos y usuarios. Colores en el diagrama de flujo |
|
Corregir el diseño vs corregir la implementación. Funciones. Valores de retorno |
|
Procedimientos vs funciones |
|
Diagrama de flujo de una función |
|
Función para clasificar el IMC por estado nutricional |
|
Probar el algoritmo. Rastreo del programa |
|
Exportar el diagrama de flujo a SVG |
PseInt: Intérprete de pseudocódigo
L09-may | Gr02 |
---|---|
Repaso de la solución al índice de masa corporal en pseudocódigo y diagrama de flujo |
|
PSeInt. Identificadores. snake_case. CamelCase. Algoritmo vs proceso |
|
Programa en lote vs interactivo. Repetir mientras vs repetir hasta |
|
Los programas interactivos conversan con los usuarios. Hacer preguntas al usuario |
|
Condicionar la ejecución de instrucciones |
|
Funciones. Argumentos. Parámetros. Variables locales. Valor de retorno |
|
Generar un diagrama de flujo con PSeInt |
|
Invocar o llamar una función |
|
Diferencia entre definir una variable y asignar una variable (cambiarle el valor) |
|
Clasificar por estado nutricional. Cadenas de if-else |
|
Exportar a código fuente con PSeInt |
Acumuladores. Calculadoras mecánicas
J12-may | Gr02 |
---|---|
Las computadoras heredan de las calculadoras |
|
El ábaco: el procesador es la persona |
|
La calculadora de Schickard |
|
La Pascalina: un acumulador en base 10 mecánico con ruedas dentadas |
|
La calculadora de Leibniz |
|
El aritmómetro |
|
Diferencias entre la aritmética de computadoras y personas |
|
Problema del sumador de n dígitos en base 10 |
|
Representar un acumulador como un arreglo de números |
|
Leer un número y separar sus dígitos en PSeInt |
|
Almacenar los dígitos en acumuladores de tamaño arbitrario en PSeInt |
|
Algoritmo de la suma para acumuladores de n-bits |
|
Aritmética de precisión arbitraria |
|
Arimética de precisión fija |
Aritmética de precisión fija
L23-may | Gr02 |
---|---|
Aritmética sin signo, signo/magnitud, complemento a dos, y en exceso-k |
Aritmética de precisión flotante
Compuertas lógicas
L30-may | Gr02 |
---|---|
Lógica booleana. Diseño digital. Compuertas lógicas. Circuitos digitales. |
Circuito comparador. Sumador
Multiplexor. Expresiones en Python
Octal. Hexadecimal. f-string
L13-jun | Gr02 |
---|---|
Solución Quiz06. Octal. Hexadecimal. Textos con formato en Python3 (f-strings) |
Decodificador. Memoria. HackerRank
Arquitectura de von Neumann
Ciclo de instrucción
Código máquina hexadecimal
J30-jun | Gr02 |
---|---|
Repaso de la arquitectura de von Neumann (en binario) |
|
Repaso de ejecución de una instrucción (en binario) |
|
Concepto de software |
|
RISC vs CISC, el ejemplo de Apple |
|
Una arquitectura más realista, con instrucciones de 32 bits, direcciones de 20 bits (en hexadecimal) |
|
Establercer el contador de programa y ejecución de la primera instrucción |
|
|
|
|
|
Entrada textual. ASCII. Conversión de texto a números |
|
|
|
|
|
|
|
|
|
Ciclos: saltos hacia atrás. Ejecución completa de una iteración |
|
Inicio de una nueva iteración. Rompimiento del ciclo |
|
|
|
|
|
|
|
|
|
Tratar de decompilar el programa en ensamblador a Python |
|
Propósito del programa. Recomendaciones e ideas finales. |