¿Qué habilidades tangibles no específicas de la plataforma adquieren los informáticos a través de su educación universitaria?

Sin duda, pensamiento computacional.

Consulte http://www.cs.cmu.edu/~CompThink/, http://www.google.com/edu/comput… y http://en.wikipedia.org/wiki/Com…. Ver http://www.cs.cmu.edu/~wing/publ… para el documento seminal sobre pensamiento computacional.

Eso resume muchas de las habilidades independientes de la plataforma que los estudiantes pueden adquirir en una ingeniería decente de pregrado (especialmente aquellas en ingeniería eléctrica e informática, ECE) o un programa de licenciatura en ciencias de la computación (CS).

Aprende a resolver problemas más barato, más rápido y mejor que muchos de sus compañeros. El análisis de algoritmo lo ayuda a determinar el consumo de recursos, el costo y la calidad de sus soluciones. También aprende a determinar qué problemas se pueden resolver dada la tecnología actual o que pronto estará disponible, y qué problemas nunca se pueden resolver.

También aprende a desarrollar modelos matemáticos y computacionales para los problemas que está resolviendo, así como los sistemas / redes que está analizando para poder obtener algunos resultados cuantitativos / de simulación / experimentales relacionados con los problemas / sistemas / redes. Esto le permite adoptar un enfoque computacional / de ingeniería en cualquier campo académico. Por ejemplo, puede trabajar en: informática del comportamiento, agricultura computacional, arqueología computacional, biomecánica computacional, ciencia cognitiva computacional, economía computacional, forense computacional, lingüística computacional, ciencia de materiales computacionales, fisiología computacional, fotografía computacional, filología computacional y sostenibilidad computacional. Esto aumenta tu aliento de habilidades y conocimientos, independientemente de si tienes que tomar clases optativas o obligatorias fuera de ingeniería y CS. Además, puede trabajar en campos interdisciplinarios que favorecen a aquellos con habilidades y conocimientos en ingeniería, matemáticas y CS. Por ejemplo, los pioneros de los enfoques contemporáneos / modernos de los sistemas complejos fueron físicos (Albert-László Barabási, Réka Albert, Duncan J. Watts, Steven Strogatz). Cuando Jon Kleinberg y, más tarde, Jure Leskovec llegaron, pudieron avanzar mucho más en el campo.

Mientras modela, aprende que las no linealidades son terribles de tratar, por lo que aprende a diseñar sus sistemas, redes o circuitos para operar en el modo lineal de operación, y utiliza el principio de superposición para determinar la respuesta del sistema. De lo contrario, usaría técnicas de aproximación apropiadas para linealizar las no linealidades o usaría una combinación de modelos lineales para aproximar las no linealidades (por ejemplo, vea Reducción de orden de modelo lineal por partes de trayectoria). Además, te expones al concepto de dualidad. Si no puede encontrar una solución usando el circuito, la red o la fórmula (basada en la lógica matemática), el dual de ese circuito, red o fórmula puede resolver el problema.

Desarrolla buenas habilidades de razonamiento lógico y cuantitativo, y desarrolla métodos para automatizar el razonamiento lógico y cuantitativo. Por ejemplo, puede usar lógica matemática (por ejemplo, lógica de primer orden o lógica temporal) para expresar propiedades sobre un sistema, y ​​usar procedimientos de decisión o demostradores de teoremas para razonar sobre estas propiedades. O bien, puede usar un solucionador para las teorías del módulo de satisfacción para determinar si el conjunto de propiedades es compatible. Además, puede modelar un sistema / red con una ecuación matricial a gran escala y utilizar la reducción del orden del modelo para simplificar el modelo matemático del sistema / red. Puede utilizar técnicas numéricas, como los solucionadores de ODE / PDE, para analizar modelos de sistemas / redes biológicos. Además, aprende a automatizar tantas tareas como pueda, especialmente las cosas que haría en una computadora o teléfono inteligente.

Puede explotar sus habilidades en ingeniería y CS para obtener ventajas en muchos de sus esfuerzos. Por lo tanto, esto conduce a mejores trucos de vida y trucos de viaje. Por ejemplo, aprende a canalizar sus tareas, realizar tantas tareas en paralelo como sea posible, asignar recursos de manera eficiente e intentar reducir la duración y los costos de sus rutas críticas en la gestión de proyectos o en su hardware / software … Hablando de piratería, También puedes usar tus habilidades para crear mejores bromas. Busque “trucos del MIT”.

Sus repetidos esfuerzos para verificar, probar y validar lo que desarrolla en ingeniería o CS lo ayudan a ser más consciente de las lagunas de seguridad. Por lo tanto, puede adoptar un enfoque más integral para asegurar su computadora, teléfono inteligente, casa / departamento, dormitorio y su espacio de trabajo (en el trabajo o en el laboratorio de investigación). Puede adoptar un enfoque más holístico para evaluar la calidad de los productos. La certificación ISO no sería suficiente. Intentaría jugar con el producto para determinar qué tan confiable, seguro y bueno es. La generación automática de patrones de prueba (o la entrada de prueba automática / generación de casos) puede ayudarlo a activar sensibilidades en las personas para revelar sus motivos / intenciones y prejuicios / prejuicios. Suponga que tienen una falla (un deseo o parcialidad malvada particular). Explote su conocimiento sobre ellos para lograr que se enloquezcan por esa falla; Activación de falla. Use preguntas dirigidas para guiarlos a revelar esa falla: propagación de fallas.

Aprende a almacenar información de manera eficiente, en términos de desarrollo de estructuras de datos para almacenar información para el cómputo y para la gestión de conocimiento / recursos en su vida diaria. Por ejemplo, puede invertir en un buen software de administración de referencias y LaTeX para ayudarlo a administrar los recursos de información o el conocimiento que adquiere.

Aprender sobre la teoría de los lenguajes de programación (en el contexto del CS teórico) le ayuda a apreciar las clases de idiomas (por ejemplo, inglés o italiano) que ha tomado (y está tomando), como las lecciones de gramática.

Aprender sobre la organización de los sistemas informáticos y la arquitectura de la computadora lo expone a la canalización y la computación paralela (también, vea programación concurrente). Estos conceptos pueden explotarse en su vida diaria para maximizar la cantidad de tareas completadas en un período de tiempo determinado y / o la utilización de recursos en su hogar, lugar de trabajo, escuela u otro lugar.

Aprende a aplicar técnicas de búsqueda y optimización para obtener mejores resultados que otros en deportes, juegos, administración de negocios / proyectos, o encontrar puntos de venta de una cocina en particular.

Tiene una mayor propensión a mantenerse al día con los avances tecnológicos. Por ejemplo, explota el uso de análisis para la minería de datos para mejorar el análisis comercial o para descubrir quién lo está acosando. Del mismo modo, puede usar la computación en la nube para reducir sus gastos en hardware de la computadora y almacenar información en la nube para respaldo y acceso remoto. La adquisición de instrumentos y datos lo ayuda a descubrir cómo conectar y configurar equipos, computadoras y productos electrónicos. Esto puede ser útil para mejorar el hogar o configurar su lugar de trabajo.

Aprovecha sus habilidades en abstracción, encapsulación, diseño jerárquico, diseño basado en componentes y diseño basado en plataformas para comprender sistemas, procesos y redes, y explotar ese conocimiento para su ventaja. Por ejemplo, hace comprender cómo el acoplamiento de ciertos módulos puede hacer que el sistema no sea confiable e intente reducir sus dependencias. O bien, puede aislar ciertos componentes / módulos en su sistema para mejorar el aislamiento de fallas. Cuando se trata de arquitectura de interiores y diseño de viviendas / edificios, aprende cómo configurar ciertos sistemas / procesos para atacar centros en redes sociales para derribar redes terroristas o aislar camarillas para reducir la propagación de enfermedades infecciosas. Además, le ayudan a comprender la importancia de prestar atención a las interacciones dinámicas (especialmente, si son fuertemente no lineales y están distribuidas) entre entidades en una red o componentes de un sistema, o entre el sistema / red y su entorno. Tales interacciones dinámicas pueden mejorar la retroalimentación en una organización o sistema para mejorar su confiabilidad y estabilidad. En esta nota, las clases de ingeniería de control lo ayudan a utilizar la retroalimentación en sistemas, redes, procesos y organizaciones para cumplir sus objetivos, como la confiabilidad y la estabilidad.

Los procesos / modelos de desarrollo de software, como las metodologías ágiles (por ejemplo, eXtreme Programming, XP), lo ayudan a enfatizar los valores (o buenos atributos) sobre las tradiciones (particularmente aquellas que son discriminatorias o explotan ciertos grupos sociales). Por ejemplo, con XP, usted valora la comunicación, la simplicidad, la retroalimentación, el coraje y el respeto sobre el orgullo, el ego, los prejuicios y cualquier práctica de ingeniería o desarrollo de software. Aprende a adoptar la mejora continua e incremental sobre un conjunto de prácticas y tradiciones a las que se aferra obstinadamente una cantidad significativa de personas. Las clases sobre control de calidad también enfatizarían el refinamiento continuo.

El procesamiento de señales le presenta la necesidad de filtrar el ruido y la distorsión de sus señales. En la vida diaria, eso puede referirse al uso de sus habilidades analíticas y de razonamiento para detectar y filtrar mentiras y rumores. La detección y corrección de errores lo ayudan a apreciar las habilidades naturales de los humanos para detectar errores gramaticales, afirmaciones falsas y mentiras en conversaciones o publicaciones, y corregirlas automáticamente.

Las redes de telecomunicaciones y computadoras lo exponen a una transferencia de información eficiente. Por ejemplo, aprende a transmitir información o enviar artículos / regalos de manera rentable entre cualquier par de ubicaciones (origen y destino), individuos (remitente y receptor) o grupos de personas (grupo transmisor y grupo receptor).

La automatización del diseño electrónico (EDA) lo expone a sintetizar diseños de circuitos integrados a partir de un modelo / diseño en un nivel superior de abstracción. Vea síntesis lógica, síntesis de alto nivel y síntesis de circuito analógico / RF y de señal mixta. A partir de esto, aprenderá a transformar automáticamente modelos simplificados de sistemas en implementaciones (finales / reales) de sus diseños. Esto le ayuda a pasar de analizar modelos de sistemas y redes a producir prototipos funcionales / funcionales de sus productos. Por lo tanto, puede proceder del análisis de un modelo simple de la economía para obtener productos financieros en los que las personas puedan invertir. A partir de la síntesis lógica, aprenderá a seleccionar y conectar automáticamente componentes de una biblioteca / conjunto / colección para implementar sistemas / redes que satisfagan Diseño de objetivos y limitaciones. Esta técnica se puede aplicar a otras áreas, como la biología sintética.

EDA también lo expone a la partición, que puede emplearse para transformar monolitos en un sistema / red de componentes que pueden analizarse o manipularse con mayor facilidad. Además, EDA lo expone a la planificación del piso, que le presenta los procedimientos automáticos para planificar el diseño de su sistema (electrónico) o su casa (planificación del piso en el contexto de la construcción / paisaje / arquitectura de interiores). La extracción lo expone a obtener automáticamente la información importante sobre un circuito, sistema, red (o proceso) para que pueda analizar el modelo simplificado (que extrajo) más rápido.

Con respecto a los estudiantes que estudian en programas rigurosos de ingeniería y CS, pueden desarrollar las siguientes habilidades no técnicas, posiblemente mejores que otros estudiantes. Aprende a administrar una carga de trabajo académica ridícula, además de sus otras responsabilidades y actividades deseadas. Esto generalmente implica un poco de piratería del cuerpo a través del consumo de grandes cantidades de café, té o bebidas energéticas (como Red Bull o Rockstar) para atraer a las noches y quedarse hasta altas horas de la noche.

Aprendes a ser más eficiente y efectivo al hacer las cosas. Cuando tomas clases fáciles, independientemente de si son clases optativas o obligatorias, fuera de ingeniería y CS, dominarías a tus compañeros de clase sin experiencia en ingeniería o CS. Aprende a producir resultados académicos (documentos, informes de proyectos, presentaciones) de mejor calidad a un ritmo más rápido que otros. Sí, hágalo más barato, más rápido y mejor.

Aprende a mejorar sus habilidades multiculturales, ya que tiene muchas oportunidades para conocer e interactuar con otros de diferentes orígenes culturales. Cuando tiene poco tiempo en situaciones tensas, como piratear su proyecto durante una noche entera, aprende a perdonar fácilmente y seguir adelante, y a abordar la falta de comunicación rápidamente. Con el tiempo, aprenderá a valorar la diversidad y la inclusión, lo que puede ayudarlo a superar la falla de causa / modo común, ya que un grupo diverso de personas puede ver un problema / sistema / red con más perspectivas.

Edición de texto eficiente
Un buen codificador tiene un editor de texto favorito y sabe cómo usarlo bien. Los atajos son esenciales.

Análisis algorítmico.
Un buen codificador sabe lo suficiente sobre algoritmos para resolver cualquier problema de manera eficiente. Él / ella puede pensar en un problema y anticipar cualquier problema o limitación antes de que ocurra y puede abordar problemas desconocidos con confianza.

Gestión de proyectos
Un buen programador sabe trabajar como parte de un equipo. Casi nada innovador en informática no será realizado por un individuo, por lo que varias personas deben contribuir. La comunicación es esencial.

Pensamiento abstracto
Un buen codificador puede reducir cualquier problema a su esencia. A partir de ahí, él / ella puede establecer conexiones entre problemas similares y aplicar estos principios al problema en cuestión.

Apreciación de datos
Un buen codificador toma decisiones respaldadas por datos. Él / ella entiende el valor de las pruebas A / B para tomar decisiones importantes, utiliza datos para respaldar sus argumentos y conoce la diferencia entre datos bien y mal recopilados.

Paciencia, enfoque y determinación.
Un buen codificador no se rinde fácilmente. Él / ella sabe cuándo se puede resolver un problema y lo sigue haciendo hasta que logra un objetivo.

Estas habilidades no son exclusivas de CS, pero son cualidades que he reconocido en aquellos que conozco que son buenos programadores.

De hecho, diría que la mayoría de las habilidades aprendidas en los grados cs no son específicas de la plataforma. Los grandes que sobresalen incluso más allá del campo de la informática son los algoritmos, las redes, el diseño de sistemas, la teoría de la información y el análisis de datos. pero las habilidades más específicas de cs que aún son independientes de la plataforma incluyen arquitectura de computadora, gráficos, aprendizaje automático e interacción humano-computadora.

Aprendiendo a hacer proyectos en
Una moda oportuna antes
Se acerca la fecha límite

More Interesting

¿Qué es la secuencia de arranque, publicación y bios? ¿Qué viene primero?

¿Hay algún proyecto que intente utilizar el cerebro humano como un medio de almacenamiento de CPU o computadora?

¿Cuáles son todos los componentes de una computadora (solo hardware)?

¿Cuál fue la arquitectura de MS-DOS?

¿Cuál es la mejor ciudad o país para iniciar un inicio de aprendizaje automático / IA?

¿Puedo ingresar a CMU MSCF con un puntaje GRE de 335, un recuento de un ex alumno de CMU MSCF, pero un GPA medio de pregrado en informática de Swarthmore College y poca experiencia laboral?

¿Pueden los gerentes ser reemplazados por inteligencia artificial?

¿Cuál es el futuro de las monedas criptográficas alternativas (no bitcoin)? ¿Se colapsarán u ocuparán un nicho?

Soy un graduado de secundaria. Quiero completar una licenciatura en informática desde mi casa en un año o año y medio a un costo muy bajo (gratis si es posible). ¿Qué tengo que hacer?

UNIX pasa argumentos a través de la pila. Linux sigue la convención MSDOS pasando argumentos a través de registros. ¿Por qué?

¿En qué orden de dificultad consideraría publicar en CVPR, ICCV, ECCV, BMVC y NIPS?

¿Cuáles son las herramientas de prueba de lápiz más famosas y más utilizadas para Linux?

¿Por qué una unidad de CD-ROM congela la computadora durante la aceleración?

¿Cuáles son algunos buenos documentos que todo graduado de CS debería leer y que esté interesado en algoritmos?

¿Cuál debo elegir: una maestría con honores en BITS Pilani o ciencias de la computación en PEC Chandigarh?