¿Qué deben saber los estudiantes de secundaria sobre una carrera en ciencias de la computación?

Entonces, escribí esta publicación de blog presentando la informática a los niños que acaban de terminar la escuela secundaria y se preguntan qué hacer a continuación. Está dirigido a niños indios, pero creo que el contenido es relevante para niños de todas partes.

Enlace al artículo: Entonces, quieres estudiar Ciencias de la Computación. Reproduciéndolo aquí:

Entonces, acaba de terminar 12º y está considerando elegir ciencias de la computación: es posible que haya escuchado vagamente acerca de las compañías de TI, los autobuses Volvo y los altos salarios y se pregunta de qué se trata y si realmente es para usted. Trataré de explicar qué es la informática, qué no es y qué tipo de trabajos puede obtener al final de 4 años.

Mi experiencia: estudié Ciencias de la Computación (BE) en la Facultad de Ingeniería, Guindy. Luego obtuve mi maestría en la UW Madison, y ahora estoy trabajando para obtener mi doctorado.

¿Qué es la informática? En términos generales, la informática implica el diseño de hardware (como computadoras portátiles) y software (como Microsoft Word). Hay muchos aspectos diferentes de la informática. Tomemos el ejemplo de usar su computadora portátil para buscar algo en Google y ver qué sucede detrás de escena.

Primero, su computadora portátil está compuesta de muchas partes complicadas que trabajan juntas para permitirle navegar. Aprender cómo funcionan juntas estas partes se llama Computer Architecture, una parte de la informática que tiene una superposición considerable con ECE. Si ha oído hablar de cosas como Intel Dual Core, etc., todas son el resultado de avances en este subcampo que analiza cómo puede usar el diseño de la computadora para ser más rápido y, en algunos casos, usar menos energía.

Luego viene la parte en la que puede interactuar con la computadora a través de ventanas, menús y botones intuitivos en lugar de solo texto: esto se llama Diseño de interfaz de usuario. Lo creas o no, durante mucho tiempo las computadoras no tuvieron interfaces tan agradables, y todo se hizo con texto.

Luego viene la parte donde te comunicas con el sitio web de Google que está lejos, muy lejos en algún otro país, y obtienes respuestas a tus resultados. En Redes, aprende sobre la comunicación de un lado a otro entre su computadora y el sitio web. ¿Qué pasa si falla la comunicación? ¿Cómo es posible comunicarse tan rápido con algo tan lejano? Encontrará respuestas a todas estas preguntas en esta parte de la informática.

Ahora, mientras realiza la búsqueda en Google, es posible que también esté escuchando música en segundo plano. ¿Cómo hace la computadora las dos cosas a la vez? ¿Cómo almacena la música en la computadora portátil? Si tiene una impresora conectada, ¿cómo habla la computadora con ese dispositivo? ¿Qué sucede cuando conecta su teléfono móvil a su computadora portátil? Los sistemas operativos se ocupan de todas estas preguntas.

Finalmente, cuando envía su consulta de búsqueda a Google, Google utiliza muchos miles de computadoras para encontrar rápidamente una respuesta. Los sistemas distribuidos analizan cómo usar varias computadoras para resolver un problema. Muchas otras compañías, como Facebook y Amazon, tienen sistemas distribuidos complejos que los impulsan.

Hay muchos otros aspectos de la informática. Continuando con el ejemplo de Google, necesitan formas eficientes de almacenar y procesar grandes cantidades de datos: utilizan técnicas de los sistemas de bases de datos para hacerlo.
En una pista completamente diferente está el desarrollo móvil : desarrollar aplicaciones como Angry Birds para su teléfono móvil. Hay muchas preguntas interesantes en el espacio móvil: por ejemplo, los teléfonos móviles tienen una duración limitada de la batería, entonces, ¿cómo se escriben las aplicaciones para usar la energía mínima?

Hay muchas otras áreas como Inteligencia Artificial, Gráficos, etc. que no he mencionado. A todos les gusta su propia especialidad en informática: el campo está creciendo rápidamente y siempre hay desafíos interesantes, por lo que no importa qué tipo de cosas te guste hacer, ya sean cosas visuales como diseño de interfaz o cosas detrás de escena Al igual que los sistemas operativos, habrá algo que te entusiasme.

Personalmente, me encanta la informática porque dentro de un sistema informático, eres Dios y todos los programas son tus creaciones . La única barrera para lo que puedes crear y lograr es tu propia imaginación. Todos los aspectos de su computadora se pueden cambiar según sus preferencias, siempre que sepa cómo hacerlo. Esto da como resultado una especie de alegría similar a la que sienten los ingenieros: la alegría de la creación . He visto a personas escribir su primer programa de computadora, y el momento en que su creación cobra vida es increíble. Con el uso diario de más y más computadoras en todos los ámbitos de la vida, ser capaz de manipular las computadoras lo convierte en el mago de la era actual.

Programación: la informática a menudo se mezcla con la programación. Entonces, ¿cómo son los dos diferentes? Considere cómo un arquitecto diseña una casa y luego la construye con la ayuda de ladrillo, mortero, acero, concreto, etc. Para construir la casa, es posible que necesite usar ciertas herramientas como una llana, un cincel, etc. La informática abarca el diseño de la casa, la elección de los materiales correctos, las herramientas adecuadas para el trabajo, etc. La programación es construir la casa según el diseño con las herramientas dadas. Por lo tanto, la programación es solo una pequeña parte de la informática. Hay otros subcampos como arquitectura de computadora, sistemas operativos, redes y bases de datos.

Trabajos en ciencias de la computación: Lamentablemente, existe la noción de que todo lo que aprender ciencias de la computación le permite hacer es aprender a programar. Aunque la programación es ciertamente una parte de la informática, de ninguna manera lo es todo. Saber C o C ++ no es lo mismo que haber aprendido ciencias de la computación. La clase de trabajos que podrá obtener difiere mucho en función de lo que sabe.

Hay trabajos que requieren programación sola: incluso en este caso, hay trabajos que van desde el diseño de aplicaciones de Visual Basic para el supermercado hasta el diseño de sitios web para empresas locales. Con la digitalización cada vez mayor de nuestro mundo, la demanda de personas que puedan hacer esto seguirá creciendo.

También hay trabajos que requieren más conocimiento: es posible que necesite saber cómo se comunican las computadoras para trabajar para Cisco. Es posible que necesite saber cómo las computadoras almacenan información para trabajar para NetApp. La lista de compañías que requieren conocimiento más allá de la programación es bastante grande, y pagan muy generosamente por este conocimiento. Cuanto más sepa, mejor será su trabajo.

En general, diría que los aspectos laborales son buenos para la informática, y es probable que sigan así durante algún tiempo. Las oportunidades para ingenieros de computación verdaderamente buenos son inmensas. Permítanme concluir esto con algunas preguntas frecuentes:

¿Necesita saber la programación de antemano? No. Conozco a muchas personas que estudiaron ciencias de la computación desde cero (aprendieron su primer lenguaje de programación en el primer semestre de la universidad) y luego lo hicieron muy bien. Absolutamente no sabes cómo programar antes de comenzar tu carrera.

¿Necesitas ser muy bueno en matemáticas para estudiar informática? No. Soy muy promedio en matemáticas, pero nunca he tenido ningún problema. Necesitas saber una cierta cantidad de conceptos básicos para aprender informática, pero más allá de eso, no necesitas saber muchas matemáticas avanzadas. Dicho esto, el conocimiento matemático adicional siempre es útil, y no solo en informática.

Espero que esto te dé una mejor idea de cómo será estudiar informática en BE / B.Tech. La informática es un campo de rápido crecimiento, lleno de interesantes desafíos y oportunidades. Toca muchos otros campos, y los avances en informática han llevado a avances en otros campos como la biotecnología. Creo que la informática es uno de los campos más interesantes para estudiar hoy, con el potencial de cambiar rápidamente el mundo en los próximos años. Google ha desarrollado un auto sin conductor. El sistema inteligente artificial de IBM, Watson, ha derrotado a los campeones humanos en el concurso Jeopardy. ¿Quién sabe qué podría ser el próximo?

  1. Que hacer software no incluye solo la codificación. Cuando estaba en la escuela secundaria, estaba interesado en la programación, pero ingenuamente presumí que todos los profesionales de TI (excepto los gerentes de proyecto) son programadores. De hecho, muchos proyectos del mundo real requieren mucha planificación, documentación y pruebas, lo que hace que la codificación real sea alrededor del 20% del tiempo total.
  2. En este campo, es muy probable que trabaje con otras personas (colaborando en un equipo, coordinando con otros grupos de la empresa o comunicándose con los clientes), por lo que este no es un trabajo particularmente solitario, y las habilidades sociales no pueden ser compensado solo por habilidades técnicas.
  3. Teniendo en cuenta que muchos nerds introvertidos (que pueden carecer de habilidades de comunicación) se sienten atraídos por este campo, es importante saber que incluso los programadores y evaluadores (no solo los analistas o gerentes de negocios) también necesitan habilidades no técnicas en el trabajo, en particular la comunicación empresarial. Hay algunas cosas que pueden parecer “fáciles” y “lógicas” para usted, pero pueden no ser obvias para otros. También es incorrecto suponer que son estúpidos por no seguir tu línea de pensamiento. Son inteligentes (al menos lo suficientemente inteligentes como para hacer su trabajo) pero no están informados, por lo que será su responsabilidad hacerles entender. No tiene sentido tener grandes ideas si no puede transmitirlas y si no puede hacer que otros aprecien su punto. De una forma u otra, deberá responder regularmente a las preguntas de seguimiento o crear informes, y deben ser comprensibles para las personas con diferentes niveles de conocimiento técnico.
  4. Una vez pensé que todos los problemas encontrados en el trabajo están relacionados con la codificación (por ejemplo, cómo implementar X a pesar de algunas limitaciones técnicas), pero me di cuenta de que muchos de los problemas son causados ​​por una falta de comunicación o falta de planificación, no por las limitaciones de El lenguaje de programación o su conocimiento técnico.
  5. Ser un buen programador (es decir, con buenos estándares de codificación, ser conocedor de idiomas y sus paquetes) no es suficiente. Lea: La respuesta del usuario de Quora a la industria y las empresas de TI: ¿por qué no muchos ingenieros de software crean un excelente sitio web o aplicación de software, incluso después de 20 años de experiencia en programación? Eventualmente necesitará una perspectiva más amplia (lista para usar) sobre las cosas para comprender si el software que desea desarrollar tendrá un mercado objetivo específico, o si disfrutarán de usarlo. No sirve de nada implementar algo correctamente, no importa cuán desafiante o técnicamente complejo sea, si no está alineado con las expectativas del usuario final.
  6. Los estándares y procesos de la industria se establecieron hace mucho tiempo (con algunos cambios a lo largo de los años), pero muchas personas hoy en día (incluso algunos gerentes experimentados) aún son víctimas de los errores de ingeniería de software identificados hace décadas.
  7. Crear software no siempre es “divertido”. Puede terminar haciendo cosas que requerirán codificación pero que no necesariamente disfruta. Es posible que deba aprender tecnologías que no le gusta usar (por ejemplo, una herramienta interna que será inútil en otro lugar, un idioma obsoleto, un idioma muy nuevo), o mantener constantemente un software existente, crear soluciones alternativas o para modificar el código de otra persona, o para estar en un proyecto que requiere un cierto conocimiento de dominio (por ejemplo, finanzas). Siempre habrá cambios que van desde muchos pequeños cambios en los requisitos hasta construir todo desde cero. (Descargo de responsabilidad: Habiendo dicho eso, no estoy diciendo que la industria de TI sea aburrida, infeliz o siempre desastrosa. Es una cuestión de perspectiva).

Creo que deberías aprender las cosas que aprendí cuando tenía 16 años que todavía son relevantes hoy, 20 años después. Lo más probable es que sigan siendo relevantes en el futuro.

  • C (le da una buena comprensión de cómo funciona una computadora)
  • Protocolos de Internet (TCP, UDP, DNS, SMTP, HTTP)
  • SQL
  • Criptografía / seguridad / piratería

Había muy poca información disponible en línea en ese momento, así que fui a la biblioteca pública. Te sugiero que hagas lo mismo. En mi opinión, es más fácil aprender los conceptos básicos de un libro y buscar las respuestas a preguntas específicas en línea.

Al principio, estas no son las cosas más divertidas y divertidas para aprender, pero son las más gratificantes. Le darán una base sólida desde donde su conocimiento puede expandirse en prácticamente todo.

Aprender Python es como aprender a usar una calculadora. Aprender C es como aprender matemáticas. Y al igual que es fácil entender cómo usar una calculadora una vez que sabes matemáticas, es fácil aprender Python (y la mayoría de los otros lenguajes de programación también) una vez que conoces C.

Mientras aprende, es importante que cree sus propios programas y no solo los programas de muestra. Piensa en lo que necesitas y en lo que quieres. Quizás un juego para mostrar a tus amigos, una solución a un problema de física o un robot que lea Quora por ti y encuentre respuestas interesantes. ¡Un buen programador debe ser muy creativo!

Aquí hay una cita que me encanta: “La informática no tiene más que ver con las computadoras que la astronomía con los telescopios”.

La universidad es importante. No subestimes la importancia de comprender conceptos puros de informática que no impliquen codificación. Comprender la teoría lo armará con valiosas herramientas que puede utilizar en el mundo real. Incluso si nunca necesita escribir su propio algoritmo de clasificación o sistema operativo, saber cómo funciona uno y le ayudará a localizar errores o problemas más rápido. Los ingenieros eléctricos necesitan comprender la física y el cálculo, los médicos deben comprender la química y la biología, ¡los programadores deben comprender la informática!

Y como otros han dicho: codifique lotes. Si amas las computadoras, ¡no puedo imaginar que esto sea un problema! Establezca un proyecto como escribir un servidor SMTP o un juego de Snake y luego hágalo. Se sorprenderá de cuánto puede aprender de un proyecto aparentemente “simple”.

Hola amigo,

Hay algunas habilidades requeridas para la ingeniería informática, que supongo que deberías tener.

  • Habilidades cuantitativas avanzadas
  • Pensamiento crítico
  • Javascript
  • Conocimiento de sistemas operativos
  • Pensamiento lógico
  • Habilidades Matemáticas
  • Lenguajes de programación

Opciones de carrera después de la ingeniería informática: habilidades, empleos y salario

No se trata solo de escribir código nuevo y emocionante. Al menos en mi campo, la mayoría de los ingenieros de software hacen dos cosas con la mayoría de sus errores de corrección de tiempo en el código existente, y mejoran gradualmente el código existente. Especialmente para los ingenieros junior, trabajarán principalmente con código que no escribieron.

Eso no quiere decir que no habrá oportunidades para escribir cosas nuevas que serán divertidas, o que actualizar y mejorar las cosas existentes no es divertido (porque lo es), pero recuerde que cada línea de código escrita debe ser probada y mantenida.

Recuerde estos mientras construye softwares:

1) El gran software no se construye, se cultiva

2) Sigue este mantra:

Primero hazlo
Entonces hazlo bien
Entonces hazlo mejor,
Entonces hazlo más rápido.

3) La codificación es el último paso para resolver un problema.

Si me hubieras preguntado hace un par de años, te diría que obtengas una buena maestría en informática y te metas en una buena compañía.

Sin embargo, al tener el honor de trabajar y conocer a algunos de los mejores y más buscados ingenieros de software en Londres, he aprendido que muchos no tienen un título de CS o en realidad no tienen ningún título.

Míralo desde este punto de vista:
– Te apasiona el desarrollo y ya estás aprendiendo algo
– la escena tecnológica de Londres (excluyendo las grandes corporaciones) favorece la meritocracia, no los grados sofisticados
– si comienza ahora y a los 18 años comienza en un rol de desarrollador junior con una startup y se asegura de estar rodeado de buenos mentores, entonces a los 23 años ya tiene 5 a 7 años de experiencia en desarrollo hardcore para cuando otros terminaron sus amos con cero experiencia. En ese momento, usted (suponiendo que es bueno) es considerado un desarrollador senior por muchos con un salario bastante decente.

¿Crees que es imposible? Contratamos a un ingeniero de software en el Servicio Digital del Gobierno a los 17 años …

Piénselo: es un momento brillante para ser ingeniero de software en Londres, sin deudas de estudio ni preocupaciones por los riesgos.

Eso supone que no estás buscando una carrera en una gran empresa. Desafortunadamente, la mayoría de ellos aún requieren las credenciales académicas.

Por cierto, no me malinterpreten. Obtuve mucho de mis maestros y obtuve una carrera realmente satisfactoria hasta ahora y mi título abrió muchas puertas. Pero no vivía en Londres en medio de un boom tecnológico.

Otra forma es ingresar a una de las escuelas que te enseñan a programar en un par de meses. Unos cuantos interesantes en Londres …

No seas perezoso la programación de aprendizaje es 99% práctica. “saber” cómo resolver un problema no vale nada hasta que lo haya codificado. Encuentre un problema que le interese y codifíquelo.

Cuando tenía tu edad, reprobé el curso de programación QBasic tres veces. Para ser sincero, estaba perdiendo la confianza pero, afortunadamente, intenté concentrarme en algo que me pareciera interesante.
Ahora esta es mi sugerencia, hay algunos conceptos en ciencias de la computación que necesitan TIEMPO y conocimiento profundo para ser entendidos. olvídate de ellos en este momento. intente expandir su conocimiento general y verlo solo como un pasatiempo, no como una gran preocupación futura.

Por cierto, Python es un buen comienzo.

Oye.

¿Está buscando un buen centro de servicio de doctorado?

¡Tengo una mejor compañía!

Muy bajo costo y diferente mejor. puedes intentar completar tu doctorado

sitio web https://projectsdeal.co.uk/Phd-P…

Leer libros de software. Software de ingeniería inversa que le guste, deconstruya proyectos de código abierto. Escribe mucho código.

Nunca sumerja su fuera de operaciones.