¿Qué le dirías a alguien que está considerando especializarse en informática en la universidad?

No lo hagas

Si ya eres un programador aficionado, sigue aprendiendo cosas nuevas y usa los años de pregrado para temas que no se prestan a la autoaprendizaje. Creo que el teatro es la mejor opción, pero la filosofía, el periodismo, la historia del arte, la ciencia política, básicamente, cualquier cosa fuera de los temas estándar de STEM le proporcionará muchas habilidades que los estudiantes de informática no tendrán: las habilidades para pensar críticamente, escribe bien, habla persuasivamente y lee con eficacia.

Luego ve a hacer una maestría en informática. Llegará a la programación desde una perspectiva muy diferente, y será un experto en dominios en otro campo que no sea CS (lo que significa que es una de las pocas personas con capacitación en informática que sabe cuáles son los problemas que necesita para ser resuelto).

En lugar de ser un programador, te estás configurando como alguien que puede identificar y resolver problemas, a veces usando la programación, pero a veces usando las otras habilidades que has desarrollado. Esa es una posición mucho más nebulosa, y no está idealizada en los medios de comunicación, pero es mucho más interesante (y lucrativo) que la programación.

Le daría totalmente el consejo opuesto a Barry Rountree: especialización en CS y especialización . Especializate mucho . Estudie algún subcampo de CS mucho más allá de sus clases, idealmente con una porción de matemáticas abstractas.

Trabaja con un profesor de CS. Participe en la investigación. Leer documentos de CS. Impleméntelos. Da charlas al respecto. Escriba publicaciones en el blog, tal vez incluso publique un artículo. La investigación de pregrado en CS fue la cosa más valiosa que hice en la escuela, por algún margen.

No tendrá ningún problema con el pensamiento crítico desde esa base.

Una inmersión profunda en CS te enseñará a pensar de una manera particular, hermosa y clara, un tipo único de razonamiento tristemente descuidado en la mayoría de los campos fuera de las matemáticas. Y, sin embargo, CS es, en muchos sentidos, más amplio que las matemáticas: también abordará problemas de ingeniería y problemas de diseño e incluso problemas empíricos. CS ofrece una amplia variedad de formas sistemáticas de pensar sobre el mundo.

Persiga otros intereses, sin duda, pero a menos que sea un genio raro, solo puede cultivar profundidad real en un solo tema como máximo. Haga de ese tema un subcampo de CS. Estoy seguro de que valdrá la pena en más de un sentido, más seguro de lo que estaría en los subcampos de casi cualquier otro tema. Absolutamente valdrá la pena más que la amplitud sin profundidad.

Podrá recoger el conocimiento del dominio más adelante. Acabo de comenzar un trabajo trabajando en la optimización de la cadena de suministro. ¿Sabes cuántas clases de investigación de operaciones tomé? Ninguna. Lo más cercano fue probablemente una clase de IA¹.

Pero eso no es un problema. Puedo leer un libro sobre teoría de la cadena de suministro y reificar cuidadosamente esas ideas en código. Los convierto en abstracciones sobre las que puedo razonar y manipular mediante programación, y eso es inmediatamente valioso. Con un poco de tiempo de aceleración no solo puedo atacar el problema directamente sino también crear herramientas que hagan que los expertos en dominios existentes sean más efectivos. ¿Todo lo que? Totalmente gracias a la informática.

Soy una persona de lenguajes de programación. Supongo que soy parcial. Pero hay un enfoque de lenguaje de programación útil para todo . Es la “efectividad irrazonable de las matemáticas” pero ejecutable . Puede lanzar un matemático a cualquier problema y obtener algo interesante si es paciente; lo mismo es cierto para PL. Como beneficio adicional, sabe que lo interesante será un lenguaje de programación, junto con algunas herramientas, que otras personas puedan utilizar de manera productiva.

Ahora, por mucho que me guste PL (¡que es mucho!), No necesariamente creo que ese sea el subcampo en el que nos especializamos. Pero creo que algún subcampo de CS es una gran elección, respaldada por una amplia base de otras CS y matemáticas.

notas al pie
¹ Lo más probable es que esté más cerca de lo que piensas. En lo que estamos trabajando es realmente similar a, por ejemplo, la planificación de movimiento para un robot: el robot es solo una tienda Target, y sus empleados llevan a cabo el “plan de movimiento”.

A2A. No diría nada hasta que los estudiantes decidan.

La informática es una de las principales más conocidas en el sentido de que el plan de estudios de pregrado está bastante estandarizado. Requiere una sólida formación matemática y de programación, por lo que si no tiene talento en ambos, probablemente no sea una buena especialización.

Puede tener una idea de esta especialidad mirando Cómo obtener un equivalente de un CS menor utilizando MOOCs, particularmente los cursos de división superior. He creado un autoestudio para los cursos de la Fundación MSCS de Stanford que lo lleva desde los cursos iniciales hasta los cursos de la división superior.

En respuesta a su pregunta, uno de los aspectos más importantes de la universidad es obtener suficiente información para tomar una decisión. La información de los futuros estudiantes se puede encontrar en los sitios web de las universidades.

Por ejemplo, Cal Poly San Luis Obispo tiene una excelente página web para futuros estudiantes, ver Cal Poly, posible estudiante de San Luis Obispo. Encontrará en esa página las 10 razones principales para especializarse en informática, ¿por qué estudiar informática o ingeniería de software? Y Ciencias de la Computación, Ingeniería de Software, Ingeniería de Computación: ¿Cuál es la diferencia?

Otro ejemplo es la informática de la Universidad de Toronto que tiene una excelente sección de introducción sobre qué es la informática y sus diversas opciones, consulte el Calendario 2016-2017 – Informática.

En pocas palabras: no diría nada porque creo que si los estudiantes son lo suficientemente mayores como para declarar una especialización, entonces son lo suficientemente mayores como para encontrar información para tomar su decisión. He señalado varios sitios web para encontrar información sobre las principales ciencias de la computación. Recomiendo que los estudiantes miren la sección de estudiantes potenciales que se encuentra en los sitios web de las universidades que tienen la intención de aplicar.

Recomiendo encarecidamente la informática como especialidad.

Si miras nuestra breve historia humana, la tecnología ha transformado por completo la forma en que vivimos. No había teléfonos inteligentes, computadoras portátiles (o incluso PC) o Internet (sí, Google, Quora, Facebook, WhatsApp o Snapchat) a principios de los 90, ya que la tecnología aún se estaba desarrollando. En el corto lapso de dos décadas, estas cosas se han convertido en una parte integral de nuestras vidas.

En este momento, se están desarrollando nuevas tecnologías (como Smart Watches, Realidad virtual, Realidad aumentada, Internet de las cosas) que se basan en los desarrollos en hardware y teoría que tuvieron lugar en las últimas décadas. Es solo cuestión de tiempo antes de que estas cosas se conviertan en una parte integral de nuestras vidas.

Otra gran tendencia que ha surgido en los últimos años es la de la automatización. El trabajo repetitivo ya se ha automatizado y la cantidad de trabajo humano requerido ha disminuido drásticamente en las últimas décadas. Pero ahora, también estamos viendo la automatización en roles que se consideraron más ‘creativos’ e ‘intelectuales’ como médicos, abogados, músicos, etc.

Trabajar a la vanguardia de la tecnología requiere una comprensión profunda de cómo funcionan las máquinas y el software, y Computer Science ayuda a crear esa base sólida sobre la cual puede comenzar a contribuir a los últimos avances que están sucediendo en este campo. Entonces, sube si te sientes emocionado por eso 🙂

Sea muy claro sobre por qué lo está considerando antes de tomar la decisión. Y también sea muy claro sobre lo que significa “informática” en los programas que está viendo.

Si está pensando en ello porque hace “calor” o por dinero, no lo haga.

Si lo está haciendo porque está interesado en aplicar computadoras a los problemas, es probable que desee especializarse en algo que enfatice la Ingeniería de Software (tal vez sea Ciencias de la Computación en una escuela, Ingeniería de Computadores en otra, Tecnología de la Información en otra, Ingeniería de Software en alguna parte más). Y … si está interesado en un área particular de aplicaciones, es posible que desee especializarse en la disciplina de la aplicación, con una concentración menor en la informática (por ejemplo, aero y astro si está interesado en aplicaciones de aviónica y espaciales, ingeniería automotriz , matemática aplicada para “big data”, etc.).

Si le interesa más el hardware, está hablando de Ingeniería Eléctrica o Ingeniería Informática.

Por otro lado … si está interesado en los fundamentos de la informática y en la investigación (académica o de otro tipo), o el desarrollo de software del sistema o el desarrollo de la arquitectura de la computadora, ahora probablemente esté hablando de informática.

Y, si sus escuelas preferidas no requieren que designe una especialidad, es posible que desee esperar hasta su segundo año antes de decidir. Es casi seguro que sus intereses y expectativas evolucionarán una vez que haya comenzado sus estudios.