Saltar al contenido

Aprende Computación Básica para Todas las Edades [ Fácil y Rápido ]

14 mayo, 2019

Hay dos tipos de ingenieros de software: aquellos que entienden la ciencia de la computación lo suficientemente bien como para realizar un trabajo desafiante e innovador y aquellos que simplemente se las arreglan porque están familiarizados con algunas herramientas de alto nivel.

Ambos se llaman a sí mismos ingenieros de software y ambos tienden a ganar salarios similares en sus primeras carreras.

Pero los ingenieros de Tipo 1 se convierten en trabajo más satisfactorio y mejor remunerado a lo largo del tiempo.

Ya sea trabajo comercial valioso o proyectos innovadores de código abierto, liderazgo técnico o contribuciones individuales de alta calidad.

Programación

La mayoría de los programas de CS de pre-grado comienzan con una “introducción” a la programación de computadoras.

Las mejores versiones de estos cursos se dirigen no solo a los principiantes, sino también a aquellos que se perdieron conceptos y modelos de programación beneficiosos mientras aprendían a codificar.

Arquitectura de la Computadora

La arquitectura de la computadora, a veces llamada “sistemas de computadora” u “organización de la computadora”, es un primer vistazo importante a la computación debajo de la superficie del software. En nuestra experiencia, es el área más descuidada entre los ingenieros de software autodidactas.

Algoritmos y Estructuras de Datos

Estamos de acuerdo con décadas de sabiduría común en que la familiaridad con los algoritmos y las estructuras de datos comunes es uno de los aspectos de más empoderamiento de la educación en informática.

Este es también un gran lugar para entrenar las habilidades generales de resolución de problemas, que se verán recompensadas en cualquier otra área de estudio.

Matemáticas para Ciencias de la Computación

El área más relevante de las matemáticas para CS se denomina ampliamente “matemáticas discretas”, donde “discreta” es lo opuesto a “continua” y es una colección de temas interesantes de matemática aplicada fuera del cálculo.

Dada la vaga definición, no tiene sentido tratar de abarcar toda la amplitud de las “matemáticas discretas”. Un objetivo más realista es construir una comprensión funcional de la lógica.

La combinatoria y la probabilidad, la teoría de conjuntos, la teoría de grafos y un poco de la teoría numérica que informa la criptografía.

El álgebra lineal es un área de estudio adicional que vale la pena, dada su importancia en gráficos de computadora y aprendizaje automático.

Sistemas Operativos

Una excelente manera de consolidar su comprensión de los sistemas operativos es leer el código de un kernel pequeño y agregar características.

Una gran opción es xv6, un puerto de Unix V6 a ANSI C y x86 mantenido para un curso en MIT. OSTEP tiene un apéndice de laboratorios de xv6 potenciales llenos de grandes ideas para proyectos potenciales.

Redes de Computadoras

El estudio de las redes se beneficia más de los proyectos que de los pequeños ejercicios. Algunos proyectos posibles son: un servidor HTTP.

Una aplicación de chat basada en UDP, una pila mini TCP, un proxy o un equilibrador de carga y una tabla hash distribuida.

Bases de Datos

Es difícil consolidar la teoría de las bases de datos sin escribir una buena cantidad de código. Los estudiantes de CS 186 agregan funciones a Spark, que es un proyecto razonable, pero sugerimos simplemente escribir un sistema de administración de base de datos relacional simple desde cero.

No será rico en características, por supuesto, pero incluso escribir la versión más rudimentaria de cada aspecto de un RDBMS típico será esclarecedor.

Lenguajes y Compiladores

La mayoría de los programadores aprenden idiomas, mientras que la mayoría de los científicos informáticos aprenden sobre los idiomas.

Esto le da al científico informático una clara ventaja sobre el programador, incluso en el dominio de la programación su conocimiento se generaliza.

Siendo capaces de comprender el funcionamiento de un nuevo idioma de manera más profunda y rápida que aquellos que simplemente han aprendido idiomas específicos.

Aprende Computación Básica para Todas las Edades [ Fácil y Rápido ]
5 (100%) 1 vote[s]