ESPECIALIDADES O ITINERARIOS DE LOS ESTUDIOS DE GRADO EN INGENIERÍA INFORMÁTICA Para obtener el título de grado en Ingeniería Informática es necesario cursar y completar uno de los siguientes itinerarios o especialidades: Abreviatura CO IC IS SI TI Especialidad o Itinerario Computación Ingeniería de Computadores Ingeniería del Software Sistemas de Información Tecnologías de Información Las cinco especialidades van a ser ofertadas en los estudios de grado en Ingeniería Informática que se imparten en la Escuela de Ingeniería y Arquitectura (EINA), ubicada en el Campus Río Ebro de la Universidad de Zaragoza. 1. DESCRIPCIÓN DE LA ACM DE LAS CINCO ESPECIALIDADES Las cinco especialidades que se ofertan coinciden con las cinco especialidades de los estudios de Informática propuestas por la ACM (Association for Computing Machinery) en su Computing Curricula 2005. Se reproduce a continuación la descripción original que se hace de cada una de ellas en dicho documento. 1.1. Computer Science (Computación) Computer Science spans a wide range, from its theoretical and algorithmic foundations to cutting‐edge developments in robotics, computer vision, intelligent systems, bioinformatics, and other exciting areas. We can think of the work of computer scientists as falling into three categories. • They design and implement software. Computer scientists take on challenging programming jobs. They also supervise other programmers, keeping them aware of new approaches. • They devise new ways to use computers. Progress in the Computer Science areas of networking, database, and human‐computer‐interface enabled the development of the World Wide Web. Now Computer Science researchers are working with scientists from other fields to make robots become practical and intelligent aides, to use databases to create new knowledge, and to use computers to help decipher the secrets of our DNA. • They develop effective ways to solve computing problems. For example, computer scientists develop the best possible ways to store information in databases, send data over networks, and display complex images. Their theoretical background allows them to determine the best performance possible, and their study of algorithms helps them to develop new approaches that provide better performance. Computer Science spans the range from theory through programming. Curricula that reflect this breadth are sometimes criticized for failing to prepare graduates for specific jobs. While other disciplines may produce graduates with more immediately relevant job‐related skills, computer science offers a comprehensive foundation that permits graduates to adapt to new technologies and new ideas. 1 1.2. Computer Engineering (Ingeniería de Computadores) Computer engineering is concerned with the design and construction of computers and computer‐based systems. It involves the study of hardware, software, communications, and the interaction among them. Its curriculum focuses on the theories, principles, and practices of traditional electrical engineering and mathematics and applies them to the problems of designing computers and computer‐based devices. Computer engineering students study the design of digital hardware systems including communications systems, computers, and devices that contain computers. They study software development, focusing on software for digital devices and their interfaces with users and other devices. Computer engineering study may emphasize hardware more than software or there may be a balanced emphasis. Computer engineering has a strong engineering flavor. Currently, a dominant area within computing engineering is embedded systems, the development of devices that have software and hardware embedded in them. For example, devices such as cell phones, digital audio players, digital video recorders, alarm systems, x‐ray machines, and laser surgical tools all require integration of hardware and embedded software and all are the result of computer engineering. 1.3. Software Engineering (Ingeniería del Software) Software Engineering is the discipline of developing and maintaining software systems that behave reliably and efficiently, are affordable to develop and maintain, and satisfy all the requirements that customers have defined for them. More recently, it has evolved in response to factors such as the growing impact of large and expensive software systems in a wide range of situations and the increased importance of software in safety‐critical applications. Software engineering is different in character from other engineering disciplines due to both the intangible nature of software and the discontinuous nature of software operation. It seeks to integrate the principles of mathematics and computer science with the engineering practices developed for tangible, physical artifacts. Degree programs in Computer Science and in Software Engineering have many courses in common. Software engineering students learn more about software reliability and maintenance and focus more on techniques for developing and maintaining software that is correct from its inception. While Computer Science students are likely to have heard of the importance of such techniques, the engineering knowledge and experience provided in Software Engineering programs go beyond what Computer Science programs can provide. The importance of this fact is so great that one of the recommendations of the Software Engineering report is that, during their program of study, students of Software Engineering should participate in the development of software to be used in earnest by others. Software Engineering students learn how to assess customer needs and develop usable software that meets those needs. Knowing how to provide genuinely useful and usable software is of paramount importance. In the workplace, the term software engineer is a job label. There is no standard definition for this term when used in a job description. Its meaning varies widely among employers. It can be a title equivalent to computer programmer or a title for someone who manages a large, complex, and/or safety‐critical software project. The layman must be mindful not confuse the discipline of software engineering with the ambiguous use of the term software engineer as used in employment advertisements and job titles. 2 1.3. Information Systems (Sistemas de Información) Information systems specialists focus on integrating information technology solutions and business processes to meet the information needs of businesses and other enterprises, enabling them to achieve their objectives in an effective, efficient way. This discipline’s perspective on information technology emphasizes information, and views technology as an instrument for generating, processing, and distributing information. Professionals in the discipline are primarily concerned with the information that computer systems can provide to aid an enterprise in defining and achieving its goals, and the processes that an enterprise can implement or improve using information technology. They must understand both technical and organizational factors, and they must be able to help an organization determine how information and technology‐enabled business processes can provide a competitive advantage. The information systems specialist plays a key role in determining the requirements for an organization’s information systems and is active in their specification, design, and implementation. As a result, such professionals require a sound understanding of organizational principles and practices so that they can serve as an effective bridge between the technical and management communities within an organization, enabling them to work in harmony to ensure that the organization has the information and the systems it needs to support its operations. Information systems professionals are also involved in designing technology‐based organizational communication and collaboration systems. A majority of Information Systems programs are located in business schools. All Information Systems degrees combine business and computing coursework. A variety of Information Systems programs exist under various labels which often reflect the nature of the program. For example, programs in Computer Information Systems usually have the strongest technology focus, while programs in Management Information Systems emphasize the organizational and behavioral aspects of Information Systems. Degree program names are not always consistent. 1.4. Information Technology (Tecnologías de Información) Information Technology is a label that has two meanings. In the broadest sense, the term information technology is often used to refer to all of computing. In academia, it refers to undergraduate degree programs that prepare students to meet the computer technology needs of business, government, healthcare, schools, and other kinds of organizations. In some nations, other names are used for such degree programs. In the previous section, we said that Information Systems focuses on the information aspects of information technology. Information Technology is the complement of that perspective: its emphasis is on the technology itself more than on the information it conveys. Information Technology is a new and rapidly growing field that started as a grassroots response to the practical, everyday needs of business and other organizations. Today, organizations of every kind are dependent on information technology. They need to have appropriate systems in place. These systems must work properly, be secure, and upgraded, maintained, and replaced as appropriate. Employees throughout an organization require support from Information Technology staff who understand computer systems and their software and are committed to solving whatever computer‐related problems they might have. Graduates of information technology programs address these needs. Degree programs in information technology arose because degree programs in the other computing disciplines were not producing an adequate supply of graduates capable of handling these very real needs. Information Technology programs exist to produce graduates who possess the right combination of knowledge and practical, hands‐on expertise to take care of both an organization’s information technology infrastructure and the people who use it. Information Technology specialists assume responsibility for 3 selecting hardware and software products appropriate for an organization, integrating those products with organizational needs and infrastructure, and installing, customizing, and maintaining those applications for the organization’s computer users. Examples of these responsibilities include the installation of networks; network administration and security; the design of web pages; the development of multimedia resources; the installation of communication components; the oversight of email systems; and the planning and management of the technology lifecycle by which an organization’s technology is maintained, upgraded, and replaced. 2. COMPETENCIAS ESPECÍFICAS EN CADA ESPECIALIDAD O ITINERARIO Las directrices que regulan en España los estudios de grado en Ingeniería Informática han definido la siguiente tabla de competencias específicas que adquieren los ingenieros informáticos que cursen cada especialidad. Especialidad Competencias específicas que se adquieren en cada especialidad 1. Capacidad para tener un conocimiento profundo de los principios fundamentales y modelos de la computación y saberlos aplicar para interpretar, seleccionar, valorar, modelar, y crear nuevos conceptos, teorías, usos y desarrollos tecnológicos relacionados con la informática. 2. Capacidad para conocer los fundamentos teóricos de los lenguajes de programación y las técnicas de procesamiento léxico, sintáctico y semántico asociadas, y saber aplicarlas para la creación, diseño y procesamiento de lenguajes. 3. Capacidad para evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución y recomendar, desarrollar e implementar aquella que garantice el mejor rendimiento de acuerdo con los requisitos establecidos. 4. Capacidad para conocer los fundamentos, paradigmas y técnicas propias de los sistemas inteligentes y analizar, diseñar y construir sistemas, servicios y aplicaciones informáticas que utilicen dichas técnicas en cualquier ámbito de aplicación. Computación 5. Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en una forma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambientes o entornos inteligentes. 6. Capacidad para desarrollar y evaluar sistemas interactivos y de presentación de información compleja y su aplicación a la resolución de problemas de diseño de interacción persona computadora. 7. Capacidad para conocer y desarrollar técnicas de aprendizaje computacional y diseñar e implementar aplicaciones y sistemas que las utilicen, incluyendo las dedicadas a extracción automática de información y conocimiento a partir de grandes volúmenes de datos 4 1. Capacidad de diseñar y construir sistemas digitales, incluyendo computadores, sistemas basados en microprocesador y sistemas de comunicaciones. 2. Capacidad de desarrollar procesadores específicos y sistemas empotrados, así como desarrollar y optimizar el software de dichos sistemas. 3. Capacidad de analizar y evaluar arquitecturas de computadores, incluyendo plataformas paralelas y distribuidas, así como desarrollar y optimizar software para las mismas. Ingeniería 4. Capacidad de diseñar e implementar software de sistema y de comunicaciones. de 5. Capacidad de analizar, evaluar y seleccionar las plataformas hardware y software más Computadores adecúadas para el soporte de aplicaciones empotradas y de tiempo real. 6. Capacidad para comprender, aplicar y gestionar la garantía y seguridad de los sistemas informáticos. 7. Capacidad para analizar, evaluar, seleccionar y configurar plataformas hardware para el desarrollo y ejecución de aplicaciones y servicios informáticos. 8. Capacidad para diseñar, desplegar, administrar y gestionar redes de computadores. 1. Capacidad para desarrollar, mantener y evaluar servicios y sistemas software que satisfagan todos los requisitos del usuario y se comporten de forma fiable y eficiente, sean asequibles de desarrollar y mantener y cumplan normas de calidad, aplicando las teorías, principios, métodos y prácticas de la Ingeniería del Software. 2. Capacidad para valorar las necesidades del cliente y especificar los requisitos software para satisfacer estas necesidades, reconciliando objetivos en conflicto mediante la búsqueda de compromisos aceptables dentro de las limitaciones derivadas del coste, del tiempo, de la existencia de sistemas ya desarrollados y de las propias organizaciones. Ingeniería 3. Capacidad de dar solución a problemas de integración en función de las estrategias, del estándares y tecnologías disponibles. Software 4. Capacidad de identificar y analizar problemas y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales. 5. Capacidad de identificar, evaluar y gestionar los riesgos potenciales asociados que pudieran presentarse. 6. Capacidad para diseñar soluciones apropiadas en uno o más dominios de aplicación utilizando métodos de la ingeniería del software que integren aspectos éticos, sociales, legales y económicos. 5 Sistemas de Información Tecnologías de Información 1. Capacidad de integrar soluciones de Tecnologías de la Información y las Comunicaciones y procesos empresariales para satisfacer las necesidades de información de las organizaciones, permitiéndoles alcanzar sus objetivos de forma efectiva y eficiente, dándoles así ventajas competitivas. 2. Capacidad para determinar los requisitos de los sistemas de información y comunicación de una organización atendiendo a aspectos de seguridad y cumplimiento de la normativa y la legislación vigente. 3. Capacidad para participar activamente en la especificación, diseño, implementación y mantenimiento de los sistemas de información y comunicación. 4. Capacidad para comprender y aplicar los principios y prácticas de las organizaciones, de forma que puedan ejercer como enlace entre las comunidades técnica y de gestión de una organización y participar activamente en la formación de los usuarios. 5. Capacidad para comprender y aplicar los principios de la evaluación de riesgos y aplicarlos correctamente en la elaboración y ejecución de planes de actuación. 6. Capacidad para comprender y aplicar los principios y las técnicas de gestión de la calidad y de la innovación tecnológica en las organizaciones. 1. Capacidad para comprender el entorno de una organización y sus necesidades en el ámbito de las tecnologías de la información y las comunicaciones. 2. Capacidad para seleccionar, diseñar, desplegar, integrar, evaluar, construir, gestionar, explotar y mantener las tecnologías de hardware, software y redes, dentro de los parámetros de coste y calidad adecuados. 3. Capacidad para emplear metodologías centradas en el usuario y la organización para el desarrollo, evaluación y gestión de aplicaciones y sistemas basados en tecnologías de la información que aseguren la accesibilidad, ergonomía y usabilidad de los sistemas. 4. Capacidad para seleccionar, diseñar, desplegar, integrar y gestionar redes e infraestructuras de comunicaciones en una organización. 5. Capacidad para seleccionar, desplegar, integrar y gestionar sistemas de información que satisfagan las necesidades de la organización, con los criterios de coste y calidad identificados. 6. Capacidad de concebir sistemas, aplicaciones y servicios basados en tecnologías de red, incluyendo Internet, web, comercio electrónico, multimedia, servicios interactivos y computación móvil. 7. Capacidad para comprender, aplicar y gestionar la garantía y seguridad de los sistemas informáticos. 6 3. ASIGNATURAS A CURSAR Los alumnos del grado en Ingeniería Informática de la Escuela de Ingeniería y Arquitectura de Zaragoza comienzan a cursar asignaturas de una especialidad o itinerario en el sexto cuatrimestre de los estudios. Para completarla deben obtener 48 créditos que corresponden a las asignaturas que se detallan a continuación. ESPECIALIDAD EN COMPUTACIÓN ‐ 48 CRÉDITOS Cuatrim. Asignaturas Tipo Créditos Observaciones 6º ALGORITMIA BÁSICA OB 6 6º PROCESADORES DE LENGUAJES OB 6 6º APRENDIZAJE AUTOMÁTICO OB 6 7º ALGORITMIA PARA PROBLEMAS DIFÍCILES OB 6 7º RECUPERACIÓN DE INFORMACIÓN OB 6 7º INFORMÁTICA GRÁFICA OB 6 8º BIOINFORMÁTICA OP 6 8º ROBÓTICA OP 6 Elegir dos de ellas 8º VIDEOJUEGOS OP 6 8º VISIÓN POR COMPUTADOR OP 6 ESPECIALIDAD EN INGENIERÍA DE COMPUTADORES ‐ 48 CRÉDITOS Cuatrim. Asignaturas Tipo Créditos Observaciones 6º PROCESADORES COMERCIALES OB 6 6º MULTIPROCESADORES OB 6 6º SISTEMAS EMPOTRADOS 1 OB 6 7º SISTEMAS EMPOTRADOS 2 OB 6 7º CENTROS DE DATOS OB 6 7º DISEÑO Y ADMINISTRACIÓN DE REDES OB 6 8º LABORATORIO DE SISTEMAS EMPOTRADOS OB 6 8º GARANTÍA Y SEGURIDAD OB 6 ESPECIALIDAD EN INGENIERÍA DEL SOFTWARE ‐ 48 CRÉDITOS Cuatrim. Asignaturas Tipo Créditos Observaciones 6º INGENIERÍA DE REQUISITOS OB 6 6º ARQUITECTURAS SOFTWARE OB 6 6º VERIFICACIÓN Y VALIDACIÓN OB 6 7º INGENIERÍA WEB OB 6 7º GESTIÓN DEL PROYECTO SOFTWARE OB 6 7º SISTEMAS LEGADOS OB 6 8º LABORATORIO DE INGENIERÍA DEL SOFTWARE OB 6 8º METODOLOGÍAS ÁGILES Y CALIDAD OP 6 Elegir una de ellas 8º SISTEMAS Y TECNOLOGÍAS WEB OP 6 7 Cuatrim. 6º 6º 6º 7º 7º 7º 8º 8º 8º 8º Cuatrim. 6º 6º 6º 7º 7º 7º 7º 8º 8º ESPECIALIDAD EN SISTEMAS DE INFORMACIÓN ‐ 48 CRÉDITOS Asignaturas Tipo Créditos SISTEMAS DE INFORMACIÓN 2 OB 6 TECNOLOGÍAS DE LA INFORMACIÓN EN LA EMPRESA OB 6 BASES DE DATOS 2 OB 6 SISTEMAS LEGADOS OB 6 ALMACENES Y MINERÍA DE DATOS OB 6 SISTEMAS DE AYUDA A LA TOMA DE DECISIONES OB 6 SISTEMAS Y TECNOLOGÍAS WEB OB 6 COMERCIO ELECTRÓNICO OP 6 LABORATORIO DE SISTEMAS DE INFORMACIÓN OP 6 SISTEMAS DE INFORMACIÓN DISTRIBUIDOS OP 6 ESPECIALIDAD EN TECNOLOGÍAS DE INFORMACIÓN ‐ 48 CRÉDITOS Asignaturas Tipo Créditos TECNOLOGÍAS DE LA INFORMACIÓN EN LA EMPRESA OB 6 ADMINISTRACIÓN DE SISTEMAS 2 OB 6 BASES DE DATOS 2 OB 6 DISEÑO Y ADMINISTRACIÓN DE REDES OB 6 SISTEMAS LEGADOS OB 6 CENTROS DE DATOS OP 6 INGENIERÍA WEB OP 6 DISEÑO CENTRADO EN EL USUARIO. DISEÑO PARA OB 6 LA MULTIMEDIA SISTEMAS Y TECNOLOGÍAS WEB OB 6 8 Observaciones Elegir una de ellas Observaciones Elegir una de ellas