¿Es posible especializarse en informática en la universidad sin experiencia previa en CS y programación?

Mi entendimiento es sí, lo es. Hace algunos años, seguí las publicaciones de un profesor de CS en GA Tech que habló sobre cómo había muchos estudiantes ingresando a CS que estaban programando por primera vez. Eso me sorprendió, porque cuando ingresé a CS a fines de la década de 1980, ese no era el caso para la mayoría de los estudiantes de CS. La razón es que casi todas las computadoras comerciales en ese momento venían con un lenguaje de programación, y había una expectativa de que para usar las computadoras, los usuarios aprenderían al menos un poco de programación.

Según tengo entendido, el plan de estudios de CS todavía tiene lo que comúnmente se llaman “cursos de fin de semana”, donde elimina a los estudiantes que no se consideran capaces de completar la especialización de CS, y he visto quejas de algunos académicos de CS que dicen que el plan de estudios elimina a muchos estudiantes que creen que serían capaces de terminar el programa.

No puedo dar fe de por qué es así, porque no experimenté que la especialización de CS sea demasiado difícil de manejar. Por lo tanto, no tuve la oportunidad de explorar por qué podría eliminar a muchas personas capaces de otra manera. Tengo mis propias opiniones sobre por qué el plan de estudios de CS es defectuoso. Parte de esto tiene que ver con el hecho de que CS, por un tiempo, se alejó de los lenguajes de programación pedagógica y, en cambio, se familiarizó con los lenguajes de desarrollo profesional desde el principio. En mi opinión, para las personas que nunca han programado antes, esto es como tirar a las personas que no saben nadar en el fondo de la piscina y ver cuáles se hunden o nadan. Es demasiado detalle todo a la vez. Lo que los profesores de CS terminaron haciendo es decir: “Solo pon estas cosas en tu código. No te preocupes por lo que significa en este momento. Lo explicaremos más adelante “, para que puedan llegar a las partes que quieren explicar en este momento. Para mí, ese es un enfoque totalmente retroactivo para la programación de la enseñanza. Cuando tomé CS, había un lenguaje pedagógico utilizado para estudiantes de primer año, y no requería este enfoque de “olvidar los detalles en este momento”. Era bastante explicable para los principiantes, aunque incluso entonces, a algunos principiantes les resultó muy difícil. Entonces, aunque se hicieron esfuerzos pedagógicos, no fueron geniales.

No tengo idea de cuál es la tasa de éxito de los estudiantes que nunca han programado antes. Mi propia recomendación sería si está pensando en ingresar a CS, que averigüe qué lenguaje de programación se utiliza para los estudiantes de primer año en la institución educativa a la que ingresa, y haga un esfuerzo para aprender el idioma usted mismo antes de ingresar a la universidad. No creo que tenga que aprender el idioma suficiente para aprobar la clase de primer año antes de ingresar (aunque en el pasado era posible pasar de la clase de primer año y obtener crédito universitario, tomando un examen de ingreso. No sé si eso todavía está hecho).

Claro … obtuve un título en Ingeniería Informática. Ni siquiera sabía qué era C ++ cuando llegué a la universidad. Ni siquiera tomé un curso de física en la escuela secundaria. Estarás detrás y tendrás que trabajar más duro que algunos, pero atorníllalo. Si eso es lo que quieres hacer, entonces hazlo. Serás atrapado después de los primeros dos años.

Absolutamente, de hecho, prefiero que mis alumnos no hayan visto nada sobre CS y programación, porque
1. Tendrán mucho tiempo para ponerse al día lentamente sin ninguna desventaja, y

2. La posible ventaja de “salir adelante” que podrían tener de la experiencia de construir sitios web o aprender Scratch o Python o Java o Matlab o cualquier herramienta o sistema operativo con el que hayan pirateado, se ve compensada por la posibilidad de que se les haya enseñado mal o ingenuamente. Estos estudiantes a menudo tienen una idea distorsionada sobre lo que realmente es la informática y se resisten a los temas importantes, como las matemáticas discretas y las estructuras de datos, a favor de la nueva herramienta de desarrollo de GUI: eventualmente, aparecen, pero en general progresan posiblemente más lentamente que alguien con Sin experiencia previa.

Si. Es absolutamente posible Todos los colegios y universidades imparten clases introductorias el primer semestre. Aquí hay ejemplos de la Universidad de Brown: https://cs.brown.edu/courses/
Pero se recomienda tener conocimientos previos, de esta forma las clases introductorias no serían tan difíciles. Hay muchos cursos gratuitos en línea (MOOC) que ofrecen una introducción a CS. Aquí están algunos:
https://www.edx.org/course/intro
https://www.coursera.org/course/

Hace dos años, habría dicho que sí, si eres fuerte en matemáticas o física. Hoy, sin embargo, hay un fácil acceso a los recursos, por ejemplo, en Cada niño merece la oportunidad, para enseñar los rudimentos, o el Rasguño del MIT, de que cuestionaría seriamente a un solicitante sin experiencia en programación.

Sí, especialmente si eres amable contigo mismo y comienzas en una universidad comunitaria. No creo que la mayoría de los estudiantes de antropología sepan mucho antes de llegar a la universidad. ¿Por qué debería ser diferente para la informática? Las primeras clases que tomé fueron extremadamente básicas, y progresaron bastante lentamente de “Esto es un mouse” a “Así es como abres un programa” y “Hola mundo”.

Te facilitan, confía en mí.

Un programa típico de CS de pregrado está diseñado bajo el supuesto de que algunos estudiantes no tendrán conocimientos previos de programación o CS. Dicho esto, dados todos los recursos gratuitos disponibles para aprender programación, no veo por qué alguien entraría en un programa de CS sin al menos haber incursionado un poco antes.

Seguro. Lo hice. No es fácil, pero ciertamente es factible si está dispuesto a trabajar duro y sacrificar una gran parte de su tiempo libre para mantenerse al día en algunos cursos. Si decides especializarte en CS, asegúrate de hacer amigos con buenos programadores para que aprendas de ellos.