Por lo general, le digo a la gente que comience con JavaScript, pero voy a romper con eso aquí. En cambio, haré que comiences con C #.
Por qué: porque C # es un lenguaje poderoso con el que puedes hacer mucho, desde el desarrollo web hasta el desarrollo de juegos y casi todo lo demás. También es un lenguaje orientado a objetos clásico, y la programación orientada a objetos es algo muy importante para aprender.
Por lo tanto, puede comenzar descargando Visual Studio 2013 Community Edition, que es completo y gratuito. Además, posiblemente el mejor IDE del mundo.
A continuación, tome una copia de Pro C # 5.0 y .Net 4.5 Framework. Puede obtener una copia aquí: Pro C # 5.0 y .NET 4.5 Framework (Expert’s Voice en .NET): Andrew Troelsen: 9781430242338: Amazon.com: Libros
- ¿Qué libros debo leer y practicar para IOI (Java)? ¿Y cuál es el procedimiento si soy de la India?
- Soy un novato en programación. Sigo escuchando sobre Introducción a los algoritmos, ¿debería leerlo?
- ¿Cómo son las bibliotecas en China?
- ¿Cuáles son algunos buenos libros que explican el proceso de desarrollo de software?
- ¿Cuál es el mejor libro para aprender PHP para principiantes?
Ese es un tomo de 1500 páginas que probablemente tomará meses para trabajar. No olvide detenerse con frecuencia para crear proyectos propios, además de crear los tutoriales incluidos. Los tutoriales por sí solos no te enseñarán a codificar, también debes crear tus propias cosas.
Después de eso, ve y echa un vistazo a Head First Design Patterns para una introducción al diseño del programa: Head First Design Patterns: Eric Freeman, Bert Bates, Kathy Sierra, Elisabeth Robson: 9780596007126: Amazon.com: Libros
Ya estás en camino, pero necesitarás aprender algo de diseño de algoritmos. Pruebe este: Manual de diseño del algoritmo: Steven S Skiena: 9781848000698: Amazon.com: Libros
Ahora, la desventaja de los patrones de diseño y los libros de algoritmos es que ambos están escritos para Java. Eso está bien, y C # y Java son en realidad muy similares. Podrías intentar usar solo Java para todo esto, pero no conozco un libro de Java tan bueno como Pro C # (eso no quiere decir que no haya ninguno) y probablemente sea bueno aprender un par de idiomas de todos modos.