Pregunta
He estado escribiendo PHP, Ruby, ColdFusion y javascript (no es un idioma, lo sé), durante varios años.
Pero realmente quiero entrar más en el mundo de la informática y escribir en lenguajes de nivel inferior.
¿Cuáles son algunos buenos recursos para comenzar? Parece que todos los libros que he recibido han sido extremadamente elementales, y eso no ayuda en absoluto. Necesito algo que omita lo básico.
Solución
Mirando a través de esta lista, los siguientes parecen que tocan algunos de los temas centrales de CS:
6.001 Structure and Interpretation of Computer Programs Spring 2005
6.006 Introduction to Algorithms Spring 2008
6.033 Computer System Engineering (SMA 5501) Spring 2005
6.042J Mathematics for Computer Science Fall 2005
Otros consejos
Una educación en CS comenzaría con algo como SICP (Estructura e interpretación de programas de computadora), disponible en línea de forma gratuita.
Lo más fácil que creo es encontrar el sitio web de una universidad local, encontrar el plan de estudios del curso para obtener un título de CS y ver qué libros de texto se requieren para esos cursos. Muchas veces, puede encontrar una versión en línea gratuita.
Para ciencias de la computación, recomendaría comenzar con matemáticas discretas. Un buen libro es el Rosen book , que utiliza mi universidad. Desde allí, puede pasar a Matemáticas concretas , Introducción a los algoritmos , y Introducción a la teoría de la computación . No puedo hablar mucho sobre Introducción a los algoritmos, todavía está en mi lista de deseos. Pero los otros dos son muy buenos. Eso debería cubrir los conceptos básicos de la informática.
Desde allí, puedes bajar por cualquier ruta. Algunos campos importantes en la ciencia de la computación son la teoría de la computación (lógica, teoría de autómatas), teoría de la computación (teoría de la computabilidad y complejidad), algoritmos y estructuras de datos, arquitecturas de computadora (procesamiento en paralelo), sistemas operativos, redes de computadoras, gráficos, visión, bases de datos. , AI ... Tendría que decidir qué es lo que más le interesa e investigar ese tema en particular con mayor profundidad.
Estas publicaciones de blog son realmente útiles
- Más en mi currículo ideal de CS
- ¿Una mejor licenciatura en CS?
Si te encanta aprender nuevos idiomas y quieres mojarte las manos.
Sugiero Haskell o F #.
La programación funcional es material informático avanzado y " diversión " ;.
Recomiendo altamente Algoritmos y Matemáticas discretas . Y hay mucho más en ciencias de la computación que solo eso, por ejemplo, inteligencia artificial, minería de datos, geometría computacional, computación distribuida, etc.