Informática para programadores


8

Soy un programador autodidacta y he estado codificando durante 8 años. Debido a esta experiencia, ya estoy muy familiarizado con los principios de programación (como sentencias if, clases, polimorfismo, etc.).

Sin embargo, nunca aprendí "informática", solo programación. ¿Cuáles son algunos buenos recursos para alguien en mi posición de autoaprendizaje de ciencias de la computación, es decir, recursos que se mueven a un ritmo rápido y asumen conocimientos básicos de programación?



Entonces has venido al lugar correcto.
SDsolar

Entonces has venido al lugar correcto.
SDsolar

Respuestas:


11

La informática es una disciplina multifacética, y los algoritmos y las estructuras de datos son una parte importante de ella. Puede probar cursos de video gratuitos, como Algorithms, Part 1, de la Universidad de Princeton , se está ejecutando en este momento.

Otro notable Algoritmo de video-curso gratuito : Diseño y Análisis, Parte 1, de Stanford ha terminado recientemente, con suerte se repetirá en el futuro. La parte 2 de este curso comenzará este lunes.


OKAY. Hice algunas búsquedas en Internet y parece que una clase de algoritmos generales es exactamente lo que estoy buscando.
Shivam Sarodia

9

Bueno, esta es mi primera respuesta aquí y, además, tengo menos experiencia que tú. Por lo tanto, considérelo una respuesta de novato, que puede ser irrelevante para usted u otros. ¡Pero intentaré preservar el valor de las preguntas con mi respuesta!

Bueno, antes que nada discutamos (solo describamos) el dominio de la informática, o el ciclo de vida de uno involucrado en el aprendizaje de CS. Probablemente, podría estar perdiendo algunos de ellos. Además, puede haber ambigüedad sobre su posicionamiento. Pero, va como: -

  1. Fundamentos informáticos (funcionamiento general de las computadoras) e introducción a las computadoras
  2. Lenguaje de programación y su uso para resolver problemas de la vida real usando la ayuda de computadoras
  3. Variaciones del lenguaje de programación (funcional, orientado a objetos, de procedimiento) y sus diferentes principios.
  4. Estructuras de datos y algoritmos // una de las partes más importantes y la columna vertebral de CS
  5. Fundamentos de los sistemas informáticos --- Matemáticas discretas, una parte de la electrónica digital
  6. Ingeniería de software // nuevamente una de las partes más importantes y la columna vertebral de CS
  7. Sistema operativo --- mi asignatura favorita en la rama CS, y también la rama principal más importante de CS, toda CS se ejecuta en esto, al menos. Necesitas una máquina para ejecutar cosas, incluso basándose en el modelado
  8. Arquitectura de computadoras --- nuevamente es uno de los temas importantes para conocer el funcionamiento básico del funcionamiento de las computadoras
  9. ¡Las bases de datos merecen cada reconocimiento! Excelente descubrimiento.
  10. Redes de computadoras --- una sección muy hermosa de CS que está relacionada con las redes (conexiones de la vida real)
  11. Teoría de la computación, autómatas, compiladores: mi segunda asignatura favorita, todo en una sección que describe los cambios de estado y la formación y el funcionamiento del lenguaje.
  12. Minería de datos y aprendizaje automático: el campo más avanzado de la informática hoy en día y, de hecho, uno de los más informativos
  13. Inteligencia artificial y redes neuronales y lógica difusa --- sin decir nada, la mejor simulación de la vida real

Ahora, volviendo a la pregunta. Creo que debe dar a cada sección la oportunidad de profundizar e intentar encontrar su campo de interés. A una persona le toma unos años decidir qué campo es el más adecuado para él / ella.

¡No debe saltar directamente a ningún campo que involucre solo la sección de programación! Los lenguajes de programación no son "eso" por lo que se enmarcan, la parte más importante es el modelado básico, el funcionamiento y la generación de ideas y nuevas teorías que mejoran el campo de CS. Entonces, según yo, debes probar cada campo a la vez, ¡decir durante una semana y verás que realmente te atraen más! ¡Esto primero te dará el tema para llevar!

Ahora, ingrese a los recursos en línea. Hay mucho que ver. Encontrará hoy en día muchos tutoriales, videos y conferencias disponibles en Internet. Pero los más buscados con una obra maestra brillante son: -

  1. www.coursera.org
  2. www.nptel.ac.in
  3. www.khanacademy.org

y así.

Intente utilizar estos más frecuentes para aprender conceptos básicos de CS. Además de estos, siempre tiene los motores de búsqueda a un clic de distancia para ayudarlo a proporcionar el tema con el que enfrenta dificultades.


2

Como programador, se supone que debes saber lo siguiente según la informática básica:

  1. Principios básicos de programación
  2. Estructuras de datos
  3. Metodología de Ingeniería de Software
  4. Diferentes técnicas de programación (depende del algoritmo)
  5. Conocimientos básicos de prueba del código

Puede obtener estos cursos a través de MOOC .

Coursera ofrece diferentes cursos con buenos recursos, si lo desea puede inscribirse allí.


Parece que tienes la pregunta al revés. No se pregunta qué aspectos de la informática son relevantes para los programadores; se pregunta dónde puede encontrar un programador recursos para aprender sobre informática.
David Richerby

-1

Otros cursos que estudié (y creo que son importantes):

  1. Patrones de diseño (como Singleton, Facade, Factory .etc)
  2. Estructuras discretas

La complejidad asintótica también es un tema muy importante en CS. Recomendaría "Introducción a los algoritmos" como un buen libro de referencia para Estructura de datos y Algoritmos. Luego puede practicar en el Proyecto Euler . Aparte de eso, MIT tiene cursos MIT Open CourseWare en YouTube. Encuentro sus cursos de estructura de datos muy útiles.

Otra cosa que puedo sugerir es también revisar el libro de cursos de CS de cualquier universidad para obtener los temas y ver cuál es de su interés, y estudiarlos.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.