owned this note
owned this note
Published
Linked with GitHub
# Temario: Introducción a la Computación
###### CNBA, (aka) Pensamiento Computacional
## Plan general de la materia
Alonso
beatriz
- vulcano gustavo
- negocios y inve operativa
- joacquin navajas
- cognitiva
-
| | Unidad | #Semanas |
| -------- | -------- | -------- |
| Primer Cuatrimestre | Historia de la Computación | 2 |
| | Nociones de la Programación (imperativa) | 5 (+2) |
| Segundo Cuatrimestre | Intro. a la Organización del Computador | 3 |
| | Algoritmos y Estructuras de Datos | 8 |
| | Ética en la Computación | 2 |
## Temario
#### Unidad 0: Historia de la Computación
- Computación. Definiciones. Conceptos relacionados (Informática, Sistemas, Ingeniería de Software). Contraste con usos comunes en la industria.
- Origen de la Computación.
- Cimientos de la computación
- Máquina Univeral de Turing: la primera computadora (teórica)
- Surgimiento de las computadoras físico-digitales
- Casos emblemáticos: IBM/NCR, Atanasoff–Berry computer.
- ENIAC: conputadoras de propósito general, origen del término por las mujeres operadoras.
- Aparición de memorias basadas en transistores. Caso ETL-MARCIII. Aplicación científica y militar.
- Aparición de las computadoras personales, rápido desarrollo del hardware.
#### Unidad 1: Nociones de programación (imperativa)
- Autómatas, Comandos, Procedimientos, Repetición.
- Variables, valores, expresiones y concepto de tipos de datos.
- Estructuras de Control. Alternativa Condicional. Repetición simple. Repetición condicional.
- Especificación. Estrategia de resolución de problemas (bottom-up/top-down). Modelado. Abstracción.
- Modularización y Parametrización.
- Programación en bloques y texto. PilasBloques, Gobstones Jr y Gobstones Sr.
#### Unidad 2: Introducción a la Organización del Computador
- Panorama alto nivel de la organización de un computador
- De bits a dispositivos electrónicos
1. Representación de la Información
2. Sistemas Digitales. ALU.
3. Nivel de Control. Unidad de Control.
4. Lenguaje de máquina. Procesador. Tipos de CPU.
- De nivel usuario a nivel de máquina.
1. Aplicaciones y programas.
2. Lenguaje de Programación: alto y bajo nivel. Compilación. Introducción C++.
3. Nivel de Sistema. Sistema Operativos. Bibliotecas de base.
4. Lenguajes ensamblador.
Examen chico de compuertas lógicas + para qué sirve conocer estas cosas + que entemos por organizacion del computador (como para que lo entienda la abuela)
como se relacionan los programas y el código en un lenguaje de alto nivel con las compuertas lógicas?
#### Unidad 3: Introducción a la Programación (imperativa)
- Paradigmas de Programación. Programación imperativa. Pasaje de Gobstones Sr a C++.
- Tipos de Datos Comunes: Números enteros. Números flotantes. Booleano. String. Vector. Tupla.
- Estructuras de control: Repetición condicional. Repetición en rango y estructuras.
- Organización del Computador para programación.
- Abstracción de Memoria. Heap. Stack.
- Representación de datos.
#### Unidad 4: Algoritmos y Estructuras de Datos
- Complejidad algorítmica. Búsqueda. Ordenamiento.
- Tipo de Datos Abstractos. Encapsulamiento.
- Estructuras enlazadas. Lista enlazada. Lista doblemente enlazada.
- Recursión en números y listas. Inducción matemática.
- Complejidad temporal y espacial
- Comparación algoritmos de ordenamiento
4. Arquitectura básica y set de instrucciones
- Almacenamiento de la Información
- Memorias, tipos de memoria (caché, RAM, disco).
- Arquitectura Altonivel de una Computadora
- para programación de aplicaciones (modo usuario)
- para programación de sistemas operativos (modo kernel)
- Sistemas Distribuidos
- características
- desafíos: manejo de falla, comunicación, tiempo
- ejemplos red WIFI local, comunicación anillo *tokens*
- Casos de estudio: Cripto, Blockchain, Web3, Nube
#### Unidad 3:
- Problemas Integradores
- Ordenamiento y Búsqueda
- Otros: debugging
-
- Inducción, recursión.
- Numeros
- Listas
- Taller: Haskell
- Complejidad temporal y espacial
- Comparación algoritmos de ordenamiento
- Estructuras de Datos Básicas
- Lista
- Cola
- Árbol
- Técnicas Algoritmicas
- Backtracking
- Divide and Conquer
#### Unidad 4: Ética en la Computación
- Sesgos algorítmicos
- Recolección de datos, privacidad, datos abiertos
- Propiedad Intelectual, Licencias, open source.
- Hacking, Internet
## Lista posible temario
- Historia de la Computación
- Turing
- Película Turing
- ENIAC:
- película mujeres de la ENIC
- Computación en Argentina
- [Materia Schapa?](https://campus.exactas.uba.ar/course/view.php?id=2726§ion=0)
- Ética de la Computación
- Sesgos algorítmicos
- Recolección de datos, privacidad, datos abiertos
- Propiedad Intelectual, Licencias, open source. Hacking, Internet
- Caso [Marak](https://www.siliconrepublic.com/enterprise/github-marak-squires-colors-faker-npm-corrupt-open-source) y comunidad Open Souce. [Video ES](https://www.youtube.com/watch?v=q4INUrZNprY)
- Caso Aaron
- Caso Scihub
- Caso GitHub Copilot
- [Artículo de Privacidad de datos-EN](https://thenewstack.io/github-copilot-and-open-source-a-love-story-that-wont-end-well/)
-
- Bibliografia:
- [materia "Ética" FCEN-UBA, Martinez, Vanina](https://campus.exactas.uba.ar/course/view.php?id=2405)
- [materia Tecnología y DDHH](https://campus.exactas.uba.ar/course/view.php?id=3751)
- Seguridad de la Información
### Infraestructura
- Aula común de clase con pantalla televisor
- Espacio CERLE
- 8 PCs con Windows, con internet.
- Proyector móvil disponible
- Observatorio
- Espacio para 20 personas
- Pizarrón con marcador
- Proyector fijo
- 1 Computadora
- Aula cluastro central
- bancos móviles
- compu? #TODO: consultar en vice
### Otros cursos Dto. Astro:
- Robótica:
- Luis
- AI:
- Lucas
### Repositorio:
- Drive del Gabinete de Astronomía
-
#### Charla de profesores invitades
- Ex-alumnes solamente?
- Carolina Hadad?
- Carlos Diuk?
- Caro por empresa horizontal?
#### Bibliografía
- [Manual para la escuela de la Fundación Sadosky para primaria y secundaria inicial](https://www.fundacionsadosky.org.ar/wp-content/uploads/2015/08/Actividades%20para%20aprender%20a%20Programar.pdf)
- [Taller de Programación "Exactas Programa"](https://exactasprograma.exactas.uba.ar/), futura versión de la materia "Pensamiento Computacional" CBC Exactas
-