¿Qué se puede aprender fácilmente en una semana, lo que está relacionado con el campo de la informática? Y por favor mencione las fuentes también.

Asumo alguna experiencia previa en programación.

  1. Construyendo un lenguaje interpretado simple: en un día o dos, puedes aprender herramientas como flex, bison y construir una calculadora. Aprenda la construcción de árboles de sintaxis abstracta (no son tan aterradores como suenan), mantenga tablas de símbolos y escriba un intérprete. Puede ir más allá y admitir llamadas a procedimientos, implementar un alcance léxico.

    Esto le enseña mucho sobre cómo funcionan las cosas dentro de un intérprete y también le da una idea acerca de los compiladores. De hecho, esta es la tarea de la semana II en el Curso de Lenguajes de Programación, Parte B. La tarea es escribir un intérprete dado un árbol de sintaxis abstracta. Tiene que soportar funciones de orden superior también. No, no es tan aterrador como suena.

    Otra fuente para aprender a construir intérpretes es “Estructura e interpretación de programas de computadora” y, más específicamente, consulte el Capítulo 4. Lea “evaluador metacircular”.

  2. Aprender Ruby on Rails o Sinatra / Desarrollo web: puede aprender y crear un sitio simple e implementarlo en Heroku. Este marco hace tu vida mucho más fácil. Pero mucho de esto parece magia negra al principio. Mantenlo para otro día. Aquí hay un buen tutorial: Ruby on Rails Tutorial (Rails 5).

    También puede aprender los conceptos básicos de JavaScript, HTML, CSS en una semana. Construye algunas páginas bonitas usando Bootstrap. Posteriormente podrás utilizarlo para mostrar tus proyectos. 🙂

  3. Aprende la teoría de grafos básica y algunos algoritmos: Obtén una intuición de la teoría de grafos para comenzar. Es posible que se pierda en las definiciones si comienza con libros orientados a las matemáticas. Aprenda algoritmos básicos como DFS, BFS, MST, Rutas más cortas, Ordenamiento topológico, SCC (aplicaciones de DFS). Apréndelo intuitivamente.
  4. Aprenda los conceptos básicos del aprendizaje automático: puede captar los conceptos involucrados en Regresión lineal y logística, agrupación, detección de anomalías, etc. con bastante rapidez. Pero necesitas aplicarlo para tener una idea de ello. Puedes ver el curso de Andrew Ng en Coursera.

Todo está en la web en este momento, así que ¿por qué no empezar a conocer la web y cómo funciona? El tiempo es de una semana, comencemos de la siguiente manera:

  • Verbos HTTP. GET y POST son conocidos por todos, ¿qué hay de los códigos PUT, OPTIONS y DELETE & status como 404, 500?
  • Enlace: HTTP: el protocolo que todo desarrollador web debe saber
  • APIs de REST? Sí, es necesario, puedes encontrarlo una vez en tu vida.
    Leer aquí :
    • Una guía para principiantes de HTTP y REST
  • Ahora, ¿qué diablos es una API? Casi todo es una API, un conjunto o reglas y funciones.
    • La cáscara de nuez: una guía para principiantes de APIs

    Dirígete a mi perfil de Github para más información: ashokdey (Ashok Dey)

    Aprendidas, y no dominadas ¿verdad?

    Web Scraping: dado que sabe cómo programar, llevará un máximo de un día para aprender web scraping.
    Fuentes: Revise las páginas de documentación para ver si hay una sopa hermosa y un poco desechable. Para ver un ejemplo, puede consultar este repositorio djokester / scrapingZIPCodeDemographics. Hay dos scripts de python . Uno de ellos elimina los datos del sitio web. Códigos postales de EE. UU . : Mapa de código postal gratuito y búsqueda de código postal para el estado de California. El otro está destinado a compilar los datos en un solo archivo CSV,

    Diseño de páginas web: lo que la mayoría de nosotros hacemos es tratar de memorizar todas las etiquetas y sus propiedades CSS. Lo cual es completamente innecesario. Debería tomar un día o dos para obtener un control sobre HTML / CSS y dos días más para obtener un control de BootStrap / Materialise. Trabajar en JavaScript después de eso.
    Fuentes: W3Schools Online Web Tutorials . Nada puede vencer eso.

    Los conceptos básicos de la PNL: Puede aprender qué son Corpus, sinte, hipónimos, WordNets, TreeMaps y sus usos. Será más teórico que práctico. Pero la PNL puede actuar como una buena introducción al aprendizaje automático. Dale otra semana, intenta construir una herramienta de análisis de sentimientos. Aprenderás unigrams, bigrams, engrams, etc. junto con algunas técnicas de ML.
    S ource: NLTK Book

    Técnicas de regresión: El concepto de regresión es bastante simple de entender. Una semana es suficiente para aprender los diferentes tipos y aplicarlos.
    Frases: Andrew NG Stanford Machine Learning Course
    Curso de Aprendizaje de Máquina Caltech Yaseer Abu-Mostafa.

    Gestión de base de datos: es un concepto bastante simple si su Teoría de conjuntos está bien repasada. Muchos idiomas para aprender.
    Fuente: El libro de Sumita Arora (es realmente bueno). Lo aprendí de allí y luego seguí adelante.

    Eso es todo lo que puedo decir de mi experiencia limitada.

    Estas son algunas de las cosas que aprendí en una semana o menos:

    1. DSA básico: pilas, colas, listas vinculadas, matrices dispersas, notaciones asintóticas, búsqueda y clasificación, etc. (suponiendo que se pueda programar en al menos un idioma)
      mycodeschool
      Robert Sedgewick, Kevin Wayne: Amazon.es
      Algoritmos – Universidad de Stanford | Coursera
    2. Biblioteca de plantillas estándar (STL):
      Biblioteca estándar de C ++
    3. Desguace web con Python (suponiendo que conozca Python):
      Web Scraping con Python
      Automatiza las cosas aburridas con Python
    4. HTML y CSS de nivel principiante:
      Head First HTML con CSS y XHTML
      HTML y CSS
    5. Comandos básicos de Linux y shell scripting:
      Tutorial de línea de comandos de Linux para principiantes
      Sumitabha Das: Libros

    Estos son lo mejor de mi mente en este momento. Voy a actualizar como recuerdo más.

    CAP theoram, toneladas de sitios web. NoSQLs se construyen alrededor de este concepto

    Programación dinámica.

    Dada una semana y una exposición previa a los conceptos básicos de los algoritmos, puede elegir esta estrategia de diseño de algoritmos increíblemente útil y hermosa.