¿Debo aprender un lenguaje de programación antes de asistir a la universidad para Ingeniería en Computación? [cerrado]

14

He sumergido los dedos de los pies en la programación de C ++ pero en realidad no he profundizado en ello. Quiero saber si realmente necesito aprenderlo o algún otro idioma antes de ir a la universidad para Ingeniería en Computación o si de todos modos lo voy a aprender en la escuela.

mate
fuente
Diría que definitivamente no es necesario, pero no dolería en absoluto. Antes de comenzar con mis clases de CS, nunca hice ninguna codificación y ni siquiera sabía qué era C ++ y la clase estaba en C ++.
favor el
3
... Incluso si lo aprendes allí de todos modos, eso solo significa una clase fácil. Así que no hay razón para no aprender ahora ...
Izkata
Podría ayudarlo a descubrir si tiene la aptitud y / o interés en la programación.
JeffO
Has hecho esta pregunta en programmers.stackexchange.com. ¿Realmente esperaba otra respuesta que "sí, aprenda C ++ antes de ir a la universidad"?
Martin Thoma
@moose, luego cierre como un duplicado.

Respuestas:

48

Si, por varias razones.

  1. Cuanto antes comience a adquirir experiencia en el campo, antes podrá averiguar si este es el campo en el que debería especializarse. Si no le gusta la programación, entonces la Ingeniería de la Computadora probablemente no sea un buen campo para especializarse in. Incluso si está interesado principalmente en el diseño de CPU, va a estar haciendo MUCHA programación.
  2. La mayoría de la gente encuentra que el nivel y la cantidad de trabajo que se espera de ellos en la universidad excede en gran medida a lo que están acostumbrados en la escuela secundaria. A menos que seas excepcionalmente talentoso, te encontrarás lleno de trabajo. Hazte un favor: descubre qué idioma se usa para enseñar el curso de primer año y comienza a aprenderlo ahora. En el peor de los casos, se aburrirá un poco en la clase, pero podrá hacer el trabajo más rápido y usar el tiempo ahorrado para sus otras clases.
  3. Muchas clases se califican en una curva. La desventaja de esto es que competirás con tus compañeros de clase por las calificaciones. Muchos de tus compañeros estudiantes de ingeniería informática ya habrán hecho mucha programación, por lo que es posible que ya estés detrás de la curva. Este es un buen momento para comenzar a ponerse al día.
  4. La única forma de ser bueno en la programación es hacerlo mucho. Mientras más tiempo dedique a programar en los próximos años, mejor lo hará. Cuanta más experiencia tenga, mayores serán las posibilidades de obtener pasantías y empleos.
Charles E. Grant
fuente
77
+1 Por comenzar ahora para hacerlo más fácil en el futuro
Andy Hunt
También se pueden omitir dos clases (típicamente introducción a programación e introducción a estructuras de datos) mientras se está en la universidad, si se tomaron en HS. Tener menos clases para tomar significa posiblemente menos dinero para gastar, o al menos más tiempo de amortiguación. Los programas CSE pueden ser muy rígidos; por ejemplo, si se salta una clase, significa que se quedará un año atrás. Tener un amortiguador ayudaría. Uno siempre puede tomar clases adicionales de graduación o recoger a un menor.
Trabajo
Si terminas siendo excepcionalmente fluido en el lenguaje de programación que se enseña al momento de tomar una clase de programación introductoria, considera si tu institución tiene una política de "Crédito por examen" que puedes usar para probarla. Puede ahorrarte bastante tiempo (pero solo si eres excepcionalmente fluido en el idioma).
En silico
7

Como graduado de CS (BS, MS, PhD), recomendaría que te mojes los pies lo antes posible. Tendrás suficientes otras cosas en tu primer año de universidad. En particular para la programación:

  • Visite el sitio web de su universidad de destino y mire el catálogo de clases de la división inferior o la página web del programa de estudios para las clases de programación introductoria. Busque el lenguaje de programación que se enseña y vea qué tipo de cosas se cubren en la primera clase. Intente leer sobre ese material antes de comenzar.

  • Nuevamente, mirando la página del programa de estudios de la clase, mire las tareas de programación anteriores y vea qué tipo de herramientas de programación de software y entorno se están utilizando. ¿Es vi y gcc (esto es lo que usan los hombres de verdad)? Microsoft Visual Studio? ¿Eclipse? Intente usar estas herramientas antes de comenzar.

  • La programación de software es solo una de las cosas que se enseñan en un plan de estudios de CS. Otros son algoritmos (por ejemplo, QuickSort), estructuras de datos (árboles, listas vinculadas, tablas hash) y teoría pura (completitud NP y lógica de conjuntos). Diría que estos son al menos tan importantes como cualquier lenguaje de programación que aprendas.

stackoverflowuser2010
fuente
+1 por no solo leer en lenguajes de programación
Andy Hunt
4

Depende de la universidad. Cuando estudié lo que llaman "Ciencias de la Computación" en la Universidad Estatal de California, ellos (con razón, en mi opinión) se concentraron en el aspecto científico de la misma, y ​​esperaban que todos (incluso los estudiantes de primer año) ya supieran cómo usar los sistemas operativos y cómo escribir código en algún lenguaje popular. No aceptaron transferir algunos créditos que había obtenido mientras asistía a cursos de idiomas en una Universidad Estatal de Ohio. (Eso fue un fastidio para mí, pero de nuevo, lo entiendo). Esto también tuvo una ventaja: completé una tarea una vez, escribiendo mi código en C; el profesor no podía leer C, por lo que me pidió que lo volviera a escribir en Pascal. Le pregunté al jefe del departamento sobre la validez de esta solicitud, y él dijo que, dado que no enseñan idiomas, tampoco pueden esperar que nadie complete una tarea en un idioma específico. Entonces mi profesor tuvo que vivir con mi tarea escrita en C. Entonces, la conclusión es, consulte con la universidad a la que va a ir. Pero si quieres mi consejo, nunca está de más aprender de antemano tanto como sea posible.

Mike Nakis
fuente
2
Y C ++ es una buena opción para comenzar con un lenguaje, si va a utilizar cualquiera de las disciplinas de ingeniería, porque con C ++ puede aprender a programar cerca de la máquina, y al mismo tiempo puede comenzar a aprender OOP.
Mike Nakis
Gracias, llamé a la escuela (Universidad de Illinois) y me dijeron que, por lo general, los estudiantes solo tienen una ligera comprensión del idioma y que debería aprender todo lo que pueda antes de llegar a la escuela. Gracias por tu consejo.
Matt
Excelente. Intente también familiarizarse con la línea de comandos de Linux si puede; dicho conocimiento suele ser útil en entornos universitarios. Es mejor ser el que muestra a otras personas en el laboratorio de computación cómo se hacen las cosas, que ser el tipo que siempre pregunta a los demás.
Mike Nakis
4

Si tiene que preguntarse si debe aprender un lenguaje de programación en primer lugar, pregúntese si realmente es lo que quiere hacer. La mayoría de los primeros años de ciencias de la computación ya son bastante buenos en programación incluso antes de que comiencen, por lo que competirás contra esos tipos que naturalmente tienden hacia el geek. Salta a la cabeza primero o haz otra cosa que ames. No estés en la cerca. Amas lo que haces. No necesito ni quiero votar por este, solo quiero hablar directamente contigo.

zipstory.com
fuente
1
Enmendaría eso para decir "la mayoría de los estudiantes de ciencias de la computación EXITOSOS, en su primer año". Cuando estaba en la universidad (y más tarde en la escuela de posgrado) había un número alarmante de estudiantes de CS que no sabían lo primero sobre el uso de las computadoras, pero simplemente escucharon que CS era donde estaba todo el dinero. La mayoría de ellos cambiaron sus carreras, después de enojarse mucho con los instructores por no decirles qué escribir.
esponjoso
Fui uno de esos novatos y tuve mucho éxito. Sin embargo, tuve que esforzarme mucho para hacerlo con esos deportistas geek que partían de la nada. Si no estuviera en una situación en la que tuviera que ganar dinero para mi hijo, no me habría esforzado tanto. Terminé amándolo ya que lo entendí más.
Jason Sebring
3

No creo que necesites aprenderlo antes de asistir a la universidad. Sin embargo, creo que, como la mayoría de las cosas en la vida, si está preparado previamente antes de asistir a algún evento, etc., es más probable que pueda tomar decisiones informadas sobre qué información absorber y qué información descartar.

Más específicamente, al menos sumergiendo los dedos de los pies, es posible que pueda escuchar lo que dicen sus profesores en lugar de simplemente copiar lo que dicen literalmente, pero sin absorber los conceptos que intentan transmitir, lo que en mi opinión es lo más importante. parte de la universidad (no la parte de sintaxis de aprendizaje de un idioma, etc.).

En cuanto a qué lenguaje de programación aprender. Probablemente no importa, pero podría ser útil para comenzar a leer sobre los que probablemente cubrirá en su primer año.

Sin embargo, la otra cara del preaprendizaje es que cuando llegas a tus primeros meses puedes encontrar las clases aburridas y elementales. Esto podría llevarlo a no asistir a clases o descartar lo que los profesores están tratando de transmitir, por lo tanto, perder parte de información vital como darse cuenta de que realmente aprendió algo no es la forma correcta, es decir, aprendió un mal hábito antes de asistir a la universidad.

Al profundizar en este tipo de sitios, probablemente ya estés en el camino para estar un paso adelante y así ayudar a tu aprendizaje durante la universidad. De cualquier manera, lo que pre-aprende probablemente será solo la punta del iceberg. Tendrá que continuar con esta curva de aprendizaje dentro y fuera del material universitario si desea continuar con los beneficios que puede proporcionar.

dreza
fuente
2

Sí, pero no comience con el lenguaje más complicado, habrá mucho tiempo para eso más adelante.

Comience con algo simple para mojarse los pies. Es mucho más fácil comprender los conceptos de programación cuando el lenguaje en sí no lo agobia. Del mismo modo, algunos idiomas hacen las cosas mejor que otros.

Aprenda Python para la programación dinámica, técnicas de programación orientadas a objetos simples y sangría adecuada. Aprenda javascript + JQuery o Lua para obtener información sobre cierres. Aprenda Java o C # para aprender sobre la escritura estática. Aprenda expresiones regulares para el análisis de cadenas. Y aprenda un poco de SQL ya que cada programador tiene que tocar una base de datos en algún momento. Luego aprenda PHP para que pueda identificar el código de espagueti.

Esta lista puede variar, pero básicamente elige algunos idiomas divertidos y úsalos para aprender conceptos . Posteriormente, aprenderá a ser adaptativo, en lugar de quedarse estancado en un idioma por el resto de su vida y tratar de defenderlo en Internet todo el tiempo.

Soviut
fuente
1

Voy a decir que no creo que importe demasiado el idioma que sepas cuando comienzas, pero probablemente te dará una ventaja en el sentido de que cuando recibas tu primera asignación de programación, no tienes para luchar con el problema de pensar en términos de código, ya tendrás algo de experiencia allí. Una curva de aprendizaje menos para superar es algo bueno. Bono si aprendes el idioma que enseñan en tu primer año, pero no es necesario.

FrustratedWithFormsDesigner
fuente
1

No sabrá si Computer Engineering es realmente el programa de estudios adecuado para usted hasta que al menos descubra cuán difícil o fácil es encontrar la programación, así como lo bueno que es. La única forma de saber realmente es intentar aprender al menos un lenguaje de programación y codificar lo antes posible.

hotpaw2
fuente
1

Algunas cosas que te pueden interesar aprender antes de ir a la universidad (elige entre ellas):

  1. Algunas matemáticas más (no puedo ser más específico, porque soy francés y no tengo idea de las habilidades matemáticas que se espera que tengas).
  2. Algunos otros lenguajes de programación, como Ocaml, Scheme, Haskell, Lua ... Le abrirán la mente a nuevas formas de pensar.
  3. Algunos libros de algoritmos
  4. Mejor inglés y habilidades escritas (y un idioma extranjero nunca es malo)
  5. Uso y codificación bajo GNU / Linux, y software libre en general. La capacidad de estudiar software libre (y contribuir a él) lo aprenderá mucho.
  6. Autonomía laboral, poder definir un plan de trabajo y apegarse a él.
  7. El SICP

No recomendaré enfocarse de manera limitada en C ++; otros idiomas, libros, habilidades te traerán mucho más. No gastes todos tus esfuerzos en C ++.

Disfruta tu aprendizaje.

Basile Starynkevitch
fuente
1

Honestamente, si tienes tiempo, hazlo. Tendrá más sentido mientras el maestro está enseñando. Sacarás más provecho que los estudiantes que nunca han programado.

java_mouse
fuente
1

¡Seguro! Si no ha programado antes, aprender C ++ o C o Java o C # lo ayudará a comenzar bien. Todos esos idiomas están basados ​​en Algol (aproximadamente): una vez que hayas aprendido uno de ellos, aprende Lisp o Haskell. El excelente cambio de paradigma entre las dos familias lo ayudará sin importar lo que impliquen sus cursos.

Templo de genes
fuente
0

Personalmente lo recomendaría. Esto no se aplicará a todas las escuelas, pero fui a lo que se considera una muy buena escuela de ingeniería y las clases introductorias de programación fueron horribles. Conocer los conceptos básicos lo ayudará a evitar muchas de las malas prácticas / conocimiento incorrecto que le pueden enseñar. Y como se menciona en otra respuesta, pasarás por esas clases fáciles de introducción a la programación mientras otras luchan. Y si eres como yo, eso te da más oportunidades para ayudar a tus amigos que están luchando con eso.

Asaf
fuente
0

Creo que deberías. Además de las razones dadas por otros aquí, agregaría que muchos profesores universitarios no son muy buenos para enseñar y, por lo tanto, no puede confiar en ellos para enseñar lo que está aprendiendo muy bien. Comprenderá mucho mejor lo que dicen si ya conoce los conceptos básicos.

Además, la relación entre el material del curso y el tiempo de clase a menudo es demasiado alta en las universidades, por lo que incluso cuando el profesor es un maestro decente, no puede enseñarlo de manera efectiva en el tiempo de clase disponible. Por lo tanto, cualquier conocimiento que obtenga de antemano lo ayudará a mantenerse al día con el ritmo acelerado del aula.

IMO C ++ es uno de los peores lenguajes para principiantes. Siga adelante y estudie C ++ si no lo encuentra demasiado difícil, pero otros lenguajes como C #, VB, Ruby o Python son bastante más fáciles.

Qwertie
fuente
0

Sería muy inteligente saber algo de idioma antes de ingresar a la universidad. La instrucción universitaria en Ciencias de la Computación es a menudo de una calidad pésima, dada por TA que no están capacitados o que no hablan inglés. Los cursos introductorios no son una prioridad y la mala instrucción es la regla. Las universidades ganan dinero con los gastos generales de la subvención; obtener subvenciones es la prioridad de la mayoría de los profesores universitarios, no la enseñanza de estudiantes universitarios. Esta es una regla triste con pocas excepciones.

Sin embargo, la calidad de los programas en las escuelas secundarias también puede ser pobre. Muchas administraciones escolares piensan que la capacitación en el uso de Micosoft Word es informática. ¡Ah, el sinsentido que emana de las escuelas de educación!

Desearía poder ser más optimista. Si tienes un buen programa de compsci en tu escuela secundaria, únete a él. Vaya más allá de los límites y sea agresivo con el aprendizaje. Si eres bastante emprendedor, no es difícil aprender Python y adquirir algo de habilidad. Una vez que lo aprende, aprender otros idiomas no es tan difícil. La gramática simple de Python hace que aprender sea relativamente fácil.

ncmathsadist
fuente
0

Si.

Cuál debe aprender depende de lo que significa "Ingeniería informática". Es un término bastante no estándar. Donde estudié, fue una combinación de electrónica e informática.

Si espera trabajar principalmente con hardware de computadora, le sugiero que aprenda C y Forth. Si va a hacer principalmente lo que yo consideraría "informática", sugeriría aprender algo como Python o Smalltalk para probar el "trabajo real" y un lenguaje de programación funcional de su elección (sugeriría alguna variante de lisp o esquema, pero elige lo que sea más fácil y genial).

Marcin
fuente
0

Compartiré mi propia experiencia.

Empecé a programar hace unos 10-11 meses. Mi primera exposición real fue con PHP, pero luego, aprendí C # en un curso introductorio (CS 140) en mi colegio comunitario local. Después de aprender lo básico, prácticamente volé con él y no he parado desde entonces. Después de C #, decidí comenzar a aprender la mecánica de nivel inferior de cómo funcionaban las computadoras. Estoy trabajando en una aplicación que se supone que es multiplataforma, y ​​se supone que ayuda a los motores de videojuegos a interactuar entre sí (similar a SDL, pero posiblemente a un nivel más bajo que eso, con un enfoque estricto en GUI, matemáticas , y otras funciones auxiliares).

Básicamente, si no fuera por esa clase, no habría encontrado lo que amaba hasta mucho, mucho más tarde. Realmente no sabes que disfrutas la programación hasta que realmente entiendes los conceptos detrás de ella. Si desea averiguarlo, le recomiendo que lea una introducción al libro de programación y comience con C / C ++, ya que necesita comprender lo que está haciendo, en lugar de usar un lenguaje que lo sujetará de la mano como Java o C # o solo un poco de lenguaje de secuencias de comandos: tenga en cuenta que estos tienen su lugar y son buenas herramientas para usar, pero también es muy importante que entienda los conceptos de nivel inferior al principio. Este fue un error que cometí al principio.

Después de eso, sigue programando si lo disfrutas. Si no, aprende algo más. Independientemente de lo que decida hacer, debe pasar todo el tiempo que pueda antes de asistir a una universidad de 2 a 4 años para aprenderlo, ya que REALMENTE lo mantendrá por delante del juego. También mostrará motivación a cualquier empleador que potencialmente pueda contratarlo.

Puedo decirle que las disciplinas de ciencias de la computación / ingeniería eléctrica son, con mucho, las más rápidas en términos de sus tasas de evolución (que siguen aumentando año tras año), y tendrá que seguir aprendiendo nuevas tecnologías para mantenerse al día con lo que lo último y lo mejor (que debería encontrar al menos algo interesante, aunque realmente depende del área de especialización en la que se esté especializando. Por ejemplo, odio la programación web y no estoy interesado en absoluto en las tecnologías que existen por ello, pero algunas personas realmente lo disfrutan y ESTÁN interesadas en ello). A pesar de esto, C / C ++ son excelentes lenguajes para aprender ya que, si bien muchos otros lenguajes (por ejemplo, C #, Java) tienen sus propias API preconstruidas para "hacer la vida más fácil", no aprenderá nada sobre lo que realmente está sucediendo. debajo del capó hasta que "

Básicamente, he estado programando durante 10-11 meses y no he asistido a ninguna universidad. Tomé una clase de C # en un colegio comunitario (mi primera clase de programación, que me enseñó los fundamentos), y al menos el 95% del resto lo aprendí por mi cuenta. Esto se debe a que, después de tomar esa clase, supe que quería ser programador. Lo sabrás una vez que lo entiendas. Sea cual sea el camino que elija, debe estudiarlo de forma independiente si realmente desea tener éxito en él, ya que aumenta su aptitud para la motivación y el compromiso. Un programador tieneestar motivado para tener éxito. Tratan mucho, más que simplemente "escribir código". Una aplicación constantemente tiene que ser probada, depurada y entendida desde cero. Por lo general, ya sea pequeño o grande, casi aprenderá algo nuevo para cada proyecto que emprenda. Esto es bueno, porque necesitas mantener ese cerebro activo.

sobre blanco
fuente