✍️ Más correcciones.

Checkpoint: Línea 523.
This commit is contained in:
Alexandru Muntenas 2022-03-14 01:31:26 +01:00 committed by GitHub
parent 7b35c2f19c
commit c323e32f1b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 85 additions and 80 deletions

View File

@ -85,13 +85,18 @@
## ¿Qué es esto?
Este es mi plan de estudios de varios meses para pasar de ser un Desarrollador Web (Autodidacta, sin título) a un Ingeniero de Software para una gran compañía.
![Coding at the whiteboard - from HBO's Silicon Valley](https://d3j2pkmjtin6ou.cloudfront.net/coding-at-the-whiteboard-silicon-valley.png)
Esto es para los **nuevos Ingenieros de Software** o aquellos que quieren cambiar del Desarrollo de Software/Web a Ingeniero de Software (Donde el conocimiento de las Ciencias de Computación es requerido). Si tiene varios años de experiencia y clama tenerlos como Ingeniero de Software, espere una entrevista más ardua.
Este es mi plan de estudios de varios meses para pasar de ser un Desarrollador Web (Autodidacta, sin título) a un Ingeniero de Software para una gran compañía.
Si tiene varios años de experiencia en desarrollo de software/web note que las grandes compañías como Google, Amazon, Facebook y Microsoft ven la Ingeniería de Software diferente al Desarrollo de Software/Web, requiriendo del conocimiento de las Ciencias de Computación.
**Requisitos:**
- Mínima experiencia relacionada a la programación (variables, métodos/funciones, bucles...)
- Paciencia
- TIempo
Esto es para los **nuevos Ingenieros de Software** o aquellos que quieren cambiar del Desarrollo de Software/Web a Ingeniero de Software (Dónde el conocimiento de las Ciencias de Computación es requerido). Si tiene varios años de experiencia, y clama tenerlos como Ingeniero de Software, espere una entrevista más ardua.
Si tiene varios años de experiencia en el desarrollo de software/web, note que las grandes compañías (como Google, Amazon, Facebook y Microsoft) ven la Ingeniería de Software diferente al Desarrollo de Software/Web, requiriendo del conocimiento de las Ciencias de Computación.
Si desea ser un Ingeniero de Escalabilidad/Seguridad o un Ingeniero de Sistemas, estudie más de la lista opcional (Redes, Seguridad).
@ -102,8 +107,8 @@ Si desea ser un Ingeniero de Escalabilidad/Seguridad o un Ingeniero de Sistemas,
- [¿Qué es esto?](#qué-es-esto)
- [¿Por qué usarlo?](#por-qué-usarlo)
- [Como usarlo](#como-usarlo)
- [No sienta no es lo suficientemente listo](#no-sienta-no-es-lo-suficientemente-listo)
- [¿Cómo usarlo?](#como-usarlo)
- [No sienta que no es lo suficientemente listo](#no-sienta--que-no-es-lo-suficientemente-listo)
- [Acerca de los recursos de vídeo](#acerca-de-los-recursos-de-vídeo)
- [Prepárese para la entrevista](#prepárese-para-la-entrevista)
- [Escoja un lenguaje para la entrevista](#escoja-un-lenguaje-para-la-entrevista)
@ -128,19 +133,19 @@ Si desea ser un Ingeniero de Escalabilidad/Seguridad o un Ingeniero de Sistemas,
- [Montículo / Colas de Prioridad / Montículo binario](#montículo--colas-de-prioridad--montículo-binario)
- Árboles de búsqueda balanceables (Concepto General, sin detallar)
- Recorridos: preorder, inorder, postorder, BFS, DFS
- [Ordenamientos](#ordenamientos)
- [Ordenación](#ordenacion)
- Selección
- Inserción
- Por montículos (heapsort)
- Rápido (quicksort)
- Por mezcla (merge sort)
- [Grafos](#grafos)
- [Gráficos](#graficos)
- Dirigidos
- No dirigidos
- Matriz de adyacencia
- Lista de adyacencia
- Recorridos: BFS, DFS
- [Más información adicional](#más-información-adicional)
- [Más nformación adicional](#más-información-adicional)
- [Recursión](#recursión)
- [Programación Dinámica](#programación-dinámica)
- [Programación Orientada a Objetos](#programación-orientada-a-objetos)
@ -219,54 +224,55 @@ Si desea ser un Ingeniero de Escalabilidad/Seguridad o un Ingeniero de Sistemas,
## ¿Por qué usarlo?
Cuando comencé este proyecto, no sabía la diferencia entre un stack y un heap, no conocía la notación Big-O, nada acerca de árboles, ni cómo sacar la transversal de una gráfica. Si tenía que programar un algoritmo de clasificación, puedo decir que no hubiera sido muy bueno. Cada estructura de datos que había utilizado estaba incorporada al lenguaje, y yo no sabía cómo funcionaban realmente. Yo nunca tuve que manejar la memoria a menos que un proceso que yo estaba corriendo diera un error de “out of memory”, y tenía que encontrar una alternativa. He usado pocos arreglos de varias dimensiones en mi vida y miles de arreglos asociativos, pero nunca he creado estructuras de datos desde cero.
Si desea trabajar como un Ingeniero de Software para una gran compañía, estas son los aspectos que debes de conocer.
Pero después de pasar por todo este plan de estudios tengo mucha confianza de que seré contratado. Me tomará meses. Si mucho de esto te resulta familiar entonces te tomará mucho menos tiempo.
Si, como yo, te perdiste la carrera de informática, esto te pondrá al día y te ahorrará cuatro años de tu vida.
Es un plan largo, puede tome unos meses; pero si le resulta familiar mucho de esto le tomara mucho menos tiempo.
Cuando comencé este proyecto, no sabía la diferencia entre un stack y un heap, no conocía la notación Big-O, nada acerca de árboles, ni cómo sacar la transversal de una gráfica. Si tenía que programar un algoritmo de clasificación, puedo decir que no hubiera sido muy bueno. Cada estructura de datos que había utilizado estaba incorporada al lenguaje, y yo no sabía cómo funcionaban realmente. Yo nunca tuve que manejar la memoria a menos que un proceso que yo estaba corriendo diera un error de “out of memory” y tenía que encontrar una alternativa. He usado pocos arreglos de varias dimensiones en mi vida y miles de arreglos asociativos, pero nunca he creado estructuras de datos desde cero.
Es un plan largo, puede que tome unos meses; pero si le resulta familiar mucho de esto, le tomara mucho menos tiempo.
## Como usarlo
Todo lo que aparece abajo es un plan, y debería abordar los elementos en orden de arriba a abajo.
Estoy usando el tema especial de markdown de Github, incluyendo listas de tareas para comprobar el progreso.
Estoy usando las características especiales de markdown de Github, incluyendo listas de tareas, para comprobar el progreso.
**Cree una nueva rama para que pueda validar elementos como este, solo ponga una x en los corchetes: [x]**
```
Haga fork a una rama y siga los comandos siguientes
```
Haga fork a una rama y siga los comandos siguientes
Haga fork del repositorio de Github [jwasham/coding-interview-university](https://github.com/jwasham/coding-interview-university) haciendo click sobre el botón "Fork".
`git checkout -b progress`
Clónalo en un repositorio local:
```
git clone git@github.com:<tu_usuario_de_github_/coding-interview-university.git
git checkout -b progress
git remote add jwasham https://github.com/jwasham/coding-interview-university
git fetch --all
```
Marque todas las cajas con una x después de que completa los cambios
`git remote add jwasham https://github.com/jwasham/coding-interview-university`
`git fetch --all`
Marque todas las cajas con una x después de que completa los cambios
`git add . `
`git commit -m "Marked x" `
`git rebase jwasham/main `
`git push --force `
[Más acerca de los temas de Github para markdown](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown)
```
git add .
git commit -m "Marcado con X"
git rebase jwasham/main
git push --set-upstream origin progress
git push --force
```
[Más acerca de características de Github para markdown](https://guides.github.com/features/mastering-markdown/#GitHub-flavored-markdown)
## No sienta que no es lo suficientemente listo
- Los ingenieros de software exitosos son inteligentes pero muchos tienen la inseguridad de no ser lo suficientemente listos.
- Los ingenieros de software exitosos son inteligentes, pero muchos tienen la inseguridad de no ser lo suficientemente listos.
- [The myth of the Genius Programmer](https://www.youtube.com/watch?v=0SARbwvhupQ)
- [It's Dangerous to Go Alone: Battling the Invisible Monsters in Tech](https://www.youtube.com/watch?v=1i8ylq4j_EY)
## Acerca de los recursos de vídeo
Algunos videos solo están disponibles inscribiéndose a una clase de Coursera, EdX, o Lynda.com. Estos son llamados MOOCs.
En ocasiones las clases no están en sesión por lo que tendrá que esperar un par de meses, por lo que no tiene acceso. Los cursos de Lynda.com no son gratuitos.
Apreciaría su ayuda añadiendo fuentes siempre disponibles, publicas y gratuitas como videos de Youtube para acompañar a los videos del curso en línea.
Me gustan recursos provenientes de universidades.
Algunos videos solo están disponibles inscribiéndose a una clase de Coursera o EdX. Estos son llamados MOOCs. En ocasiones las clases no están en sesión, por lo que tendrá que esperar un par de meses, así que no tiene acceso.
Apreciaría su ayuda añadiendo fuentes siempre disponibles, publicas y gratuitas como videos de Youtube para acompañar a los videos del curso en línea.
## Prepárese para la entrevista
- [ ] [ABC: Always Be Coding](https://medium.com/always-be-coding/abc-always-be-coding-d5f8051afce2#.4heg8zvm4)
@ -293,7 +299,7 @@ Puede usar un lenguaje con el que este cómodo para hacer la parte de código pa
- Java
- Python
También podrías usar éstos, pero busca información primero. Puede haber advertencias:
También podría usar estos, pero primero deberá informarse. Puede haber advertencias:
- JavaScript
- Ruby
@ -304,23 +310,23 @@ Lee más acerca de opciones:
- http://www.byte-by-byte.com/choose-the-right-language-for-your-coding-interview/
- http://blog.codingforinterviews.com/best-programming-language-jobs/
[Ve recursos de programas aquí](programming-language-resources.md)
[Vea recursos de programas aquí](programming-language-resources.md)
Verás algunos materiales de aprendizaje de C, C++ y Python abajo, porque estoy aprendiendo. Hay algunos libros involucrados, ve al final.
Verá algunos materiales de aprendizaje de C, C++ y Python abajo, porque estoy aprendiendo. Hay algunos libros involucrados, ve al final.
## Lista de libros
Ésta es una lista más corta que la que yo usé. Está abreviada para ahorrarle tiempo.
Esta es una lista más corta que la que yo usé. Está abreviada para ahorrarle tiempo.
### Preparación para la entrevista
- [ ] [Programming Interviews Exposed: Secrets to Landing Your Next Job, 2nd Edition](http://www.wiley.com/WileyCDA/WileyTitle/productCd-047012167X.html)
- Respuestas en C++ y Java
- Este es un buen calentamiento para Cracking the Coding Interview
- No muy difícil, muchos problemas pueden ser más sencillos de los que verá en la entrevista (Por lo que he leído)
- No muy difícil. Muchos problemas pueden ser más sencillos de los que verá en la entrevista (Por lo que he leído)
- [ ] [Cracking the Coding Interview, 6th Edition](http://www.amazon.com/Cracking-Coding-Interview-6th-Programming/dp/0984782850/)
- Respuestas en Java
Si tiene mucho tiempo extra:
Si dispone de mucho tiempo adicional:
- [ ] [Elements of Programming Interviews (C++ version)](https://www.amazon.com/Elements-Programming-Interviews-Insiders-Guide/dp/1479274836)
- [ ] Elements of Programming Interviews (Java version)
@ -329,10 +335,10 @@ Si tiene mucho tiempo extra:
### Arquitectura de Computadores
Si esta corto de tiempo:
Si no dispone de mucho tiempo:
- [ ] [Write Great Code: Volume 1: Understanding the Machine](https://www.amazon.com/Write-Great-Code-Understanding-Machine/dp/1593270038)
- El libro fue publicado en 2004, y es algo anticuado pero es un recurso fantástico para la comprensión de una computadora en breve.
- El libro fue publicado en 2004 y es algo anticuado, pero es un recurso fantástico para la comprensión de una computadora en breve.
- El autor inventó HLA, por lo que tiene muchas menciones y ejemplos en HLA. No es ampliamente utilizado, pero los ejemplos son decentes para ver cómo es un lenguaje ensamblador.
- Estos capítulos valen la pena ser leídos para brindarle una buena base:
- Chapter 2 - Numeric Representation
@ -352,9 +358,9 @@ Si tiene más tiempo (Yo quiero este libro):
### Específicos del lenguaje
**Necesita escoger un lenguaje para la entrevista (mire arriba).** Aquí están mis recomendaciones por lenguaje. No tengo recursos para todos los lenguajes. Son bienvenidas adiciones.
**Necesita escoger un lenguaje para la entrevista (mire arriba).** Aquí están mis recomendaciones por lenguaje. No tengo recursos para todos los lenguajes, de modo ques son bienvenidas las adiciones.
Si ha leído alguno de estos, probablemente tenga todos los conocimientos de estructuras de datos y algoritmos que necesitara para hacer problemas de codificación.
Si ha leído alguno de estos, probablemente tenga todos los conocimientos de estructuras de datos y algoritmos que necesitará para resolver problemas de codificación.
**Puede saltarse todas las video-lecturas en este proyecto**, a menos que quiera una crítica.
[Recursos adicionales específicos del lenguaje aquí.](programming-language-resources.md)
@ -366,7 +372,7 @@ No he leído estos dos, pero están altamente calificados y escritos por Sedgewi
- [ ] [Algorithms in C++, Parts 1-4: Fundamentals, Data Structure, Sorting, Searching](https://www.amazon.com/Algorithms-Parts-1-4-Fundamentals-Structure/dp/0201350882/)
- [ ] [Algorithms in C++ Part 5: Graph Algorithms](https://www.amazon.com/Algorithms-Part-Graph-3rd-Pt-5/dp/0201361183/)
Si tiene una mejor recomendación para C++ por favor hágamelo saber. Busco fuentes comprensivas.
Si tiene una mejor recomendación para C++, por favor hágamelo saber. Busco fuentes comprensivas.
### Java
@ -378,50 +384,50 @@ Si tiene una mejor recomendación para C++ por favor hágamelo saber. Busco fuen
O:
- [ ] [Data Structures and Algorithms in Java](https://www.amazon.com/Data-Structures-Algorithms-Michael-Goodrich/dp/1118771338/)
- Por Goodrich, Tamassia, Goldwasser
- Usado como texto opcional en el curso de Informática impartido en UC Berkeley
- Por Goodrich, Tamassia, Goldwasser.
- Usado como texto opcional en el curso de Informática impartido en UC Berkeley.
- Vea mi reporte de la versión de Python debajo. Este libro abarca los mismos tópicos.
### Python
- [ ] [Data Structures and Algorithms in Python](https://www.amazon.com/Structures-Algorithms-Python-Michael-Goodrich/dp/1118290275/)
- Por Goodrich, Tamassia, Goldwasser
- Ame este libro. Cubre todo y más.
- Código Pythonioco
- Por Goodrich, Tamassia, Goldwasser.
- Amé este libro. Cubre todo y más.
- Código Pythonioco.
- Mi brillante reporte del libro : https://startupnextdoor.com/book-report-data-structures-and-algorithms-in-python/
### Libros Opcionales
**Algunas personas recomiendan estos pero creo exageran, a menos que tenga muchos años de experiencia en Ingeniería de Software y espere una entrevista mucho más difícil:**
**Algunas personas recomiendan estos, pero creo exageran. A menos que tenga muchos años de experiencia en Ingeniería de Software y espere una entrevista mucho más difícil:**
- [ ] [Algorithm Design Manual](http://www.amazon.com/Algorithm-Design-Manual-Steven-Skiena/dp/1849967202) (Skiena)
- Como un resumen y un reconocimiento de problemas
- Como un resumen y un reconocimiento de problemas.
- La porción del catálogo de algoritmos está más allá del alcance de la dificultad que obtendrá en una entrevista.
- Este libro consta de dos partes:
- Libro de clase sobre estrcutura de datos y algoritmos
- Pros:
- Es un buen resumen como cualquier libro de algoritmos debe ser
- Es un buen resumen como cualquier libro de algoritmos debe ser.
- Buenas historias de sus experiencias resolviendo problemas en la industria y en la academia
- Ejemplos codificados en C
- Ejemplos codificados en C.
- Cons:
- Puede ser así de denso o impenetrable como los CLRS, en algunos casos, los CLRS pueden proveer una mejor alternativa para algunos temas
- Capítulos 7, 8, 9 pueden ser un martirio intentar darles seguimiento, ya que no están bien explicados o requieren más cerebro del que tengo
- Puede ser así de denso o impenetrable como los CLRS, en algunos casos, los CLRS pueden proveer una mejor alternativa para algunos temas.
- Capítulos 7, 8, 9 pueden ser un martirio intentar darles seguimiento, ya que no están bien explicados o requieren más cerebro del que tengo.
- No me malentiendan: Me gusta Skiena, su estilo de enseñanza y manierismos, pero no puedo ser material de Stony Brook.
- Catálogo de algoritmos:
- Es la verdadera razón para comprar el libro.
- Actualizare esto, una vez haya pasado por este.
- Se puede rentar en Kindle
- Half.com es un gran recurso para libros de textos a buen precio.
- Se puede adquirir en Kindle
- Half.com es un gran recurso para libros de textos a buen precio.
- Respuestas:
- [Solutions](http://www.algorithm.cs.sunysb.edu/algowiki/index.php/The_Algorithms_Design_Manual_(Second_Edition))
- [Solutions](http://blog.panictank.net/category/algorithmndesignmanualsolutions/page/2/)
- [Errata](http://www3.cs.stonybrook.edu/~skiena/algorist/book/errata)
- [ ] [Introduction to Algorithms](https://www.amazon.com/Introduction-Algorithms-3rd-MIT-Press/dp/0262033844)
- **Importante:** Leer este libro tendrá un valor limitado. Este libro es un buen resumen de algoritmos y estructuras de datos, pero no le enseñará como escribir un buen código. Necesita ser capaz de codificar una solución decente eficientemente.
- **Importante:** Leer este libro tendrá un valor limitado. Este libro es un buen resumen de algoritmos y estructuras de datos, pero no le enseñará cómo escribir un buen código. Necesita ser capaz de codificar una solución decente eficientemente.
- Half.com es un buen recurso para libros a buenos precios.
- Aka CLR, a veces CLRS, porque Stein llego tarde al juego
- Aka CLR, a veces CLRS, porque Stein llego tarde al juego.
- [ ] [Programming Pearls](http://www.amazon.com/Programming-Pearls-2nd-Jon-Bentley/dp/0201657880)
- El primer par de capítulos presentan soluciones inteligentes a problemas de programación (algunos muy antiguos con cinta de datos) pero solo es una introducción. Esta es una guía sobre el diseño y la arquitectura del programa, como Code Complete, pero mucho más corto.
@ -439,7 +445,6 @@ Aquí algunos de mis errores para que pueda tener una mejor experiencia.
### 1. No recordará todo
Vi horas de video y tomé notas exactas de ellos, meses después había mucho que no recordaba. Pase tres días entre mis notas y haciendo tarjetas para poder repasar.
.
Lea por favor para que no cometa mis errores:
@ -458,9 +463,9 @@ Haga el suyo gratis:
- [My flash cards database (old - 1200 cards)](https://github.com/jwasham/computer-science-flash-cards/blob/main/cards-jwasham.db):
- [My flash cards database (new - 1800 cards)](https://github.com/jwasham/computer-science-flash-cards/blob/main/cards-jwasham-extreme.db):
Tenga en cuenta que empecé desde abajo y hay tarjetas que cubren todo, desde el lenguaje ensamblador y la trivia Python al Machine Learning y estadísticas. Es demasiado para lo que se requiere.
Tenga en cuenta que empecé desde abajo y hay tarjetas que cubren todo, desde el lenguaje ensamblador y la trivia Python, hasta el Machine Learning y estadísticas. Es demasiado para lo que se requiere.
**Nota en las tarjetas:** La primera vez reconozca sabe la respuesta, no marque como conocido; necesita contestar muchas veces correctamente antes de que en realidad lo sepa. La repetición pondrá ese conocimiento de forma más profunda en su cerebro.
**Nota en las tarjetas:** La primera vez que reconozca y sepa la respuesta, no marque como conocido; necesita contestar muchas veces correctamente antes de que en realidad lo sepa. La repetición pondrá ese conocimiento de forma más profunda en su cerebro.
Una alternativa a usar mi sitio de tarjetas es [Anki](http://ankisrs.net/), que me ha sido recomendado muchas veces. Usa un sistema de repetición para ayudarle a recordar. Es amigable con el usuario y disponible para todas las plataformas y tiene un sistema de sincronización en la nube. Cuesta $25 en iOS pero es gratuito en las otras plataformas.
@ -474,15 +479,15 @@ Tome un descanso de los problemas de programación por media hora y repase sus t
### 4. Enfóquese
Hay muchas distracciones le pueden quitar tiempo valioso. Enfocarse y concentrarse es difícil.
Hay muchas distracciones que le pueden quitar tiempo valioso. Enfocarse y concentrarse es difícil.
## Lo que no verá cubierto
Estas son tecnologías predominantes, pero no están cubiertas por este plan de estudios:
- SQL
- Javascript
- HTML, CSS, y otras tecnologías front-end
- SQL.
- Javascript.
- HTML, CSS, y otras tecnologías front-end.
## El plan diario
@ -491,20 +496,20 @@ Algunos temas tomarán un día y otros tomarán varios. Algunos son solo para ap
Cada día yo tomé un tema de los siguientes, vi videos sobre el tema y escribía una implementación:
- C - usando estructuras y funciones que toman una estructura * y otra cosa como argumentos.
- C++ - sin utilizar tipos incorporados
- C++ - usando tipos incorporados, como std::list de STL para una lista enlazada
- Python - usando tipos incorporados (para seguir practicando Python)
- y escribir pruebas para asegurarme de que lo estoy haciendo bien, a veces simplemente usando simples declaraciones assert()
- C++ - sin utilizar tipos incorporados.
- C++ - usando tipos incorporados, como std::list de STL para una lista enlazada.
- Python - usando tipos incorporados (para seguir practicando Python).
- y escribir pruebas para asegurarme de que lo estoy haciendo bien, a veces simplemente usando simples declaraciones assert().
- Puede hacer Java o algo más, esto es solo lo mío.
No necesita todo esto. Solo necesita [un lenguaje para la entrevista](#escoja-un-lenguaje-para-la-entrevista).
¿Por qué codificar en todo esto?
- Práctica, práctica, práctica… hasta que me canse de ello y pueda hacerlo sin ningún problema (algunos usan técnicas y marcadores para recordar)
- Trabajar dentro de las restricciones primarias (asignar / liberar memoria sin ayuda del garbage collection (excepto Python))
- Hacer uso de los tipos incorporados para que tenga experiencia usando las herramientas de tipos incorporados para su uso en el mundo real (no escribiré mi propia implementación de listas enlazadas en producción)
- Práctica, práctica, práctica… Hasta que me canse de ello y pueda hacerlo sin ningún problema (algunos usan técnicas y marcadores para recordar).
- Trabajar dentro de las restricciones primarias (asignar / liberar memoria sin ayuda del garbage collection (excepto Python)).
- Hacer uso de los tipos incorporados para que tenga experiencia usando las herramientas de tipos incorporados para su uso en el mundo real (no escribiré mi propia implementación de listas enlazadas en producción).
Puede que no tenga tiempo de hacer todo esto para cada tema, pero lo intentare.
Puede que no tenga tiempo de hacer todo esto para cada tema, pero lo intentaré.
Puede ver mi código aquí:
- [C](https://github.com/jwasham/practice-c)
@ -513,7 +518,7 @@ Puede ver mi código aquí:
No es necesario recordar las entrañas de cada algoritmo.
Escriba código en un pizarrón o en papel no en la computadora. Pruebe con alguna entrada de prueba. Después pruébelos en la computadora.
Escriba código en un pizarrón o en papel, no en la computadora. Pruebe con alguna entrada de prueba y después pruébelos en la computadora.
## Conocimientos Previos
@ -523,7 +528,7 @@ Escriba código en un pizarrón o en papel no en la computadora. Pruebe con algu
- Este es un libro corto, pero le dará un gran manejo en el lenguaje C y si lo practica un poco, rápidamente conseguirá ser experto. Comprender C le ayuda a entender cómo funcionan los programas y la memoria.
- [answers to questions](https://github.com/lekkas/c-algorithms)
- [ ] **Como las computadoras procesan un programa:**
- [ ] **Cómo las computadoras procesan un programa:**
- [ ] [How does CPU execute program (video)](https://www.youtube.com/watch?v=42KTvGYQYnA)
- [ ] [Machine Code Instructions (video)](https://www.youtube.com/watch?v=Mv2XQgpbTNE)