¿Cómo debo prepararme para la informática?

Supongo que está comenzando desde cero, ya que sabe cómo usar una computadora, pero aún no ha programado.

Comience a aprender un lenguaje de programación, cualquier lenguaje de programación. Python puede ser bueno. Solo investigue algunos y comience a aprender uno que le guste. Es posible que no desee comenzar con más de bajo nivel, como C o C ++, pero nuevamente depende de usted. Algunas personas comienzan con ellos y están bien.

Una vez que haya elegido un idioma, busque tutoriales, libros o cursos de video sobre él y sígalos. Elija una aplicación (una pequeña) que le gustaría construir con ese idioma, y ​​siga adelante e intente hacerlo. Mientras haces eso, descubrirás muchas cosas que los libros no pueden transmitir. Intenta terminarlo, si tu idea original resulta demasiado compleja, elimina las funciones, hasta que tengas algo factible.

Si todavía tiene tiempo, comience a buscar Matemáticas discretas y la teoría de la computación. Por ejemplo, podrías aprender cálculo Lambda.

Desafortunadamente, cuando hablas de “CS” en el nivel secundario, probablemente necesites ser más específico, porque puede depender de lo que tu escuela considere “CS”. A menudo, AP CS significa aprender el lenguaje de programación Java, ya que en eso está escrito el examen AP CS para crédito en CS de nivel universitario. Por lo tanto, supongo que de eso estás hablando.

Como te está yendo bien en matemáticas, eso es una ventaja para ti en CS de nivel universitario, ya que hay algo de matemática en ello. Donde sospecho que te estás cayendo es entender la programación. Probablemente esto suene como un enfoque poco ortodoxo para alguien en su situación, pero si tiene tiempo libre, puede consultar un excelente libro de texto de CS que está disponible en línea, llamado Estructura e interpretación de programas de computadora ( http: // web .mit.edu / alexmv / 6.037 / …), a menudo denominado “SICP”. También hay una versión HTML, si lo prefiere. Solo buscalo en Google. Puede usar un lenguaje de programación llamado Racket ( https://racket-lang.org/ ) con él (también se llama “Esquema”) para hacer los ejercicios (¡es realmente importante hacer los ejercicios!). No puedo predecir si lo ayudará en absoluto a comprender lo que se le está enseñando en AP CS, pero puede ser un mejor enfoque de CS para usted, dada su fortaleza en matemáticas. Lo que encontré con él es que tiene un buen enfoque introductorio a Scheme. Tiene algunos problemas realmente difíciles (que son realmente gratificantes de resolver), pero la mayoría de ellos me parecieron buenos desafíos, pero no demasiado difíciles. La mejor parte de hacerlo en su propio tiempo es que puede omitir secciones si lo desea, y ver si hay algo más que lo haga sentir curiosidad o se vea interesante. En cualquier caso, creo que podría ayudarlo a comprender la programación y CS. Revisé la mayor parte del proceso hace unos 4 años, y descubrí que cubría gran parte del tema que estaba cubierto cuando tomé la licenciatura CS.

Si sigue esa ruta y funciona para usted, aún así recomendaría tomarse el tiempo para aprender Java en algún momento, porque es probable que cualquier programa de CS que ingrese requiera que lo sepa para aprobar sus clases de CS, ya que lo usará en sus tareas y pruebas de programación. Si tomas CS en la universidad, también es probable que encuentres otro lenguaje de programación llamado C ++. No creo que las universidades usen más C ++ en sus cursos introductorios, pero es probable que te encuentres con él en algún momento antes de graduarte. Probablemente pueda esperar para aprenderlo, pero eso puede depender de dónde vaya a la escuela.

Buena suerte.

Asumiré que eres un recién graduado que comienza tus vacaciones de verano y está por comenzar la informática en la universidad el próximo año.

Esto significa que quieres algo divertido pero no demasiado serio para prepararte para el próximo año. Los siguientes recursos son bastante fáciles y serán útiles:

  • Juegue Human Resource Machine (o ahorre 40% en Human Resource Machine en Steam)
  • Si de alguna manera ha evitado Code.org, finalice el curso avanzado – Curso acelerado.

Si quieres algo ligero pero un poco más profundo, lo siguiente también es bueno pero no tan divertido:

  • Videos – Informática desconectada
  • Actividades – Informática desconectada
  • Informática | academia Khan

Si está lleno de comida, pero comience su curso universitario ahora:

  • Enséñese ciencias de la computación
  • Ingeniería Eléctrica e Informática

Personalmente, solo haría los dos primeros y disfrutaría del tiempo libre. Si, como la mayoría de los estudiantes de tu edad, estás aprendiendo Ciencias de la Computación porque quieres aprender cómo hacer un juego, entonces haz un juego estas vacaciones. Personalmente, libGDX, pero probablemente quieras hacer algo en 3D. Haz un curso sobre Unity Course: aprende Unity 5 a tu ritmo en Udemy. Será divertido, ya sabrás algo de programación cuando comiences la universidad y, a medida que mejore tu capacidad de codificación, puedes aplicarlo al juego que ya has creado.

Dices que no te gusta y no entiendes tu clase de informática. Por otro lado, realmente te gusta cuando entiendes un programa.

Creo que hay dos posibilidades. Primero el malo (pero realmente no tan terrible): tal vez realmente no te gusta la informática. Si ese es el caso, no importa cuánto le guste hacer que la computadora haga lo que desea, simplemente no funcionará. Aprender a programar muy bien requiere mucha práctica. Debes estar constantemente desafiando estirarte, aprender constantemente de tus errores y de tus éxitos. La alegría te da la energía para hacer eso. A medida que mejora, la alegría aumenta y puede esforzarse aún más. Sin alegría, no creo que sea humanamente posible. Pero hay un lado positivo: en la mayoría de las disciplinas, desde la química hasta la antropología y la lingüística, los métodos computacionales se están convirtiendo en técnicas básicas. Hay muchas posibilidades de incorporar la computación en su trabajo y de lograr cosas realmente interesantes y gratificantes a través de la computación, sin centrarse principalmente en la informática. Eso podría funcionar mejor para ti.

Pero hay otra posibilidad: no disfrutas o entiendes tu curso de ciencias de la computación, porque es un curso de informática de la escuela secundaria típicamente horrible con demasiado énfasis en aprender un lenguaje de programación y muy poco contenido conceptual. Hay algunos cursos excelentes, pero hay mucha basura, en parte debido a la escasez de personas calificadas para enseñarles. Eso está cambiando, pero no tan rápido como debería.

Vale la pena averiguar si esta segunda posibilidad es la real. Tendrá que aprender un poco de lenguaje de programación de computadoras, pero Java no es una opción particularmente buena para eso … demasiados detalles sintácticos, demasiada basura para leer antes de llegar a problemas interesantes y esclarecedores. La sugerencia de Mark de Scheme / Racket y SICP es una forma razonable de hacerlo. Scheme tiene muy poca sintaxis, un SICP te arroja hacia el fondo con conceptos. No funciona para todos, pero si funciona para ti, será una revelación. Un enfoque algo diferente es aprender algo de Python, comenzando con proyectos simples y avanzando. Python tiene más sintaxis que Scheme, pero es conciso en comparación con Java, y hay muchos buenos proyectos por ahí. (Una posible secuencia de proyectos está en CIS 210: Asignaciones, pero hay muchas más).

Algo que ayudaría mucho es tener a alguien con quien trabajar. Esto podría ser un amigo que ya programa, o alguien más (¿tal vez de su clase de CS?) Que quiere aprender junto con usted y está dispuesto a dedicarle tiempo. Esto es lo suficientemente importante como para darle una mayor prioridad que la elección del idioma. Por ejemplo, si tiene un buen amigo que programa en C y está dispuesto a trabajar con usted en una serie de programas en C, de fácil a más complejo, lo haría aunque no recomendaría C como un primer lenguaje de programación

Recomiendo elegir un proyecto de codificación decente que le interese. Puede ser simple (no trivial) o complicado, pero asegúrese de que sea algo que verá hasta su finalización. Luego, codifíquelo (en su lenguaje de programación más familiar o Python si no tiene uno). Cuando haya terminado, piense en formas de mejorarlo o comience otro proyecto.

Necesitarás ayuda en el camino. Google y Freenode son tus mejores amigos.

Quédese con eso y sucederá una de dos cosas. O CS comenzará a parecer más comprensible, aplicable y valioso, o perderá interés y se dará cuenta de que CS no es lo suyo. A juzgar por la forma en que describes disfrutar de la programación cuando la entiendes, sospecho lo primero. Aprenda a comprender más programas / temas en CS, y lo disfrutará cada vez más.

C ha estado allí por un tiempo y si aprende C lo reconocerá en muchos otros idiomas.

Comience con lo más simple:

Tutoriales de programación C / C ++ para principiantes

C Tutorial – Aprenda programación en C con ejemplos

y después de que aprendiste la teoría (brevemente) comienza a hacer cosas:

Learn C – Tutorial interactivo gratuito de C

y luego reiterar, lo que significa más teoría y más cosas y cuando te sientas bastante seguro, echa un vistazo a Python también

Hay muchos libros gratis en línea para python. Solo búscalos, como futuro científico de la computación necesitas saber cómo buscar las cosas.

Si necesita un libro impreso, puede usar esto:

Python Programming for the Absolute Beginner, 3rd Edition: Michael Dawson: 8601200556445: Amazon.com: Libros

Luego tome Coursera u otro curso MOOC en línea y después de eso debería estar en camino de convertirse en un codificador. Otras cosas que muy bien puede aprender en la escuela, algoritmos, estructuras de datos, arquitectura de computadoras, etc.

Ok, entonces voy a ir en contra del grano general de las respuestas hasta ahora.

Una licenciatura en Ciencias de la Computación está ahí para enseñarle Ciencias de la Computación. Puedes entrar sin saber nada y aún así salir con una buena educación. Puedes entrar a “saber” bastante y pasar la mitad de tu tiempo sin aprender malos hábitos.

Según el wiki de respuestas, lo que hará la diferencia más que cualquier otra cosa es adquirir algunas habilidades de estudio. Abarrotar a nivel universitario desperdicia su tiempo y una cantidad obscena de dinero. Peor aún, no recordará mucho, lo que será un desastre en los cursos de nivel superior en una especialidad como CS que se basa en sí misma.

Aprenda sobre la repetición espaciada, cómo tomar buenas notas, cómo aprende mejor (visual, táctil, auditiva, etc.).

Si no lo hace, no importa cuánto CS aprenda antes de llegar allí, toda esa ventaja se la comerá el trabajo para sus otras clases; la mayor parte se desperdiciará al volver a aprender cosas que ya debería saber, solo para olvidarlas. de nuevo casi de inmediato.

Una vez que tenga sólidas habilidades de estudio, tendrá más tiempo para trabajar en las cosas que disfruta, que es donde realmente ampliará y profundizará su educación. No se preocupe por aprender todo por adelantado, solo juegue con matemáticas discretas, estructuras de datos, algoritmos interesantes, lo que sea que le interese.

Sus profesores son responsables de enseñarle los fundamentos, usted es responsable de aprender a amar la CS.

En mi experiencia, es un desperdicio estudiar programación por su cuenta si tiene poco tiempo libre o energía, y en reconocimiento de fuerza, apuesto a que tiene poco de cualquiera. Puedes aprender a programar más tarde. En este momento, lo que es crítico es mantener afiladas sus habilidades matemáticas y de resolución de problemas. Una buena idea es dedicarle algo de tiempo a las matemáticas, pero también hacer cosas como leer novelas (o poesía); el lenguaje y las habilidades de razonamiento simbólico también son importantes. Si trabajas para mantener tu mente activa y lo haces en la dirección del razonamiento formal, simbólico y abstracto, estarás bien. No es necesario que intente completar los cursos universitarios, y es poco probable que tenga éxito sin el sistema de apoyo de una escuela y mucho más tiempo libre. Si te encuentras con más energía de la que necesitas solo para encontrar cosas interesantes, entonces considera realizar algunos cursos de matemáticas en Khan Academy.

Lo que dedicaría mi tiempo a hacer es buscar matemática, razonamiento o acertijos lógicos que me parezcan interesantes. Creo que los crucigramas también son una gran actividad, y supongo que Sudoku sería bueno. Elija un juego de mesa como el ajedrez o vaya si le conviene. Sea lo que sea, debería ser interesante para usted.

¡Buena suerte!

La mayoría de los programas de CompSci requerirán un montón de cálculo, que debe realizarse en secuencia durante 1.5-2 años, así que asegúrese de estar listo para las matemáticas de la universidad (si tiene que comenzar con álgebra o precalculo, se retrasará rápidamente) .

De lo contrario, practique escribir código en Java, C ++ o el idioma que prefiera el programa de su escuela. Encuentre los problemas que desea resolver y las cosas que desea automatizar, y hágalo. Obtenga una cuenta de github y comience a buscar formas de contribuir. Juega con MOOC para adquirir habilidades prácticas. Pero recuerde que, cada vez que haga un proyecto, asegúrese de poder responder:

  • ¿Qué problema resolviste?
  • Cómo lo resolviste, y
  • Por qué su solución fue buena (más rápido, más barato, más uso de declaraciones goto para confundir al lector, lo que sea)

(Te sorprendería saber cuántos graduados universitarios que he conocido que no pueden responder a esas simples preguntas sobre proyectos en los que han pasado semanas de sus vidas)

Finalmente, cuando llegas a la universidad, GUARDA CADA PROGRAMA siempre que estés en un lugar seguro. Si alguna vez necesitara transferir, hace las cosas mucho más fáciles.

¡Buena suerte!

–Bj

Suponiendo que esté en un programa de informática, aprenda algunos idiomas básicos y desarrolle un método para crear proyectos. Esto es importante para que pueda adaptarse a los numerosos proyectos más adelante y mantenerse al tanto de ellos.

En su situación actual y en la asignación de tiempo, le resultará difícil practicar la programación, así que sigamos con la teoría por ahora.

En lo que puede y debe enfocarse son temas de aplicación más general: lógica, algoritmos, teoría de la computación, patrones de diseño de software.
Estos le darán una ventaja independientemente del lenguaje de programación con el que trate.

Realmente no me preocuparía prepararme. Soy autodidacta y realmente puedes sumergirte y comenzar a aprender. Todo lo que necesitas es una conexión a internet y una computadora.

La clave para aprender CS es (A) elegir los proyectos que le interesan y las cosas de Google aprendiendo a hacerlo, (B) seguir siendo crítico con usted mismo y siempre tratar de seguir haciendo las cosas mejor de lo que lo hizo antes. El hecho de que algo funcione no significa que sea una buena solución.

Estudiar matemáticas y comprenderlas bien y tener conocimientos de informática. Además, conocer las funciones de los componentes en la placa “madre”. Ser capaz de utilizar varios programas en profundidad como Excel, Mathematica, entre otros. Todo esto puede ser autodidacta usando su computadora personal durante 1 a 2 horas por día. Se necesita disciplina y organización para hacer esto. Escriba un horario y sígalo. Buena suerte y gracias por servir en nuestro ejército.

No me preocuparía demasiado por eso antes de comenzar la escuela, pero comenzaré a pensar qué es lo que quieres sacar de ella. En qué áreas está interesado y en las que le gustaría trabajar. Cosas de bajo nivel del sistema operativo, IA, gestión de proyectos. La atención médica y la TI ofrecen muchas oportunidades para las mentes brillantes y motivadas. Están obteniendo dispositivos robóticos para hacer cirugía ahora. ¿Te interesa la búsqueda, nube? Comience a pensar qué lo motiva a ir e invertir su tiempo y cómo lo aplicará.

Acostúmbrate a la programación … Elige un lenguaje. Python es una buena opción para principiantes.

Recoge algunos buenos libros … Yo diría Kenneth H Rosen, Matemáticas discretas o

Estructuras de datos básicos de Robert Tamassia e intente implementarlas usando el lenguaje que seleccionó … Luego vaya un paso más arriba e intente automatizar algunas cosas aburridas

lo haces todos los días en tu PC … Con suerte, la diversión que obtendrás al hacer esto aumentará tu interés por aprender más.

A2A

Respuesta corta agregando a lo que otros ya proporcionaron. Mi principal prioridad sería aprender (al menos) un lenguaje de programación. Java sería un buen comienzo, sin embargo, también sería bueno verificar C o C ++ y Python, si tiene tiempo. Hay mucho más en CS que solo programación, pero por el momento esto sería lo suficientemente bueno, especialmente porque usted mencionó que la programación es lo que lo está atrayendo a CS.

A2A.

Realiza cursos de programación en Python, Java y C ++. Además, aprenda una buena parte de las Matemáticas (Cálculo, Matemáticas Discretas y Lógica y Teoría de Conjuntos).

Estas cosas requieren una gran carga de trabajo.

Mejor.

Hola,

Entonces, eché un vistazo a tus antecedentes y te deseo lo mejor. Con respecto a los recursos en línea, hay toneladas de ellos por ahí. Es una simple cuestión de buscar en Google los términos de búsqueda correctos (por ejemplo, “tutorial de Python”). En segundo lugar, con respecto a sus recursos fuera de línea, es cuestión de dedicar tiempo a sus clases.

Pero, tal vez podría darte algunos consejos adicionales también. Si solo está buscando recursos, puede dejar de leer aquí y comenzar a buscar en Google sus recursos.


Entonces, por lo que puedo decir en tu wiki de respuestas, no parece que practiques mucho tus cursos. Además, cuando algo es bastante difícil, parece ser que no estás comprometido a corregir tus errores y perseverar ante la adversidad.

Por supuesto, esta es solo mi opinión personal que obtuve de su wiki. Hay una probabilidad no trivial de que estoy equivocado. Pero, si este es el caso, permítame aclarar que tendrá dificultades en CS. Esta especialidad no es para las personas que piensan que está bien hacer hacinamientos de última hora y aquellos que pierden la esperanza después de fallar una vez. Conozco personas que trabajan durante muchas horas solo para implementar una característica única, a menudo fallando docenas de veces antes de hacerlo bien. Es francamente insultante pensar que CS es una especialidad tan fácil que incluso alguien que pierde la esperanza en la primera prueba y no dedica el tiempo y el compromiso de practicar problemas puede hacerlo.

Esta especialidad no es para los débiles de corazón, pero no significa que sea imposible. Es posible que obtenga calificaciones terribles y pierda algunos años de su vitalidad al tirar de las noches completas, pero eso depende de usted.

Si solo haces esto por dinero, no hay nada de malo en eso. Pero le recomendaría que revise sus opciones. Hay muchas especializaciones que no requieren el mismo rigor que CS pero que te llevarán al estadio de un salario digno.

Si aún no ha ingresado en una licenciatura en informática, entonces aprender a programar en Java podría ayudar.

Si ya conoce Java, aprenda C ++.

Si ya conoces C ++, aprende Linux.

Si ya conoce Linux, aprenda algoritmos.

Tienes que dar más tiempo a las matemáticas discretas y ser bueno en eso. Esa es la base de CS. CS se trata de resolver problemas, la programación es una pequeña parte.

More Interesting

Cómo pasar de un buen programador a uno excelente

Cómo mostrarle a un oficial de admisiones que me encantan las ciencias de la computación cuando no he tomado ninguna clase de ciencias de la computación de AP o no he logrado ningún logro en el campo

¿Debo volver a la universidad para ponerme al día con el rápido avance de las tecnologías de aprendizaje automático? ¿Especialmente aprendizaje profundo?

¿Los campos / especialidades relacionadas con la informática tienen una buena perspectiva de futuro? ¿Se está viendo afectada la informática?

Soy estudiante universitario de último año. Quiero ir a la escuela de posgrado de informática. ¿Está bien trabajar un año antes de ingresar a la escuela de posgrado?

Cómo saber si la programación es para mí

Cómo ser un buen programador de Java

Educación de posgrado: ¿es posible trabajar en un programa de doctorado en IA de informática junto con una especialidad en sistemas de control?

¿Por qué hay más trabajos en informática / informática que la oferta de solicitantes de empleo calificados en muchos países?

¿Es posible obtener un doctorado en Informática sin antecedentes en Informática?

¿Cuál es el futuro de un ingeniero informático a largo plazo?

¿Cuál es el nivel de programación en India? ¿Puedo hacer un trabajo de calidad allí?

¿Puedo convertirme en un informático sin ir a la universidad o la universidad?

¿Cuáles son las ventajas y desventajas de la maestría en informática basada en cursos y tesis? ¿Por qué muy pocas personas optan por una maestría basada en tesis?

¿Puede una mujer de 44 años comenzar una carrera de desarrollador web?