¿Cuál es la mejor manera de estudiar la informática por ti mismo?

¿Quién dijo que algo no es posible?

Ignora cada respuesta negativa y lee esto.

Conozca a Scott H Young, quien con su arduo trabajo, dedicación y (agregue tantos adjetivos como pueda) hizo algo que es enorme en sí mismo. Usando el poder de los MOOC disponibles en línea en el sitio web de cursos abiertos de MIT, completó el curso completo de 4 años de informática del MIT en solo doce meses.


Sobre la iniciativa MIT opencoursewate:

Open Courseware es un proyecto sumamente ambicioso para hacer todos los materiales del curso del MIT, incluidos el programa de estudios, las listas de lectura, las conferencias (o al menos las notas de las clases), las tareas y los exámenes, disponibles en línea de forma gratuita. Por lo tanto, un estudiante interesado en “tomar” un curso MIT sin estar inscrito en MIT puede tener acceso al mismo material de instrucción (y, si así lo desean, pasar por las mismas tareas y exámenes) que un estudiante inscrito en la famosa universidad.

Scott decidió usar este contenido como su principal fuente de aprendizaje, recurriendo a libros de texto y lecturas asignados, notas de cursos y otros materiales para aprender cuatro años de informática en el MIT en doce meses.

Tuvo que establecer su propio conjunto de reglas para completar una clase, lo que implicaba aprobar el examen final del curso bajo las mismas restricciones de tiempo que el estudiante real del MIT inscrito en la misma clase. Y debido a que muchos de sus cursos eran de informática, también decidió agregar la finalización de las tareas de programación asociadas con estas clases a su pesada carga de trabajo de un año.

Scott Young demuestra hasta dónde puede impulsar su propio aprendizaje cuando combina (1) auto motivación y unidad; (2) la disponibilidad de recursos de aprendizaje gratuitos de alta calidad; y (3) un interés en el aprendizaje frente a la credencialización.

Su experiencia también ayuda a convertir en una de las críticas más frecuentes de alternativas a la universidad tradicional.

Scott tuvo que elegir entre las carreras de Negocios y Ciencias de la Computación cuando asistió por primera vez a la universidad en Canadá y tomó la decisión de obtener un título en Negocios.

También aprendió la informática por sí mismo de principio a fin.

Si él puede hacerlo, tú también puedes.

Visite su sitio web: Scott H Young – Blog y comience su misión hacia el éxito.

Hay algunas opciones:

a) Aprender scripts web. Para un principiante, esta es una forma tan buena como cualquier otra de cavar sin complicarse demasiado y ser capaz de lograr resultados tangibles en un período de tiempo relativamente corto. El scripting web es la programación de páginas web. Hay HTML, que forma el esqueleto de las páginas web, CSS que se adapta a la estética, y JavaScript, que hace que la página web sea interactiva. Es una gran introducción ya que HTML y CSS son bastante simples, son un gran trampolín; luego, a través de JavaScript, comenzaría a conocer algunos de los conceptos de programación ‘reales’, como funciones, bucles, etc. Si este es un camino que desea tomar, le recomendaría mucho a Codeacademy (Aprenda a codificar). Después de obtener una base decente en los scripts web, puede pasar a los recursos de la opción b.

b) Si lo desea, puede sumergirse directamente en la programación “real”. Las secuencias de comandos web se considerarían mucho más “de alto nivel” ya que es más fácil de aprender, se basa en gran medida en el idioma inglés y no tiene mucha complejidad. Cuando me refiero a la programación de nivel inferior, me refiero a los lenguajes más complejos que realmente se usan para codificar aplicaciones y demás. Este es el camino para aprender los conceptos fundamentales y fundamentales de la informática.

Para esto, el mejor lugar para comenzar es con Python. Tanto Java como C ++ son extremadamente difíciles de avanzar sin una base en la programación. Python es un lenguaje muy popular en gran parte porque no es demasiado difícil de aprender, pero aún pertenece a la familia “orientada a objetos”. Es, con mucho, el mejor lenguaje para comenzar en informática.

Así que para hacer esto, sugeriría ALTAMENTE el libro ‘Learn Python the Hard Way’ de Zed Shaw. Este libro no solo te enseñará Python (muy bien) sino que te dará una base excelente en los conceptos fundamentales y la lógica de la informática. Puedes comprarlo por 3 dólares y obtener el libro + videos instructivos en su sitio web (Learn Python) o puedes acceder al libro (sin los videos) gratis (Learn Python The Hard Way).

Una vez que haya completado el libro, tendrá una base sólida en los conceptos básicos de la programación; entonces te aconsejaría que vayas a Udemy (Udemy: Cursos en línea en cualquier momento y en cualquier lugar) donde hay muchos cursos en línea para profesionales. Elija un buen curso de Python intermedio de buena reputación y comience a aprender algunos de los conceptos más avanzados (por ejemplo, este: Curso de Python en línea para intermedios: Python the Next Level – Udemy). Para un grupo de ellos, como el que he vinculado, tendrás que pagar, pero también hay muchos buenos gratuitos. ASEGÚRESE de que el curso esté a su nivel y no omita conceptos como la recursión que no están cubiertos en Learn Python the Hard Way. Para los gratuitos, a menudo se puede elegir un curso para principiantes, usarlo para cubrir cualquier concepto que no esté en Learn Python the Hard Way, y luego pasar a un curso más avanzado

Aquí hay una lista de algunos de los conceptos más básicos que debe asegurarse de conocer en Python antes de intentar pasar a otros idiomas más complejos:

-impresión

-variables

-instrumentos de cuerda

-Booleanos / declaraciones lógicas

-if / else sentencias

-loops

-funciones

-recursion (saber esto muy bien)

-objetos / clases

Después de eso, si lo desea, intente encontrar un curso de udemy que cubra algunas de las estructuras de datos avanzadas, como nodos, gráficos y árboles binarios. Ahí es donde se volverá menos acerca de la programación / sintaxis, y más sobre los conceptos de informática. De lo contrario, hay un montón de otros caminos intermedios para tomar.


Sin embargo, sobre todo, si va a aprender ciencias de la computación, TIENE QUE estar comprometido, especialmente para la autoaprendizaje. Fíjese metas: haga una lección al día, trate de haber completado cierto concepto en una fecha determinada. Una vez que haya ejecutado algunos de los recursos anteriores, asigne tareas y empiece a tratar de completar proyectos por su cuenta. Si se encuentra con un código con el que no está familiarizado o con un error que lo está frustrando, vaya a desbordamiento de pila (Desbordamiento de pila) y obtenga ayuda para resolverlo.

¡Buena suerte!

Si realmente quiere decir aprender informática, en lugar de solo aprender a programar computadoras, se aplica el siguiente servicio:

Si sus habilidades matemáticas no son tan fuertes, tome un libro sobre precálculo y trabaje a través de él. Luego haz lo mismo con las matemáticas discretas, a menos que ya hayas tomado matemáticas discretas.

Al mismo tiempo que estudias matemáticas discretas, aprendería a programar en un lenguaje que requiera la gestión manual de la memoria como C, Pascal, C ++. No está haciendo esto porque en realidad es probable que use estos lenguajes para desarrollar aplicaciones, sino porque aprenderá todo sobre los punteros.

A continuación, tomaría un libro de cursos sobre arquitectura y organización de computadoras y aprendería todo sobre cómo funciona el hardware: chanclas, puertas lógicas, códigos Hamming, complementos completos, medios, etc.

Cuando tiene un lenguaje, matemáticas y hardware inactivos, es hora de pasar a un libro de algoritmos y estructuras de datos y trabajar con eso.

Cuando haya terminado con eso, tendrá lo básico, por lo que probablemente estudiaría un lenguaje que se usa ampliamente para el desarrollo de aplicaciones como C # o Java. Al mismo tiempo estudiaba el diseño orientado a objetos y los patrones de diseño.

No lo hagas

Está bien comenzar la programación, si puede, a través de libros y MOOCs y Stack Overflow. Una vez que llegue al punto en el que sabe un poco, comience a contribuir con proyectos de código abierto. No necesita saber mucho para aislar, documentar y, potencialmente, corregir errores. Necesita entrada. Nadie se convierte en un gran escritor leyendo libros; eso es parte de eso, pero necesitas retroalimentación.

Sin embargo, esto es programación, y la informática abarca la programación, pero hay mucho, mucho más. Si puedes ir a la escuela, genial, pero si no, encuentra otras formas de interactuar, a través de la web, los hackerspaces, los grupos de usuarios … la idea de la Buena Voluntad de Caza no funciona. La gente necesita comentarios, opiniones, críticas y diálogos.

¡Buena suerte!

Con respecto a la informática, puedes aprender mucho simplemente estudiando en la web. La mayoría de los científicos informáticos utilizan la web como una herramienta de estudio como sublimación de las conferencias. Esto es especialmente cierto para la programación. TODOS los científicos informáticos usan la web para aprender más sobre programación y cualquiera puede aprender programación sin ir a la escuela. Dicho esto, la informática no se trata de la programación. Todo es solución de problemas, matemáticas pesadas, lógica pesada, infierno, dependiendo del trabajo que debas saber sobre biología, economía, etc. La programación es lo fácil y es lo que más se asocia con un científico informático, pero realmente solo araña la superficie.

Escribir, ejecutar, depurar, repetir. Y te vas a sobresalir.