anexo b - formato capp-300413 - universidad veracruzana · 4. funciones y el trazado de gráficas...

44
UNIVERSIDAD VERACRUZANA LICENCIATURA TECNOLOGÍAS COMPUTACIONALES Plan de Estudios 2013 ANEXO B. Programas de Estudio por Asignatura

Upload: truongquynh

Post on 29-Nov-2018

213 views

Category:

Documents


0 download

TRANSCRIPT

UNIVERSIDAD VERACRUZANA

LICENCIATURA TECNOLOGÍAS COMPUTACIONALES

Plan de Estudios 2013

ANEXO B. Programas de Estudio por Asignatura

Fundamentos de Matemáticas Créditos 8 Horas 5 Pre-requisitos NO Justificación El curso de Fundamentos de Matemáticas busca complementar las habilidades relacionadas con el pensamiento numérico, analítico y variacional, que inicialmente fueron desarrolladas a lo largo de la educación básica y media. A la vez, construye las bases sólidas para el estudio del cálculo de funciones de una variable con el fin de que el estudiante se vaya familiarizando con algunos métodos de resolución de problemas computacionales, y así adquiera los conocimientos para estudios actuales y posteriores. Metodología de Trabajo De aprendizaje: Búsqueda en fuentes de información, Consulta de la bibliografía sugerida, Planteamiento de hipótesis, Mapas conceptuales, Discusiones grupales en torno a los mecanismos seguidos y las dificultades encontradas, Procedimientos, Discusiones acerca del uso y del valor del conocimiento, Visualización de escenarios futuros, Solución de problemas, Investigación. De enseñanza: Organización de grupos colaborativos, Exposición con apoyo tecnológico variado, Preguntas intercaladas, Enseñanza tutorial, Aprendizaje basado en problemas, Resúmenes, Mapas conceptuales, Redes semánticas. Objetivo General El estudiante desarrolla habilidades de abstracción, en particular puede construir modelos sencillos de situaciones relacionadas con la carrera. Analiza gráficos diversos, caracterizándolos para obtener información que le permite explicar los comportamientos de estos. Todo lo anterior con la disposición, responsabilidad, discreción y en trabajo colaborativo que las circunstancias requieran. Evaluación Examen el 60% Tareas el 15%, Trabajos el 15%, participación en clase el 10% Contenido Temático 1. Propiedades de los números reales

1.1 Operaciones de suma, resta, multiplicación y división, función valor absoluto (las que sean pertinentes en cada caso) con números naturales, enteros, racionales y reales.

1.2 Resolución de ecuaciones e inecuaciones de una variable 2. Álgebra elemental

2.1 Definición del concepto de polinomio y clasificación de polinomios de acuerdo a su grado y a su número de términos.

2.2 Suma y resta de polinomios. 2.3 Propiedades de la suma de polinomios. 2.4 Propiedades de la igualdad. 2.5 La Multiplicación de polinomios y la propiedad distributiva 2.6 Deducción de los productos notables. 2.7 Propiedades de la multiplicación de polinomios. 2.8 Reglas de factorización.

3. Elementos de teoría de conjuntos 3.1 Precisión del concepto de conjunto. 3.2 Contención e igualdad entre conjuntos. 3.3 Operaciones básicas con conjuntos: 3.4 Unión e intersección, complemento.

4. Funciones y el trazado de gráficas 4.1 Destacar la necesidad de un concepto que permita modelar la dependencia entre

variables numéricas. 4.2 Describir distintos tipos de funciones reales de una variable real (funciones lineales,

cuadráticas, polinomiales, racionales, logarítmicas y exponenciales, seno, coseno), 4.3 Propiedades de las funciones.

5.- Límites de funciones 5.1 Motivación al concepto de límite 5.2 Límites de funciones y sus propiedades 5.3 Cálculo de límites 5.4 Aplicaciones de los límites

6.-Derivadas e integrales

6.1 La tangente de una curva 6.2 Cálculo de derivadas usando fórmulas 6.3 Cálculo de áreas de figuras irregulares 6.4 Resolución de problemas de máximos y mínimos

Bibliografía GUSTFSSON Bertil. Fundamentals of Scientific Computing. Editorial Springer Verlag.2011. LARSON Ron. Pre cálculo. Editorial Reverte. 2008 SILVA Juan Manuel. Fundamentos de Matemáticas: Algebra, Trigonometría, Geometría Analítica y Cálculo. Ed. Limusa. 2003 STEWART James, LOTHAR Redlin, SALEEM Watson. Pre Cálculo. Editorial Tomson. 2008 VALVERDE RAMOS Agustín. Cálculo para la computación. Editorial Universidad de Málaga. 2009. Probabilidad y Estadística para la Computación Créditos 8 Horas 5 Pre-requisitos NO Justificación Dadas las problemáticas inherentes a las disciplinas de la computación, tales como la recopilación, organización e interpretación adecuada de datos estadísticos (información) que se presentan en diferentes situaciones, como son: detección de las necesidades de usuarios de servicios informáticos dentro de las empresas públicas y privadas o institucionales de otro otra índole (a través de encuestas), recopilación e interpretación de tiempos de servicio en sistemas de cómputo con el propósito de medir la eficiencia, determinación de la probabilidad de una transmisión eficiente de la información de sistemas conectados en redes, aplicación de la teoría de conjuntos, análisis de la relación entre el tiempo de respuesta de un sistema computacional y el volumen de datos manejados, y la frecuencia con la que ocurren diferentes tipos de fallas en los equipos de cómputo con el fin de diseñar programas de mantenimiento preventivo, etc.; se hace evidente la necesidad de aplicación de las técnicas relacionadas con la estadística descriptiva e inferencial. Metodología de Trabajo De aprendizaje: Solución de problemas, Prácticas en empresas o con datos reales, Experimentos de tipo aleatorio, Uso de software estadístico, Generación de datos mediante simulación, Análisis y discusión de casos. De enseñanza: Dirección de prácticas, Enseñanza basada en problemas, Preguntas intercaladas, Explicación de experimentos aleatorios, Demostración del uso de software estadístico, Explicación de técnicas sencillas de simulación con la finalidad de mostrar que los datos generados de esta manera se comportan de acuerdo a lo pronosticado por la teoría y, así mismo, ilustración de la

forma en la que datos simulados podrían auxiliar en la comprensión de la manera en la que operan algunas técnicas de inferencia estadística. Objetivo General El alumno aplica eficientemente las técnicas de probabilidad y de estadística descriptiva e inferencial estudiadas en el curso, dentro del contexto de aplicación de diversas materias de la carrera. Todo lo anterior con responsabilidad, discreción y espíritu de colaboración (trabajo en equipo) que requiere el acopio, la confidencialidad y el uso de la información estadística. Evaluación Examen 60%, Tareas el 15%, Trabajos el 15%, participación en clase 10% Contenido Temático 1. ESTADISTICA DESCRIPTIVA Y REGRESIÓN LINEAL SIMPLE.

1.1 Definición de Estadística 1.2 Población y muestra 1.3 Tipos de datos 1.4 Variables y tipos de variables 1.5 Tablas de datos 1.6 Gráfica de datos. 1.7 Medidas de tendencia central 1.8 Medidas de dispersión 1.9 Tablas de doble entrada 1.10 Correlograma 1.11 Coeficiente de correlación de Pearson 1.12 Regresión Lineal Simple

2. PROBABILIDAD 2.1 Experimentos aleatorios y deterministas 2.2 Espacio muestral 2.3 Combinaciones y permutaciones 2.4 Definición clásica de la probabilidad 2.5 Teoremas básicos de probabilidad 2.6 Probabilidad condicional 2.8 Reglas de multiplicación y de probabilidad total. 2.9 Independencia 2.10 Teorema de Bayes 2.11 Variable aleatoria 2.12 Variables aleatorias discretas. 2.13 Distribución de probabilidad 2.14 Media y varianza de una variable aleatoria discreta. 2.15 Distribución Binomial 2.16 Distribución Hipergeométrica 2.17 Distribución de Poisson 2.18 Distribución Normal

3. ESTIMACION Y PRUEBA DE HIPÓTESIS

3.1 Estimadores puntuales 3.2 Estimadores por intervalo 3.3 Hipótesis Nula y Alterna 3.4 Errores de tipo I y tipo II 3.5 Prueba de hipótesis para la media en muestras grandes. 3.6 Prueba de hipótesis para la media en muestras pequeñas.

Bibliografía ALAN Stuart, ORD J. Keith, Distribution Theory. London: Edward Arnold; New York: Américas by Halsted Press. 1994 ANDERSON, David R.; SWEENEY, Dennos J. y WILLIAMS, Thomas A. Estadística para Administración y Economía. México. Edit.: CENGAGE. 2008. FREUND, John E. y WALPOLE, Ronald E. Estadística Matemática con Aplicaciones. México. Edit.: Pretice may. 1992. INFANTE Gil, Sid; ZÁRATE DE LARA, Guillermo. Métodos Estadísticos. Trillas. 2005 MONGOMERY Runger. Probabilidad y Estadística. Limusa Wiley. 2003 Tecnologías de Información para la Innovación Créditos 6 Horas 4 Pre-requisitos NO Justificación La Tecnología de la Información (TI) es una disciplina académica dentro del área de la Computación. Se trata de una disciplina vasta que se encuentra en constante expansión y que se relaciona íntimamente con otras disciplinas dentro y fuera de la Computación. En este contexto, se hace indispensable orientar al estudiante para que comprenda qué es la TI, la distinga de otras disciplinas e identifique las oportunidades y los retos que tendrá como profesional al crear y usar tecnologías innovadoras para cambiar la realidad. Metodología de Trabajo De aprendizaje: Realizar actividades de aprendizaje planificadas por el docente en el aula conforme a los contenidos, Realizar tareas e investigaciones sobre los contenidos, Realizar exposiciones individuales y grupales, Discusión grupal De enseñanza: De las lecturas sugeridas y contenidos, el alumno realizará: mapas conceptuales, cuadros sinópticos, análisis, síntesis. Objetivo General El estudiante identifica la disciplina de TI, así como sus oportunidades y retos al crear y usar tecnologías innovadoras para cambiar la realidad, desde un punto de vista ético y sustentable con compromiso, creatividad, dedicación, responsabilidad, tolerancia Evaluación Exámenes escritos: 50%; Exposiciones: 30%; Tareas: 20% Contenido Temático 1. Desarrollo histórico de la computación, la Internet y la WWW 2. Tecnología de Información

2.1. Definición 2.2. Pilares: programación, bases de datos, redes, interacción humano-computadora,

tecnologías web 3. Disciplinas relacionadas

3.1. Ciencias Computacionales 3.2. Ingeniería de Software 3.3. Ingeniería Computacional 3.4. Sistemas de Información 3.5. Otras: Matemáticas, Ciencias Cognitivas, Sociología, Psicología

4. Temas transversales 4.1. Usuarios y su relevancia 4.2. Modelo de sistemas de TI 4.3. Aseguramiento y seguridad de la Información

4.4. Profesionalismo (aprendizaje continuo, desarrollo profesional, ética, legalidad, responsabilidad, sustentabilidad)

4.5. Habilidades interpersonales 5. Dominios aplicativos

5.1. Medicina 5.2. Comercio 5.3. Manufactura 5.4. Educación 5.5. Entretenimiento 5.6. Otros

Bibliografía BHAMBRI P. y SINGH S. Fundamentals of Information Technology: Introduction to Applications of IT. LAP Lambert Academic Publishing, 2013 RAMAJARAN, V. Introduction to Information Technology. Prentice-Hall of India, 2004 WILLIAMS, Brian. Using Information Technology. Career Education; 8th ed., 2009 Introducción a la Programación Créditos 8 Horas 6 Pre-requisitos NO Justificación El desarrollo de algoritmos a través de una metodología adecuada y el manejo de los conceptos básicos de programación son indispensables en la formación de cualquier profesional en el área de la computación, ya que en él se forman las primeras capacidades y habilidades para la solución de problemas. Metodología de Trabajo De aprendizaje: Prácticas en centro de cómputo, Discusión de conceptos, Elaboración de un proyecto que integre los conceptos vistos en el curso, Búsqueda y consulta de información. De enseñanza: Dirección de prácticas, Revisión individual de trabajos en equipo, Organización de grupos colaborativos, Tareas para estudio independiente, Discusión dirigida, Exposición utilizando técnicas de motivación Objetivo General El estudiante analiza, diseña y prueba algoritmos aplicando los conceptos básicos de la programación orientada a objetos, utilizando fuertemente la lógica básica de programación con estructuras de control y abstracción de datos en la solución de problemas, mediante una actitud responsable, crítica, creativa y con tolerancia a la frustración. Evaluación Examen: 60 %, Prácticas: 10%, Proyecto integrador: 30% Contenido Temático 1. Conceptos básicos:

1.1. Concepto y propiedades de un algoritmo. 1.2. Programa 1.3. Lenguaje de programación 1.4. Paradigmas de programación.

2. Conceptos de programación. 2.1. Tipos de datos (Simples y estructurados – arreglos). 2.2. Operadores, expresiones, identificador.

2.3. Estructuras de control (secuencial, selectivas y repetitivas). 2.4. Conceptos relacionados a las estructuras de control (bandera, contadores, acumuladores,

ciclo e iteración …). 3. Fundamentos de la Programación Orientada a Objetos (POO)

3.1. Definición de POO 3.2. Objeto 3.3. Clase 3.4. Propiedades o atributos 3.5. Estado de un objeto 3.6. Métodos o Comportamientos 3.7. Mensaje. 3.8. Abstracción y encapsulamiento. 3.9. Paso de parámetros (por valor y por referencia) 3.10. Declaración de variables de instancia 3.11. Invocación de los métodos 3.12. Constructores y destructores de clase

4. Notación para la Representación de Objetos, Clases, Atributos y Métodos. Bibliografía DAVID J. Eck. Introduction to Programming Using Java, Sixth Edition.2011. KNOWLTON Jim. Python. Anaya Multimedia. 2009 MARZAL Andrés. Introducción a la programación con Python. Publicacions de la Universitat Jaume I. Servei de Comunicació I Publicacions Álgebra Lineal para la Computación Créditos 7 Horas 5 Pre-requisitos Fundamentos de

Matemáticas Justificación Se trata de una Experiencia Educativa que es básicamente una herramienta metodológica para otras, y que desarrolla en el estudiante su capacidad de abstracción, dado que el uso de las diferentes técnicas del Álgebra Lineal deben estar precedidas por una etapa de abstracción o modelación de una problemática determinada. Metodología de Trabajo De aprendizaje: Búsqueda de fuentes de información, Consulta de la bibliografía sugerida, Planteamiento de hipótesis, Mapas conceptuales, Discusiones grupales en torno a los mecanismos seguidos y las dificultades encontradas, Procedimientos, Analogías, Discusiones acerca del uso y del valor del conocimiento, Uso de paquetes informáticos para la resolución de ejercicios, Visualización de escenarios futuros, Solución de problemas, Investigación De enseñanza: Organización de grupos colaborativos, Exposición con apoyo tecnológico variado, Preguntas intercaladas, Enseñanza tutorial, Aprendizaje basado en problemas, Resúmenes, Mapas conceptuales, Redes semánticas, Uso de paquetes informáticos para la resolución de ejercicios. Objetivo General El estudiante desarrolla habilidades de abstracción que le permiten manipular modelos matemáticos, matrices, sistemas de ecuaciones y vectores en un ámbito aplicativo de las tecnologías computacionales, todo lo anterior con disposición, responsabilidad, discreción y espíritu de colaboración.

Evaluación Examen: 60% Tareas: 15%, Trabajos: 15%, Participación en clase: 10% Contenido Temático 1. ECUACIONES LINEALES Y MATRICES

1.1 Definición de un Sistema de Ecuaciones Lineales. 1.2 ¿Por qué estudiar los Sistemas de Ecuaciones Lineales? 1.3 Análisis de una Ecuación Lineal con dos incógnitas. 1.4 Análisis de un Sistema de dos Ecuaciones Lineales con dos incógnitas, Análisis de

un Sistema general de m Ecuaciones Lineales con n incógnitas. 1.5 Método de eliminación de Gauss. 1.6 Método de eliminación de Gauss-Jordan. 1.7 Sistemas Homogéneos. 1.8 Vectores y Matrices. 1.9 Operaciones con matrices. 1.10 Matrices y Sistemas de ecuaciones. 1.11 Tipos de matrices. Triangular, diagonal, simétrica, transpuesta, inversa, etc. 1.12 Determinantes 1.13 Determinantes e Inversas. 1.14 Regla de Cramer.

2. VECTORES EN R² Y EN R³. 2.1 Vectores en el plano. 2.2 Dirección. Magnitud y operaciones con vectores. 2.3 Vectores unitarios, paralelos, ortogonales. 2.4 Producto escalar y proyección de un vector sobre otro. 2.5 Ángulo entre dos vectores. 2.6 Vectores en el espacio R³. 2.7 El producto Cruz de los vectores. 2.8 Rectas y planos en el espacio.

3. ESPACIOS VECTORIALES Y TRASFORMACIONES LINEALES 3.1 Definición y ejemplos de Espacios Vectoriales. 3.2 Definición y ejemplos Sub-espacio. 3.3 Independencia Lineal. 3.4 Definición y ejemplos de Bases y Dimensión 3.5 Transformaciones Lineales: Definición y ejemplos. 3.6 Representación de matricial de una Transformación Lineal. 3.7 Transformaciones Bidimensionales Básicas y sus aplicaciones: Rotación, Reflexión, Translación, Escalamiento y Afilamiento

Bibliografía BEAUREGARD, Fraleigh. Álgebra Lineal. México Addison - Wesley Iberoamericana.1989. FLOREY, Francis G. Fundamentos de Algebra Lineal y Aplicaciones. Prentice-Hall México. 1999. GROSSMAN, Stanley I. Álgebra Lineal con Aplicaciones Edit.: McGraw-Hill. Serie Schaum. 2001. LAY, C. Álgebra Lineal y sus aplicaciones Cuarta edición Prentice-Hall. 2011. Programación Créditos 9 Horas 6 Pre-requisitos Introducción a la

Programación Justificación Un profesionista en el área de la computación debe ser capaz de construir, modificar e integrar soluciones de software, dentro de una gama muy amplia de actividades, para ello los

conocimientos en paradigmas de programación, y en particular el de programación orientado a objetos, son parte fundamental para la creación de soluciones computacionales. Metodología de Trabajo De aprendizaje: Búsqueda y consulta de fuentes de información, Lectura, síntesis e interpretación, Análisis y discusión de casos, Mapas conceptuales, Planteamiento de hipótesis, Analogías, Discusiones grupales en torno de los mecanismos seguidos para aprender y las dificultades encontradas, Estudio de casos. De enseñanza: Organización de grupos colaborativos, Dirección de prácticas, Tareas para estudio independiente, Discusión dirigida, Exposición con apoyo tecnológico variado, Enseñanza tutorial, Aprendizaje basado en problemas. Objetivo General El estudiante implementa soluciones computacionales a problemas, analizando las características del problema a resolver, diseñando y construyendo métodos sistemáticos por medio de una especificación precisa en un lenguaje de programación, empleando el paradigma de la programación orientada a objetos, y buenas prácticas de codificación y documentación de código con creatividad y disposición para trabajar en equipo, siendo colaborativo, tolerante y proactivo. Evaluación Examen: 60 %, Prácticas: 20%, Proyecto integrador: 20% Contenido Temático 1. CLASES Y PAQUETES.

1.1. Clases y objetos. 1.2. Encapsulamiento 1.3. Paquetes. 1.4. Modelado UML. 1.5. Modificadores de acceso (private, public, default…). 1.6. Ámbito de atributos y métodos. 1.7. Creación y eliminación de Objetos. 1.8. Sobrecarga de Métodos. 1.9. Métodos Recursivos

2. MECANISMOS DE ABSTRACCION DE LA PROGRAMACIÓN OO.

2.1. Relaciones. 2.2. Mecanismos de reutilización 2.3. Composición. 2.4. Herencia. 2.5. Interfaces 2.6. Polimorfismo 2.7. Clases Abstractas y Concretas.

3. FLUJOS DE ENTRADA Y SALIDA.

3.1. Flujos entrada 3.2. Flujos salida 3.3. Cadenas. 3.4. Archivos (Búsqueda Hash) 3.5. Errores y excepciones. 3.6. Persistencia

4. PROYECTO INTEGRADOR

4.1. Identificación y modelado. 4.2. Diagramas de clase. 4.3. Diagramas de secuencia.

Bibliografía ECK, David J. Introduction to Programming Using Java, SixtEdition, disponible desde el sitio: http://math.hws.edu/javanotes/, consultado el 12 Diciembre del 2012 HORSTMANN, Cay y CORNELL, Gary. Core Java Volumen I Fundamentals. Novena Edición. Ed. Prentice Hall - Sun Microsystem press, 2012. JOYANES, Luis. Programación en Java 6.Ed. McGraw-Hill interamericana. 2011. SIERRA K., BATES B. Head First Java. Ed. O’Relly. 2005. Matemáticas Discretas Créditos 8 Horas 5 Pre-requisitos Álgebra Lineal Justificación Siendo de carácter cuantitativo la gran mayoría de las relaciones que constituyen el objeto de estudio de la computación, debe contemplarse el logro de habilidades, destrezas y aptitudes para la recolección y representación de datos, la formulación y prueba de hipótesis, el modelado, la predicción, el diseño de experimentos y el análisis de resultados. Así, el proceso teórico de la Matemática Discreta se aboca a cuestiones tales como definiciones, axiomas, teoremas, pruebas e interpretación de resultados, desde el modelo de Von Neumann hasta los establecidos por los límites de la computación; todos ellos necesarios en el desarrollo y la comprensión de los aspectos subyacentes en la disciplina de la Computación. En este sentido, esta Experiencia Educativa constituye un paso preliminar al estudio del acervo teórico, metodológico e instrumental, tanto en la investigación como en el desarrollo y en las aplicaciones, que se relaciona con los elementos de ingeniería y que se le utiliza en las etapas de codificación, requerimientos, diseño, implementación, verificación y pruebas, donde se requiere que el estudiante evalúe alternativas, costos y desempeño sujeto a las restricciones del mundo real. Metodología de Trabajo De aprendizaje: Búsqueda de fuentes de información, Consulta de la bibliografía sugerida, Planteamiento de hipótesis, Mapas conceptuales, Discusiones grupales en torno a los mecanismos seguidos y las dificultades encontradas, Procedimientos, Analogías, Discusiones acerca del uso y del valor del conocimiento, Visualización de escenarios futuros, Solución de problemas, Investigación De enseñanza: Organización de grupos colaborativos, Exposición con apoyo tecnológico variado., Preguntas intercaladas, Enseñanza tutorial, Aprendizaje basado en problemas, Resúmenes, Mapas conceptuales o redes semánticas. Objetivo General El alumno comprende y aplica los conocimientos clásicos de la disciplina matemática que le proporcionan la base formativa en el desarrollo de habilidades de abstracción y en la expresión de formalismos, comprende los conocimientos específicos fundamentales para la Computación, contribuyendo en la comprensión de los conocimientos previos mediante el auto aprendizaje, la solución de ejercicios, el trabajo en equipo, la investigación, mostrando en lo anterior interés, responsabilidad y coherencia. Evaluación Examen: 60% Tareas: 15%, Trabajos: 15%, Participación en clase: 10% Contenido Temático 1. LÓGICA.

1.1. Nociones fundamentales de lógica. 1.2. Proposiciones y tablas de verdad. 1.3. Métodos de demostración. 1.4. Argumentos computacionales.

2. RELACIONES Y FUNCIONES.

2.1. El producto cartesiano. 2.2. Definición y representación de una relación. 2.3. Matrices y relaciones 2.4. Propiedades de las relaciones. 2.5. Relaciones de equivalencia. 2.6. Órdenes parciales. 2.7. Cerradura transitiva. 2.8. Funciones. 2.9. Tipos de funciones.

3. TEORÍA DE GRAFOS.

3.1. Definición y ejemplos. 3.2. Caminos y ciclos. 3.3. Circuitos de Euler y de Hamilton. 3.4. Representaciones de un grafo. 3.5. Grafos isomorfos. 3.6. Algoritmos sobre grafos.

4. AUTÓMATAS LENGUAJES Y GRAMÁTICAS

4.1. Circuitos secuenciales y máquinas de estado finito. 4.2. Autómatas de estado finito. 4.3. Lenguajes y gramáticas. 4.4. Máquina de Turing.

Bibliografía GRASSMANN W., TREMBLAY J. Matemáticas Discretas y lógica. Primera edición. Prentice Hall, Madrid 1996. GRIMALDI, Ralph. Matemáticas Discreta y combinatoria. Primera edición. Eddison-Wesley iberoamericana, México 1989. JIMÉNEZ Murillo José A. Matemáticas para la Computación. Primera edición, Alfaomega, México 2009 JOHNSONBAUGH, Richard. Matemáticas Discretas. Cuarta edición. Prentice Hall, México 1999. KOLMAN B., Busby R. y Ross S. Estructuras de matemáticasdiscretaspara la computación. Tercera edición. Prentice Hall Hispanoamericana, México 1997. MOTT. Discrete Math for Computer Science. Segunda edición. Prentice-Hall. 1985. ROSEN, Kenneth. Discrete Mathematics & its applications. Tercera edición. McGraw-Hill. 1995 ROSS K., WRIGHT C. Matemáticas Discretas. Segunda edición. Prentice Hall Hispanoamericana, México 1990. Programación Avanzada Créditos 9 Horas 6 Pre-requisitos NO Justificación Con el avance tecnológico de la actualidad es fundamental que un licenciado en el área de la computación sea capaz de construir aplicaciones computacionales que ofrezcan a los usuarios interfaces gráficas de calidad en ambientes de escritorio y móvil, aplicando conceptos de eventos, multiprogramación y acceso a datos con una actitud comprometida, creativa y responsable, además de demostrar curiosidad, honestidad, disciplina, confianza y seguridad al momento de aplicar los conceptos.

Metodología de Trabajo De aprendizaje: Práctica en centro de cómputo, Discusión de conceptos, Elaboración de un proyecto que integre los conceptos visto en el curso, Búsqueda y consulta de información. De enseñanza: Dirección de prácticas, Revisión individual de trabajos en equipo, Organización de grupos colaborativos, Tareas para estudio independiente, Discusión dirigida, Exposición con apoyo tecnológico variado. Objetivo General El estudiante comprende, aplica, identifica y utiliza conceptos y técnicas para desarrollar aplicaciones de software gráficas que funcionen en ambientes centralizados de escritorio y móviles utilizando conceptos de programación orientada a eventos, concurrente y persistencia de datos, a través de una actitud de compromiso, creatividad, disciplina, honestidad, integridad y responsabilidad. Evaluación Examen: 40%, Prácticas: 20%, Proyecto integrador: 40%

Contenido Temático 1. Conceptos de las interfaces gráficas de usuario (GUI)(escritorio, móvil)

1.1. Características y evolución de las interfaces de usuario (evolución: comandos, gráficas, naturales)

1.2. Plataformas de escritorio (Windows, iOS, GNU/Linux) y móviles (JME, Android, iOS, BlackBerry, etc.)

1.3. Controles 1.4. Contenedores 1.5. Administradores de contenedores (Layouts) 1.6. Gráficos (figuras geométricas, etc.)

2. Conceptos de la Programación Orientada a Eventos 2.1. Tipos de eventos (a nivel de: interfaz, aplicación, SO) 2.2. Manejo de eventos (GUI , NO GUI: Mouse, teclado, timers, GPS, Proximidad,

Acelerómetro) 3. Fundamentos de la programación concurrente.

3.1. Proceso, hilos 3.2. Exclusión mutua 3.3. Diferencias entre concurrencia y paralelismo

4. Programación reflexiva 4.1. Metadatos en tiempo de ejecución (tipos, atributos, métodos) 4.2. Aplicación de la reflexión 4.3. Heurístico: Inspeccionar e invocar métodos usando reflexión

5. Conceptos para el acceso a datos en aplicaciones OO. 5.1. Agrupamientos de conexiones (pool de conexiones) 5.2. Características generales de los Frameworks ORM 5.3. Entity Framework, Hibernate), MongoDB 5.4. Lenguajes de consulta (Linq)

Bibliografía ECK, David. Introduction to Programming Using Java, Sixth Edition, disponible desde el sitio: http://math.hws.edu/javanotes/, consultado el 12 Diciembre del 2012 JOYANES Luis. Programación en Java 6. Ed. MCGRAW-HILL INTERAMERICANA. México. 2011. SIERRA K., BATES B. Head First Java. Ed. O’Reilly. 2005

Estructuras de Datos Créditos 9 Horas 6 Pre-requisitos NO Justificación Las estructuras de datos y los algoritmos relacionados con ellas repercuten de forma directa en el almacenamiento y tratamiento de la información, tanto desde el punto de vista físico como funcional. Por tanto, el amplísimo ámbito de la programación se construye sobre los cimientos de dichos algoritmos y estructuras de datos, de ahí la importancia de su conocimiento. Metodología de Trabajo De aprendizaje: Búsqueda y consulta de información, Discusión de conceptos, Prácticas en computadora, Elaboración de proyectos que integren los conceptos vistos en el aula. De enseñanza: Dirección de prácticas, Revisión individual de trabajos en equipo, Organización de grupos colaborativos, Tareas para estudio independiente, Discusión dirigida, Exposición con apoyo tecnológico variado. Objetivo General El estudiante a partir de un problema de computación selecciona y aplica la estructura de datos adecuada para el mismo con la finalidad de optimizar su rendimiento y usa la programación orientada a objetos, buenas prácticas de codificación y documentación de código con creatividad y disposición para trabajar en equipo, siendo colaborativo, tolerante y proactivo. Evaluación Examen: 60 %, Prácticas: 20%, Proyecto integrador: 20% Contenido Temático 1. Conceptos básicos sobre estructuras de datos

1.1. Tipos de datos 1.2. Tipos de datos simples y tipos de datos estructurados 1.3. Representación estática y dinámica

2. Recursión 2.1. Métodos recursivos 2.2. Recursión infinita 2.3. Resolución de problemas recursivos

3. Excepciones 3.1. Condiciones de error en programas 3.2. Manejo de excepciones 3.3. Clases de excepciones 3.4. Aplicaciones prácticas de manejo de excepciones

4. Representación de estructuras de datos dinámicas 4.1. Tipo de dato abstracto 4.2. Memoria dinámica

5. Listas ligadas 5.1. Fundamentos teóricos 5.2. Clasificación de listas ligadas 5.3. Implantación de listas ligadas 5.4. Operaciones básicas de listas ligadas 5.5. Operaciones complementarias de listas 5.6. Aplicaciones de listas ligadas

6. Pilas 6.1. Fundamentos teóricos 6.2. Implantación de pilas 6.3. Operaciones básicas de pilas 6.4. Operaciones complementarias de pilas

6.5. Aplicaciones de pilas 7. Colas

7.1. Fundamentos teóricos 7.2. Implantación de colas 7.3. Operaciones básicas de colas 7.4. Operaciones complementarias de colas 7.5. Aplicaciones de pilas

8. Árboles 8.1. Fundamentos teóricos 8.2. Tipos de árboles 8.3. Implantación de árboles binarios de búsqueda 8.4. Operaciones básicas de árboles binarios de búsqueda 8.5. Operaciones complementarias de árboles binarios de búsqueda 8.6. Aplicaciones de árboles binarios de búsqueda

9. Grafos Bibliografía CAIRÓ y GUARDATTI, Estructuras de Datos, 2da. Ed, Mc Graw Hill, 2002 JOYANES AGUILAR, Luis, Programación en C++: Algoritmos, Estructuras de datos y objetos, McGraw Hill, 2000 Tópicos Selectos de Programación Créditos 8 Horas 5 Pre-requisitos NO Justificación El avance tecnológico y la demanda de soluciones informáticas relacionadas con los ambientes distribuidos de la actualidad hacen indispensable que un licenciado en Tecnologías Computacionales debe ser capaz de construir soluciones distribuidas y de calidad, particularmente en ambientes web y móviles, representando de manera abstracta sus componentes y aprovechando las tecnologías emergentes y novedosas de mayor aceptación, con una actitud comprometida, honesta, creativa, responsable y de colaboración, y demostrando además tener apertura, disciplina, confianza y seguridad que le garantice la actualización de su perfil posteriormente a su egreso. Metodología de Trabajo De aprendizaje: Práctica en centro de cómputo, Discusión de conceptos, Elaboración de un proyecto que integre los conceptos vistos en el curso, Búsqueda y consulta de información. De enseñanza: Dirección de prácticas, Revisión individual de trabajos en equipo, Organización de grupos colaborativos, Tareas para estudio independiente, Discusión dirigida, Exposición con apoyo tecnológico variado. Objetivo General El estudiante comprende, identifica, utiliza y aplica los mecanismos y técnicas que le permiten desarrollar aplicaciones empresariales web y móviles, utilizando los conceptos de nuevas tecnologías y lenguajes de programación en un marco de desarrollo novedoso y actualizado, demostrando apertura, colaboración, creatividad, compromiso, disciplina, honestidad, integridad, seguridad y responsabilidad. Evaluación Examen: 40%, Prácticas: 20%, Proyecto integrador: 40%

Contenido Temático 1. Patrones

1.1. Patrones de diseño OO 1.2. Patrones de arquitectura

2. Introducción a los Sistemas Distribuidos 2.1. Modelos 2.2. Programación en red 2.3. Programación web 2.4. Programación orientada a componentes distribuidos

3. Frameworks para el desarrollo de servicios (Apache Axis ,WCF) 3.1. Características 3.2. Interoperabilidad 3.3. Tipos de Mensajes 3.4. Seguridad 3.5. Consumo de servicios

4. Frameworks para desarrollo de aplicaciones OO (Spring, Struts, ASP.NET MVC) 4.1. Características 4.2. Arquitecturas 4.3. Creación de Modelos, Vistas y controladores

5. Frameworks para el desarrollo móvil (Cross Platform Mobile) 5.1. Depuración y pruebas 5.2. Empaquetado y distribución de aplicaciones

Bibliografía COULOURIS George, DOLLIMORE Jean, KINDBERG Tim, BLAIR Gordon, Distributed Systems: Concepts and Design (5th Edition)- Addison-Wesley .2011. FOWLER Martin. Patterns of Enterprise Application Architecture. Addison-Wesley, 2002. GAMMA Erich. HELM Richard, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994. MAHMOOD Zaigham, HILL Richard. Cloud Computing for Enterprise Architectures. Addison-Wesley. 2011. WARGO John M., PhoneGap Essentials: Building Cross-Platform Mobile Apps, Addison-Wesley, 2012. Sistemas Web Créditos 8 Horas 5 Pre-requisitos NO Justificación Actualmente existe la necesidad de desarrollo de software que trabaje en un ambiente de red, con acceso a la información desde cualquier lugar a través de internet, por ello en esta experiencia educativa se revisan los elementos básicos necesarios para poder desarrollar sistemas distribuidos bajo esta plataforma web, siguiendo una metodología para su diseño e implementación. Metodología de Trabajo De aprendizaje: Consulta de fuentes de información, lectura, síntesis e interpretación, mapas conceptuales, imitación de modelos, tareas para estudio independiente, diseño de modelos, diseño de prototipos. De enseñanza: Organización de grupos colaborativos, dirección de prácticas, discusión dirigida, prácticas guiadas, exposición con apoyo tecnológico variado, aprendizaje basado en problemas.

Objetivo General El estudiante comprende las diferentes actividades involucradas en el desarrollo de software para ser usado sobre redes; conoce los conceptos asociados a las aplicaciones web, su evolución, métodos, lenguajes y herramientas empleados en su desarrollo; aplica este conocimiento en el desarrollo de un proyecto de una problemática típica de este contexto. Todo lo anterior con compromiso, honestidad, respeto y creatividad. Evaluación Examen teórico: 15%, examen práctico: 15%, proyecto: 30%, tareas y prácticas: 30%, participación: 10%. Contenido Temático 1. Introducción

1.1. Evolución 1.2. Arquitectura 1.3. Conceptos generales de servicios web 1.4. Estándares de servicios web 1.5. Tecnologías para el desarrollo de sistemas web 1.6. Planificación de sistemas web

2. Protocolos de Internet 2.1 Vista general del protocolo TCP 2.2. Protocolos de la capa de Aplicación 2.3. Protocolo HTTP

3. Lenguajes 3.1 XML 3.2 HTML 3.3 Uso de formularios web 3.4 Lenguajes de script del lado del cliente 3.5 Web semántica

4. Metodologías de desarrollo Web 5. Servidores de aplicaciones

5.1. Tipos de servidores Web 5.2. Configuración de servidores

6. Diseño de aplicaciones 6.1. Hojas de estilo en cascada CSS 6.2. Tipos de Selectores 6.3. Compatibilidad con navegadores 6.4. Diseño Web Responsivo

7. Conceptos de Accesibilidad 7.1. Estándares de accesibilidad en aplicaciones Web 7.2. Iniciativa de accesibilidad Web (WAI) 7.3. Guías de accesibilidad de contenidos

8. Multimedia en la Web 8.1. HTML5 video y audio 8.2. Técnicas de animación Web

9. Seguridad de aplicaciones Web 9.1. Reconocimiento de amenazas 9.2. Técnicas de mitigación de riesgos

10. Generación dinámica de contenido 11. Lenguajes de programación Bibliografía KESSLER, Carola “Diseño Web: teoría y práctica para el desarrollo de sitios”, MP Ediciones 2004. NEWCOMER, Eric “Understanding Web Services: XML, WSDL, SOAP and UDDI”, Addison Wesley, 2002.

NIELSEN, Jakob “Usabilidad: Diseño de Sitios Web”, Prentice Hall, 2000. TROELSEN, Andrew “Servicios Web XML de Microsoft .NET”. Tecnologías Web Créditos Horas Pre-requisitos NO Justificación Los sistemas web son aplicaciones modulares auto descriptivas, las cuales actualmente han tomado gran auge en el desarrollo de sistemas distribuidos, empleando tecnologías de servicios web. El aspecto más interesante de los servicios web, es que cualquier usuario de XML puede acceder a ellos independientemente de la plataforma, lenguaje o modelo de objetos que utilice, para lo cual es necesario proporcionar una visión global y actual de estas tecnologías y los estándares que respaldan los modelos Web Service. Metodología de Trabajo De aprendizaje: Búsqueda de fuentes de información, exposición, investigaciones, consulta en fuentes de información. De enseñanza: Organización de grupos colaborativos, exposición con apoyo tecnológico variado, prácticas guiadas. Objetivo General El alumno aplica técnicas de diseño e implementación de sistemas Web, considerando conceptos de patrones estructurales de diseño y lenguajes de programación orientados a objetos; reconoce las ventajas y desventajas en el uso de frameworks para el desarrollo de aplicaciones web; accede a múltiples fuentes de datos y aplica técnicas de SEO (Search Engine Optimization) para aumentar la visibilidad de las aplicaciones web en internet. Evaluación Examen 30%, prácticas 20%, proyecto 40%, tareas 10% Contenido Temático

1. Patrones estructurales de diseño de aplicaciones web 1.1. Introducción al uso de patrones 1.2. Patrones de diseño MVC, MVP, MVVM 1.3. Ventajas y desventajas en el uso de patrones

2. Frameworks de desarrollo Web 2.1. Tipos de frameworks existentes 2.2. Ventajas y desventajas en el uso e implementación de frameworks 2.3. Implementación de frameworks para el desarrollo Web

3. Servicios Web 3.1. Arquitectura Orientada a Servicios 3.2. Servicios Web XML (SOAP) 3.3. Servicios Web RESTFul 3.4. Seguridad en Servicios Web 3.5. Implementación de servicios Web 3.6. Comunicación punto a punto en aplicaciones Web

4. Monitoreo y análisis de servidores Web 4.1. Optimización de servidores Web 4.2. Seguridad en servidores Web

5. Mejores prácticas de configuración

Bibliografía BUSCHMANN, MEUNIER, ROHNERT, SOMMERLAD, STAL, Pattern Oriented Software Architecture: A System of Patterns, Wiley, 1996 GAMMA, Erich y HELM, Richard y JOHNSON, Ralph y VLISSIDES,John. Design Patterns: Elements of Reusable Object-Oriented Software, Addison Wesley. 1998 LARMAN Craig. UML y Patrones. Una introducción al análisis y diseño orientado a objetos, Prentice Hall, 2003 Ingeniería de Software Créditos 9 Horas 6 Pre-requisitos NO Justificación El desarrollo de software ha crecido hasta abarcar problemas crecientemente complejos, donde resulta muy útil la tecnología de objetos, especialmente usando el estándar UML. Al mismo tiempo, los enfoques modernos se centran en el usuario, por lo cual resultan de gran importancia el conocer, de modo preciso, cuáles son sus necesidades (requerimientos) y de qué manera resulta más fácil de usar el producto final. Aunado a todo lo anterior, para mejorar la calidad y reducir el tiempo y el costo de desarrollo, se emplean técnicas de reuso de artefactos de software. El desarrollo de software moderno requiere del trabajo en equipo, con responsabilidades bien delimitadas. Metodología de Trabajo De aprendizaje: Búsqueda de fuentes de información, consulta de información en fuentes variadas, lectura, síntesis e interpretación de las fuentes a través de reportes de lectura, análisis y discusión de casos, realización de prácticas y ejercicios en clase, discusiones grupales sobre avance de proyecto, visualización de escenarios futuros. De enseñanza: Organización de grupos colaborativos, estudio de casos, exposición con apoyo tecnológico variado, organización y coordinación de visitas a empresas, presentación de ejemplos, revisión de avances, plenarias sobre lecturas y reportes. Objetivo General El alumno comprende lo que es la Ingeniería de Software, la importancia de seguir un proceso de desarrollo adecuado a un problema, la importancia del modelado, lo que abarcan las actividades de Ingeniería de Software y conoce algunas metodologías representativas. Para la parte práctica elabora una especificación de requerimientos de software, un primer esbozo de arquitectura, el plan de prueba y el planteamiento de casos de prueba de aceptación para un caso de estudio. Todo lo anterior en forma colaborativa, con compromiso, respeto y tolerancia. Evaluación Examen teórico: 15%, Examen práctico: 15%, Documentación de una especificación de requerimientos de software: 40%, prácticas de laboratorio: 20%, participación en clase: 10%. Contenido Temático 1. Introducción

1.1. El desarrollo de software profesional 1.2. Ética de la Ingeniería del Software

2. Procesos de desarrollo del software 2.1. Modelos de procesos de software 2.2. Actividades del proceso 2.3. El Proceso Unificado 2.4. Desarrollo de software ágil

3. Ingeniería de Requerimientos 3.1. Requerimientos funcionales y no funcionales

3.2. Especificación de Requerimientos 3.3. Procesos de la Ingeniería de Requerimientos 3.4. Obtención y análisis de Requerimientos 3.5. Validación de Requerimientos 3.6. Administración de Requerimientos 3.7. Metodologías de Ingeniería de Requerimientos 3.8. Métricas de tamaño

4. Modelado de sistemas 4.1. Lenguaje de Modelado Unificado (Modelos de contexto, Modelos de interacción, Modelos estructurales, Modelos de comportamiento)

5. Diseño arquitectónico 5.1. Decisiones de diseño arquitectónico 5.2. Vistas arquitectónicas 5.3. Patrones arquitectónicos

6. Diseño y construcción 6.1. Patrones de diseño 6.2. Cuestiones de aplicación 6.3. Métricas de diseño

7. Pruebas de software 7.1. Desarrollo de pruebas 7.2. Desarrollo manejado por pruebas 7.3. Pruebas de liberación 7.4. Pruebas del usuario 7.5. Pruebas de sistema basadas en Casos de Uso.

8. Mantenimiento de software 8.1. Proceso de mantenimiento 8.2. Técnicas de mantenimiento

Bibliografía JORGENSEN, C., Software Testing. A Craftsman's Approach, CRC Press, 2ª Edition, 2002. ROSENBERGH, D. & STEPHENS, M., Use Case Driven Object Modeling with UML: a Practical Approach, USA, Apress, 2007. SOMMERVILLE, I., Ingeniería de Software. México, Addison - Wesley, 9ª Edición, 2011. SUMANO-LÓPEZ, M. Áncora: Análisis de Requerimientos de Software Conducente al Reuso de Artefactos, Universidad Veracruzana, México, 2006. Metodologías de Desarrollo Créditos 8 Horas 5 Pre-requisitos NO Justificación La calidad de un producto de software se encuentra directamente relacionada con el proceso de desarrollo empleado, por lo que es necesario conocer, seleccionar y aplicar enfoques metodológicos de acuerdo al contexto de la problemática a abordar. Existen metodologías de desarrollo conocidas como tradicionales, las cuales históricamente han abordado la mayoría de diversos contextos de proyecto de desarrollo de software, sin embargo existen también las metodologías ágiles, las cuales han tomado una importancia ineludible en el desarrollo de software actual. Metodología de Trabajo De aprendizaje: Búsqueda de fuentes de información, exposición, mapas conceptuales, actividades grupales, discusiones grupales, investigaciones, consulta en fuentes de información.

De enseñanza: Organización de grupos colaborativos, exposición con apoyo tecnológico variado, estudio de casos, prácticas guiadas. Objetivo General El alumno conoce qué es el desarrollo de software ágil, metodologías de desarrollo de software ágiles, aplica una metodología de desarrollo ágil en una problemática dada. Todo lo anterior con la disposición, responsabilidad, compromiso y trabajo colaborativo que se requiera. Evaluación Examen 30%, exposición 10%, prácticas 20%, proyecto 30%, participación 10% Contenido Temático 1. Introducción

1.1. Desarrollo tradicional 1.2. Desarrollo ágil (manifiesto, principios, metodologías)

2. SCRUM 2.1. Características 2.2. Ciclo de vida 2.3. Roles en SCRUM 2.4. Reuniones en SCRUM 2.5. Documentos 2.6. Ventajas y desventajas

3. Programación Extrema (XP) 3.1. Etapa de planificación 3.2. Etapa de diseño 3.3. Etapa de desarrollo 3.4. Etapa de pruebas

4. AUP (Agile Unified Process) 5. Otras metodologías de desarrollo

5.1. Lean Development (LD) 5.2. Adaptive Software Development (ASD) 5.3. Crystal Methodologies 5.4. Feature-Driven Development (FDD)

Bibliografía ABRAHAMSSON, P., Salo, O., Ronkainen, J., Warsta, J. Agile Software development methods Review and analysis, VTT Publications, (2002). COCKBUN, A. Agile Software Development. Adisson-Wesley, (2001). HIGHSMITH Jim, Adaptive Software Development: A Collaborative Approach to Managing Complex Systems, (2000). HIGHSMITH Jim, Agile Project management: Creating Innovative Products, Addison-Wesley, (2004). http://agilemanifiesto.org Manifiesto for Agile Software Development (2001). JAMES Shore and Shane Warden, The Art of Agile Development, O’REILLY, (2008). JAMES Shore, Shane Warden, The Art of Agile Development Theory in Practice, O’REILLY, (2007) KENT Beck, Extreme Programming Explained, (1999). KENT Schwaber, Mike Beedle, Agile Software Development with Scrum Microsoft Press, (2004). PHILIPPE Kruchten, “Agility with the RUP”, Cutter IT Journal, (2001).

Bases de Datos I Créditos 9 Horas 6 Pre-requisitos NO Justificación Cualquier sistema de software requiere del almacenamiento de los datos, para lo cual es necesario diseñar y manipular Bases de Datos que sean consistentes, íntegras y seguras, utilizando las diversas herramientas tecnológicas existentes. Metodología de Trabajo De aprendizaje: búsqueda y consulta en fuentes de información, lectura, síntesis e interpretación, mapas conceptuales, análisis y discusión de casos, discusiones grupales. De enseñanza: estudio de caso, aprendizaje basado en problemas, portafolios. Objetivo General El estudiante crea y consulta bases de datos relacionales empleando técnicas de diseño y de implantación mostrando con ello sus habilidades de análisis y síntesis durante su formación, todo esto realizado con creatividad, colaboración y responsabilidad. Evaluación Investigación sobre conceptos básicos de bases de datos, ejercicios y prácticas de Modelos de Datos (Entidad-Relación): 30% Investigación, ejercicios y prácticas de Modelo Relacional y sus Formas Normales: 30% Prácticas con el sistema manejador de bases de datos y el lenguaje de consultas SQL: 30% Conexión con un manejador de bases de datos desde un lenguaje anfitrión: 10% Contenido Temático 1. Conceptos básicos de bases de datos

1.1. Características de las bases de datos 1.2. Especificación de requerimientos 1.3. Modelos de datos, esquemas e instancias 1.4. Arquitectura de los sistemas de bases de datos 1.5. Funciones y componentes de los SGBD

2. Modelos de datos 2.1. Modelo entidad-asociación

2.1.1. Entidades, atributos y asociaciones 2.1.2. Cardinalidad 2.1.3. Roles 2.1.4. Grado de las asociaciones 2.1.5. Restricciones 2.1.6. Generalización/Especialización 2.1.7. Agregación

2.2. Modelo relacional 2.2.1. Definición de relación 2.2.2. Restricciones de integridad

3. Diseño de bases de datos relacionales 3.1. Conversión de un modelo E/R a modelo relacional

3.1.1. Representación de conjuntos entidades 3.1.2. Representación de conjuntos relaciones 3.1.3. Atributos multivaluados 3.1.4. Generalización/Especialización

3.2. Normalización de bases de datos 3.2.1. Dependencias funcionales 3.2.2. Primera Forma Normal

3.2.3. Segunda Forma Normal 3.2.4. Tercera Forma Normal

4. Operaciones sobre BD relacionales 4.1. Algebra relacional

4.1.1. Operadores unarios 4.1.2. Operadores binarios

4.2. Lenguaje de Consultas (SQL) 4.2.1. Características de SQL 4.2.2. Consulta 4.2.3. Manipulación 4.2.4. Definición de datos 4.2.5. Control de integridad 4.2.6. Índices

4.3. Transacciones 5. Seguridad e Integridad

5.1. Autenticación y autorización 5.2. Privilegios de usuarios 5.3. Vistas 5.4. Disparadores

6. Programación de aplicaciones BD 6.1. Procedimientos almacenados 6.2. Conexión desde un lenguaje anfitrión

Bibliografía DATE, C.J. Introducción a los sistemas de bases de datos, Volumen I, 7ma. Ed., Addison-Wesley Iberoamericana. U.S.A. 2001. SILBERSCHATZ, Abraham, KORTH, Henry, F y SUDARSHAN S. Fundamentos de bases de datos, 3ra. Ed., McGraw Hill. Madrid, España. 1998 WIEDERHOLD, Gio. Diseño de base de datos, 2da. Ed., Mc Graw Hill. México, 1993 Bases de Datos II Créditos 8 Horas 5 Pre-requisitos Bases de Datos I,

Programación, Redes Justificación En años recientes se ha observado una marcada tendencia hacia la distribución de los sistemas de cómputo en múltiples sitios que se interconectan a través de una red de comunicaciones. Es por ello que hoy es indispensable que un egresado de la licenciatura en Tecnologías Computacionales cuente con los conocimientos y habilidades necesarios para crear bases en ese entorno, así como explotar las existentes. Metodología de Trabajo De aprendizaje: Búsqueda y consulta de fuentes de información, Actividades individuales, Lectura, síntesis e interpretación, Discusiones grupales, Análisis y Diseño de problemas De enseñanza: Evaluación diagnóstica, Organización de grupos colaborativos, Exposición con apoyo tecnológico, Asesoría en las prácticas, Aprendizaje basado en problemas, Trabajo individual y grupal

Objetivo General El estudiante crea y accede a bases de datos en entornos distribuidos, aplicando técnicas de diseño, implementación y consulta acordes, todo esto realizado con creatividad, colaboración y responsabilidad. Evaluación Prácticas en el centro de cómputo: 10%, Ejercicios realizados en el aula: 10%, Tareas, investigaciones y otras actividades extra clase: 10%, Desarrollo de un proyecto integrador: 30% Exámenes escritos: 40% Contenido Temático 1. Conceptos generales 2. Bases de datos distribuidas 3. Bases de datos móviles 4. Bases de datos nube 5. Integración de datos

5.1. Sistemas de mediación 5.2. Data Warehousing

Bibliografía AGRAWAL Divyakant, DASSudipto, EL ABBADI Amr. Data Management in the Cloud: Challenges and Opportunities. Morgan & Claypool Publishers, 2012. CERI Stefano. PELAGATTI Giuseppe. Distributed Data Bases. Principles and Systems, McGrawHill. 1985. GARCIA-MOLINA Héctor, ULLMAN Jeffrey D., WIDOM Jennifer. Database Systems: The Complete Book, 2nd Ed., Prentice-Hall, 2008. KUMAR Vijay. Mobile Database Systems, Wiley - Interscience, 2006. SILBERSCHATZ, Abraham, KORTH Henry, F y SUDARSHAM S., Fundamentos de bases de datos. 3a ed., McGraw-Hill, Madrid. España, 1998. Sistemas Inteligentes Créditos 8 Horas 5 Pre-requisitos NO Justificación Dadas las tendencias de la disciplina, es necesario que los alumnos de la licenciatura en Tecnologías Computacionales conozcan los detalles y los procesos de abstracción que se llevan a cabo para lograr traducir los procesos mentales de solución de problemas para su implantación en una computadora. Esta experiencia formativa dota a los alumnos de los elementos para: (a) Comprender la aplicación de métodos heurísticos lógicos para modelar, organizar, representar y manipular conocimiento preciso e incierto a través de bases de conocimiento, hechos, reglas, cláusulas y redes de inferencia, (b) Comprender el proceso de adquisición y representación de conocimiento, (c) Proponer y elegir soluciones a problemas que no pueden ser resueltos de manera algorítmica, para desarrollar soluciones computacionales a esta clase de problemas. Bajo un ambiente de cooperación mostrando originalidad y creatividad, esta experiencia presenta las herramientas para la programación de soluciones heurísticas y refuerza la solución computacional de problemas. Metodología de Trabajo De aprendizaje: Búsqueda de fuentes de información, Consulta en fuentes de información, Lectura, síntesis e interpretación, Taxonomías, Clasificaciones, Mapas conceptuales, Imitación de modelos, Planteamiento de hipótesis, Investigaciones, Prácticas de programación.

De enseñanza: Dirección de prácticas, Exposición con apoyo tecnológico variado, Lectura comentada, Simulaciones, Foros, Ilustraciones, Mapas conceptuales, Resúmenes, Aprendizaje basado en problemas, Cuestionarios. Objetivo General El alumno comprende las características de los problemas sin solución algorítmica o NP-completos que requieren de métodos alternativos de solución. Comprende conceptos como el espacio de solución y búsquedas en espacios de estados y diseña soluciones mediante el manejo y aplicación de técnicas de representación, extracción y manipulación del conocimiento basadas en lógica matemática, y su combinación con estrategias de búsqueda ciega e informada, mostrando con ello sus habilidades de análisis y síntesis durante su formación. Evaluación Síntesis de temas investigados: 10%, Prácticas de programación: 10%, Proyecto integrador: 20%, Participación en clase: 20%, Exámenes escritos: 40% Contenido Temático 1. Los problemas sin solución algorítmica y los sistemas inteligentes. 2. Problemas no algorítmicos como espacios de estados.

2.1. Métodos de búsquedas ciegas o no informados. 2.2. Métodos de búsquedas informadas o heurísticas. 2.3. Métodos de búsquedas en problemas de juegos.

3. Métodos de representación de conocimiento y razonamiento 3.1. Representación y manipulación de conocimiento preciso y definido. 3.2. Representación y manipulación de conocimiento incierto.

4. Sistemas basados en conocimiento. 5. Adquisición de conocimiento.

5.1. Técnicas manuales. 5.2. Aprendizaje automático de reglas. 5.3. Minería de datos.

6. Temas relacionados, por ejemplo, pero no limitados a: 6.1. Representación y razonamiento sobre el contexto. 6.2. Representación y razonamiento sobre el perfil del usuario. 6.3. Planificación. 6.4. Visión artificial. 6.5. Entendimiento de lenguaje natural 6.6. Sistemas multiagente.

Bibliografía ESCOLANO RUIZ Francisco, CAZORIA QUEVEDO Miguel Ángel, ALFONSO GALIPIENSO Ma. Isabel, COLOMINA PARDO Otto y LOZANO ORTEGA Miguel Ángel. Inteligencia Artificial. Modelos, Técnicas y Áreas de Aplicación. Thomson Editores, Spain. 2003. NILSSON Nils. Inteligencia Artificial: una nueva síntesis. Morgan Kauffman.1998 POOLE David, MACKWORTH Alan, GOEBEL Randy. Computational Intelligence: A Logical Approach. Oxford University Press. 1998 RUSSELL Stuart y NORVIG Peter. Inteligencia Artificial: un enfoque moderno. 2003

Metodología de la Investigación Créditos 8 Horas 5 Pre-requisitos NO Justificación El considerar el dinámico entorno económico, social, político y cultural, así como el dinamismo de las innovaciones tecnológicas de comunicación e información en el que se desenvuelve el profesional de las tecnologías computacionales, implica que éste tenga que desarrollar una serie de actividades encaminadas a la investigación básica y aplicada, por lo tanto es muy necesario introducir al estudiante de la licenciatura en tecnologías computacionales en el conocimiento de la metodología de la investigación. Metodología de Trabajo De aprendizaje: Búsqueda de fuentes de información, Selección de las fuentes de información en relación al problema a investigar, Lectura, análisis y síntesis de la información a utilizar, Análisis y determinación de temas a investigar, Aplicación de procedimientos estadísticos para la recolección e interpretación de información, Utilización de paquetes estadísticos para el procesamiento de la información. De enseñanza: Exposición con apoyo tecnológico, Discusiones dirigidas y de orientación, Lecturas comentadas, Estudio de casos de investigación, Tareas para estudio y análisis individual, Resúmenes, Realización de ejercicios, Dirección de temas a investigar, Debates, Mesas redondas, Plenarias. Objetivo General El estudiante adquiere y practica los conocimientos de la investigación científica, permitiendo al estudiante y futuro profesionista de la licenciatura en tecnologías computacionales elaborar y presentar trabajos académicos y profesionales con el debido rigor y calidad científica que le requiera la dependencia o institución en la cual se encuentre inmerso. Evaluación Planteamiento de ideas de investigación: 10%, Planteamiento de temas a investigar: 10%, Planteamiento del problema a investigar: 10 %, Diseño del protocolo de investigación: 20%, Desarrollo de un tema de investigación (práctica de la investigación): 50% Contenido Temático 1. Conocimiento Científico.

1.1. Características de la ciencia, objetivos, clasificación y relación entre los campos disciplinarios.

1.2. Método Científico, elementos, características, etapas y aplicación. 1.3. Formas y tipos de investigación

2. Investigación Científica.

2.1. Características de la investigación.

3. Etapas para realizar el protocolo de investigación 3.1. El objeto o problema a estudiar. 3.2. Objetivos de investigación. 3.3. Justificación de la investigación. 3.4. Marco Referencial. 3.5. Hipótesis 3.6. Marco Metodológico 3.7. Guión Tentativo.

4. Opciones de Titulación.

4.1. Tesis.

4.2. Tesina. 4.3. Monografía. 4.4. Reporte. 4.5. Memoria. 4.6. Estudio de Comunidad

5. Estructura de un proyecto de Investigación. Bibliografía BUNGE, Mario. La ciencia, su método y su filosofía. Noriega editores, México. 1981. DE LA LAMA García, Alfredo. Estrategias para elaborar investigaciones científicas los acuerdos sociales y los procesos creativos de la ciencia. México: Editorial Trillas. 2004. GARZA Mercado, Ario. Manual de técnicas de investigación para estudiantes de ciencias sociales. México: Colegio de México. 1996. HERNÁNDEZ Sampieri, Roberto Metodología de la investigación. México: Editorial McGraw-Hill. 1996. KEDROV B., Spirkin (1986). ¿Qué es la ciencia? México: Ediciones el Quinto Sol. LUNA Castillo, Antonio. Metodología de la tesis. México: Editorial Trillas. 2005. MÉNDEZ Ramírez, Ignacio et al. El protocolo de investigación lineamientos para su elaboración y análisis. México: Editorial Trillas. 2008. ROSENBLUET, Arturo. El método científico. México: Editorial Fournier. 1981. TAMAYO y Tamayo, Mario. México: El proceso de la investigación científica (4ª edición).. Editorial Limusa. 1996. VALARINO, Elizabeth, YÁBER, Guillermo y CEMBORAIN, María Silvia. Metodología de la investigación: paso a paso. México: Editorial Trillas. 2010. Ética y Legislación Créditos 7 Horas 4 Pre-requisitos NO Justificación La Computación ha alcanzado enorme influencia en la vida diaria de las personas y organizaciones. La importancia que tiene su progreso para el desarrollo de un país, las transacciones comerciales, la comunicación, los procesos industriales, las investigaciones, la seguridad, la sanidad, etc., son todos aspectos que dependen cada día más de un adecuado desarrollo de la tecnología computacional. Junto al avance de la tecnología informática y su influencia en casi todas las áreas de la vida social, ha surgido una serie de comportamientos ilícitos denominados, de manera genérica, “Delitos Informáticos” debido a la falta de valores en la sociedad que estamos inmersos, en la cual personas con conocimientos en el área de la computación se aprovechan de ello en la búsqueda de su conveniencia personal o del grupo al que representan y con el cual comparten intereses. Debido a lo anterior se propone esta experiencia educativa cuya finalidad es hacer conciencia sobre la temática de los delitos informáticos, que va desde la ética que debe permear en el quehacer del informático, la legislación en la materia hasta los derechos de autor y humanos. Metodología de Trabajo De aprendizaje: Procedimientos de interrogación, Análisis y discusión de casos, Mapas conceptuales, Cuadros sinópticos, Imitación de modelos, Analogías, Discusiones grupales en torno de los mecanismos seguidos para aprender y las dificultades encontradas, Visualización de escenarios futuros, Lectura crítica, síntesis e interpretación, Búsqueda y consulta en fuentes de información.

De enseñanza: Organización de grupos colaborativos, Estudio de casos, Dirección de prácticas, Aprendizaje basado en problemas, Debates, Discusiones, Tareas para estudio independiente, Exposición con apoyo tecnológico diverso. Objetivo General El estudiante conoce y aplica los elementos teóricos fundamentales de que se compone la legislación informática, reflexiona de manera seria sobre las implicaciones sociales generadas por el uso de la tecnología computacional y el papel que juega el derecho en ello como el alcance, las limitaciones y tipificación del delito informático, que le permiten comportarse con legalidad a través del diseño de procedimientos que minimicen el delito, además de adoptar una dirección guiada en la ética y valores deseables en todo profesional que le permiten hacer conciencia de las implicaciones en el derecho informático. Todo en un ámbito de cordialidad, respeto, responsabilidad, compromiso, disposición, apertura y confianza. Evaluación Exámenes: 50%, Casos prácticos: 30%, Tareas y prácticas: 10%, Participación y exposición: 10% Contenido Temático 1. ÉTICA Y MORAL

1.1. La ética como disciplina filosófica 1.2. Principales problemas que se plantean en la ética. 1.3. Relación de la Ética con otras ciencias. 1.4. Diferencia entre ética y moral. 1.5. Moralidad. 1.6. Elementos constitutivos del acto moral. 1.7. Los principios morales. 1.8. El papel de la moral en el desarrollo social. 1.9. Concepto de deber y responsabilidad. 1.10. Consciencia Moral 1.11. Decisión, congruencia, pensamiento y acción. 1.12. Problemas morales específicos.(Aborto, Eutanasia, Corrupción, Discriminación,

Bullying) 1.13. Libertad y Responsabilidad 1.14. Conceptos de libertad. 1.15. Responsabilidad moral y libertad. 1.16. Límites y obstáculos de la libertad.

2. LOS VALORES: ÁMBITOS DE DECISIÓN PERSONAL Y SOCIAL

2.1. Concepto de valor. 2.2. Características de los valores. 2.3. Distinción entre valores y bienes. 2.4. Jerarquía de los valores. 2.5. Importancia de los valores en la vida humana

3. ÉTICA PROFESIONAL

3.1. Formación profesional 3.2. Carácter profesional 3.3. Vocación 3.4. Orientación profesional 3.5. Costumbre 3.6. Ética Empresarial

4. LA ÉTICA EN LOS SISTEMAS DE INFORMACIÓN 4.1. Valores éticos en los sistemas de información 4.2. Las leyes y los códigos éticos

4.3. La corrupción y los sistemas de información 4.4. El sujeto y objeto ético de los sistemas de información

5. LA ÉTICA EN LA ADMINISTRACIÓN DE LOS RECURSOS INFORMÁTICOS

5.1. Financieros 5.2. Materiales 5.3. Humanos 5.4. Hardware 5.5. Software

6. INTRODUCCIÓN AL DERECHO

6.1. Sujetos y objeto del derecho. 6.2. Persona física. 6.3. Persona moral. 6.4. Clasificación de hecho y acto jurídico. 6.5. Requisitos del acto jurídico 6.6. División o ramas del Derecho: fiscal, laboral, etc.

7. EL CONTRATO

7.1. Elementos esenciales y de validez de un contrato. 7.2. Clasificación de los contratos. 7.3. Contratos de compra venta, arrendamiento civil, financiero, de servicio de mantenimiento

y de asesoría sobre equipo de cómputo. 7.4. Licencias de software

8. DELITOS INFORMATICOS

8.1. El delito. 8.2. Elementos del delito (conducta, tipicidad, anti-juridicidad, 8.3. culpabilidad e imputabilidad) 8.4. Derecho a la Información. 8.5. Concepto de información para efectos jurídicos. 8.6. Regulación jurídica del bien informacional 8.7. Rango constitucional del derecho a la información. 8.8. Privacidad de la información. 8.9. Tipificación del delito informático 8.10. Impacto de los delitos informáticos 8.11. Hackers y Crackers 8.12. Virus informático. 8.13. Piratería de software. 8.14. Acceso no autorizado a sistemas informáticos 8.15. Acceso no autorizado a equipos de cómputo y de telecomunicaciones 8.16. Robo de equipo. 8.17. Seguridad contra el delito informático 8.18. Auditoría Informática relacionada con el delito

9. EL DERECHO INFORMÁTICO 9.1. Consideraciones jurídicas 9.2. Protección jurídica de los programas de cómputo. 9.3. Criptografía. 9.4. Propiedad intelectual y propiedad industrial. 9.5. Las patentes en materia de Cómputo. 9.6. Derechos de autor (copyright, copyleft) 9.7. Autoría y creación de software. 9.8. Regulación jurídica de Internet 9.9. Derecho de Marca 9.10. Derecho de petición

9.11. El valor probatorio de los documentos electromagnéticos 9.12. La firma electrónica y su legislación . 9.13. Legislación y normatividad informática en el mundo: América, Asia, Europa, África,

Oceanía 9.14. Régimen jurídico aplicable en México (Código Penal Federal, Ley Federal del

Derecho de Autor, Código Penal del Estado de Veracruz) Bibliografía Código Penal Federal. (Actualizado) Ed. Porrúa 2000. Código penal para el estado libre y soberano de Veracruz de Ignacio de la Llave (actualizado) Constitución política de los Estados Unidos Mexicanos (actualizada) Ed. Porrúa 2000 Ley de la Propiedad Industrial. (Actualizada).Ed. Porrúa 1999 Ley Federal de Derechos de Autor. (Actualizada). Ed. Porrúa 1999 LOURDES Münch Galindo, “Ética y valores I “, Editorial Trillas México 2010 SOSA Jiménez Candy Obdulia, “Antología para la materia Ética y Legislación Informática”, Facultad de Estadística e Informática, Universidad Veracruzana. México, 2013. Proyecto Integrador Créditos 7 Horas 4 Pre-requisitos NO Justificación El planteamiento de soluciones, en este caso bajo la temática de las tecnologías computacionales, debe estar fundamentado en metodologías acordes a las necesidades planteadas tanto por la parte documental así como de las aplicaciones que se desarrollen; todo ello a fin de contribuir a una correcta toma de decisiones. Metodología de Trabajo De aprendizaje: Análisis y síntesis de información a utilizar, Investigación documental, consulta de material especializado en diversas fuentes. De enseñanza: Asesorías individualizadas, Exposición con apoyo tecnológico, Discusiones dirigidas y de orientación, Lecturas comentadas, Estudio de casos de investigación, Debates, Mesas redondas. Objetivo General El estudiante investiga y analiza la información sobre la problemática planteada, aplicando los conceptos y conocimientos adquiridos en referencia a la elaboración de un documento formal, la aplicación correcta de fuentes de información y en los casos de desarrollo de aplicaciones elabora el modelado correspondiente a la metodología de desarrollo elegida, asumiendo actitudes de compromiso, ética, colaboración y disposición. Evaluación Realización de un documento formal (definido al principio del periodo): 60%, Presentación y exposición de avances: 30%, Participación en discusiones en clase: 10%. Contenido Temático

1. Introducción 2. Definición del documento formal 3. Avances 4. Presentación del documento formal

Bibliografía HIGHSMITH Jim, Agile Project Management: Creating Innovative Products, Addison-Wesley, (2004). HUIDOBRO Moya José Manuel, José M. Huidobro, Redes Y Servicios de Comunicaciones, Editorial Paraninfo, 2006 RIVERA Martínez Francisco. Administración de proyectos: Guía de aprendizaje. Editorial Pearson. 2010. VALARINO, Elizabeth, YÁBER, Guillermo y CEMBORAIN, María Silvia. Metodología de la investigación: paso a paso. México: Editorial Trillas. 2010. Redes Créditos 9 Horas 6 Pre-requisitos NO Justificación: La demanda actual en el área de las ciencias de la computación, se ve sustentada por un pilar que es el de los profesionales del networking, ya que ellos dominan la conectividad entre computadoras, y en virtud de que las redes de computadoras crecen exponencialmente dentro de las actividades del ser humano, es necesario contar con profesionales que conozcan del área de redes, por tal motivo las instituciones de educación superior deben incluir experiencias educativas que brinden el sustento teórico y práctico a sus egresados. Metodología de Trabajo: De aprendizaje: Elaboración de prácticas de cableado estructurado, Elaboración de ejercicios de subredes y VLSM, Elaboración de cables de red (cruzado, directo y de consola), Instalación de redes, Consulta de diversas fuentes de información (bibliográficas y de internet), Mapas conceptuales, mentales, esquemas de araña, etc., Lecturas comentadas. De enseñanza: Organización de grupos colaborativos, Estudios de caso, Prácticas dirigidas, Búsqueda de información en Internet, Exposición con apoyo tecnológico variado, Tareas extra clase. Objetivo General: El estudiante instala, administra y configura redes de área local bajo los estándares de cableado estructurado, previo diseño de la estructura lógica de la red en el ámbito público y privado, asumiendo actitudes de meticulosidad discreción colaboración y autoaprendizaje. Evaluación: Exámenes escritos (3): 45%, Exámenes en línea: 25%, Prácticas, ejercicios y reportes escritos: 20%, Participación en clases: 10% Contenido Temático: 1. Panorama General: La vida en un mundo centrado en la red (aplicaciones de las redes) 2. Introducción a las redes

2.1 Conceptos básicos 2.2 Clasificación 2.3 Topologías 2.4 Componentes de una red

3. Modelo OSI y TCP/IP 3.1 Capas (superiores) y protocolos de los modelos 3.2 Telnet, HTTP, FTP, etc. 3.3 TCP/IP 3.4 TCP 3.5 UDP

4. Direccionamiento de red (IPv4 e IPV6) 4.1 Subredes 4.2 VLSM

5. Capas (inferiores del modelo OSI y TCP/IP) y protocolos de capa 2 del modelo OSI 5.1 Protocolos y estándares de capa 2 5.2 Cableado estructurado (diseño básico de una red –maqueta –)

5.2.1 Componentes 5.2.2 Clasificación 5.2.3 Documentación de una red 5.2.4 Proyecto

5.3 Direccionamiento físico 5.4 WLAN

6. Configuración básica de dispositivos de red y troubleshooting 6.1 Configuración básica de dispositivos de capa 2 y 3 6.2 Uso de comandos para probar la conectividad y solucionar problemas

. Bibliografía: CCNA 1 and 2 Companion Guide, Revised (Cisco Networking Academy Program), 3 edición, Cisco Press.2004 Cisco manual de referencia, Brian Hill, Mc Graw Hill, 2002 Curso en línea de la academia de CISCO (http://cisco.netacad.com). HAGEN Silvia, IPv6 Essentials, O'Reilly Media, Inc., 2009 HUIDOBRO MOYA José Manuel, José M. Huidobro, Redes Y Servicios de Comunicaciones, Editorial Paraninfo, 2006 LOSHIN Pete, IPv6: Theory, Protocol, and Practice, 2nd Edition, Morgan Kaufmann, 2004 MURPHY Niall Richard, David Malone, IPv6 Network Administration, O'Reilly Media, Inc., 2009 SLOAN Joseph, Network Troubleshooting Tools, O'Reilly Media, Inc., 2007 TANENBAUM, Andrew S. Redes de Computadoras, Cuarta Edición, Prentice Hall, 2003 VERÓN Julián, Prácticas de Redes, Julián Verón Piquero, 2010 Administración de Servidores Créditos 8 Horas 5 Pre-requisitos NO Justificación: El profesional de Tecnologías de la Computación enfrenta el reto de instalar y configurar servidores y servicios de forma local y en la nube, de tal manera que los antes mencionados estén siempre disponibles, por lo que es necesario conocer las tareas que debe llevar a cabo un administrador de servidores así como sus características, actitudes y los elementos necesarios. Esta experiencia le permite al estudiante tener un acercamiento al funcionamiento y configuración de los servidores y así aprovechar los recursos tecnológicos con los que cuenta. Metodología de Trabajo: De aprendizaje: Configuración de servidores, Prácticas de laboratorio, Lectura de material, Mapas conceptuales, Estudios de caso. De enseñanza: Organización de grupos colaborativos, Dirección de proyectos, Prácticas dirigidas, Exposición del material más complejo, Orientación en la resolución de problemas, Aprendizaje basado en problemas Objetivo General: El estudiante planea y diseña servidores, los instala, administra usuarios y programas, efectúa respaldos, analiza bitácoras del servidor y efectúa resolución de problemas (troubleshooting) partiendo de los conocimientos teórico – metodológicos propios de la disciplina, mediante una actitud de responsabilidad, eficiencia, precisión y compromiso.

Evaluación: Proyecto final: 40%, Prácticas de laboratorio: 15%, Investigaciones: 15%, Exposición(es): 15%, Exámenes: 15% Contenido Temático:

1. Instalación del sistema operativo 2. Administrador de servidores

2.1 Tipos 2.2 Características

3. Administración de programas 4. Hardware para servidores 5. Administración de usuarios 6. Inicio del sistema 7. Planeación y diseño de servidores

7.1 Servidor de impresión 7.2 Servidor de Archivos 7.3 Servidor Web 7.4 Servidor de Base de Datos

8. Troubleshooting 9. Respaldos 10. Bitácoras 11. Aspectos básicos de seguridad en servidores 12. Virtualización (Básica)

Bibliografía: ADELSTEIN Tom, LUBANOVIC Bill, Administración de sistemas Linux, Grupo Anaya Comercial, 2007 BAUER Michael D., Building Secure Servers With Linux, O'Reilly Media, Inc., 2002 JAMSA Kris, Cloud Computing: SaaS, PaaS, IaaS, Virtualization, Business Models, Mobile, Security, and More, Jones & Bartlett Publishers, 2012 MARCHIONNI, Enzo Augusto., Administrador de servidores, USERSHOP, 2011 SOBELL, Mark G., A Practical Guide to Linux Commands, Editors, and Shell Programming, Prentice Hall, USA 2012, VON HAGEN Bill, JONES Brian K., Linux Server/ Linux Server Hacks: Los Mejores Trucos/ the Best Tricks, Grupo Anaya Comercial, 2006 WILLIAM E. Shotts Jr., The Linux Command Line: A Complete Introduction, No Starch Press, USA 2012 Seguridad Créditos 8 Horas 5 Pre-requisitos NO Justificación: En la actualidad, la mayoría de las actividades de las organizaciones y personas, se encuentran apoyadas por tecnologías o procesos automatizados en Internet, tal es el caso de operaciones bancarias, transacciones comerciales, transferencia de información confidencial y personal, entre otras. Por tal motivo el profesional de las Tecnologías Computacionales debe tener conocimientos en el área de seguridad y la capacidad de emplear tecnologías y estándares para garantizarla. Metodología de Trabajo: De aprendizaje: Prácticas de laboratorio, Lectura de material, Mapas conceptuales, Investigaciones.

De enseñanza: Organización en grupos colaborativos, Dirección de proyectos, Prácticas dirigidas, Exposición del material, Orientación en la resolución de problemas. Aprendizaje basado en problemas, Estudio de casos. Objetivo General: El estudiante comprende y aplica los conceptos básicos de la seguridad en cómputo, VPN’s, ingeniería social, estándares de seguridad y servicios, asumiendo actitudes de ética, discreción, colaboración y autoaprendizaje, mismos que le servirán en su desempeño profesional. Evaluación: Exámenes (2): 50%, Prácticas de laboratorio: 20%, Investigaciones: 15%, Exposición: 15% Contenido Temático:

1. Conceptos básicos de seguridad en cómputo 2. Estándares de seguridad 3. Criptografía 4. Seguridad física 5. Servicios de seguridad:

5.1 Autenticación 5.2 Control de acceso 5.3 Privacidad 5.4 Autorización.

6. Tipos de ataques 6.1 Ataques DoS 6.2 Spoofing 6.3 Zero day attacks 6.4 Rootkits 6.5 Jails 6.6 HOAX 6.7 Inyección de código

7. Detección de intrusiones, anomalías y mitigación de malware 8. Ingeniería social 9. VPN’s

Bibliografía: ANDERSON Ross J., Security Engineering: A Guide to Building Dependable Distributed Systems, John Wiley & Sons, 2010 AREITIO Bertolín Javier, Seguridad de la información: redes, informática y sistemas de información, Editorial Paraninfo, 2008 CHAOUCHI Hakima, LAURENT-MAKNAVICIUS Maryline, Wireless and Mobile Networks Security, John Wiley & Sons, 2010 MANN Ian, Hacking the Human: Social Engineering Techniques and Security Countermeasures, Gower Publishing, Ltd., 2012 MARTIN Keith M., Everyday Cryptography: Fundamental Principles and Applications, Oxford University Press, 2012 MITNICK Kevin D., SIMON William L., The Art of Deception: Controlling the Human Element of Security, John Wiley & Sons, 2011 PIEPRZYK Josef, HARDJONO Thomas, SEBERRY Jennifer, Fundamentals of Computer Security, Springer, 2003 STALLINGS William, Fundamentos de seguridad en redes: aplicaciones y estándares, Pearson Educación, 2003 STAMP Mark, Information Security: Principles and Practice, John Wiley & Sons, 2005

Organización de Computadoras Créditos 9 Horas 6 Pre-requisitos NO Justificación: Como parte de la formación básica de un estudiante de tecnologías de la computación, se requiere que este tenga un conocimiento preciso de las partes que conforman una computadora moderna, la forma en que interactúan entre sí estos componentes y su relación e interacción con el software, conociendo además de la programación de alto nivel, la programación de bajo nivel, que permite identificar con mayor claridad la relación hardware y software. La importancia de esta experiencia no sólo se justifica en el aprendizaje de un lenguaje ensamblador como herramienta de comprensión del nivel hardware, sino también de experimentación científica y como una forma de entender el funcionamiento de otros dispositivos que utilizan microprocesadores al comprender la forma en que se programan, ya que en la actualidad existe una gran variedad de dispositivos que interactúan con los sistemas informáticos (tablets, celulares, robots, etc). Metodología de Trabajo: De aprendizaje: Consulta en fuentes de información, Lectura, síntesis e interpretación, Mapas conceptuales, Imitación de modelos, Investigaciones, Prácticas de programación. De enseñanza: Dirección de prácticas, Exposición con apoyo tecnológico variado, Lecturas comentadas, Simulaciones, Mapas conceptuales, Resúmenes, Aprendizaje basado en problemas, Cuestionarios. Objetivo General: El estudiante resuelve problemas computacionales básicos y de la vida real, codificando programas en lenguaje ensamblador y de programación de microcontroladores, para lo cual deberá de comprender el funcionamiento e interacción de los elementos fundamentales de una computadora y el manejo de la información a bajo nivel, a partir de teorías y metodologías propias de la disciplina, mediante una actitud de colaboración, creatividad, honestidad, responsabilidad y auto aprendizaje. Evaluación: Síntesis de temas investigados: 10%, Prácticas de programación: 25%, Proyecto integrador de diseño e implantación de un sistema basado en microcontrolador: 25%, Participación en clase: 10%, Exámenes escritos: 30% Contenido Temático: 1. Arquitecturas de computadoras:

1.1 Modelo de von Newman 1.2 Componentes de las computadoras actuales (CPU, memoria, bus, dispositivos E/S, dispositivos de almacenamiento secundario) 1.3 Arquitecturas actuales de computadoras 1.4 Representación de datos (Sistema binario, códigos numéricos y alfanuméricos, y aritmética binaria) 1.5 Organización de memoria y elementos del CPU

2. Generalidades del lenguaje ensamblador 2.1 Código de máquina y código ensamblador 2.2 Ciclo de instrucción 2.3 Set de instrucciones 2.4 Programación en ensamblador

3. Programación de microcontroladores: 3.1 Introducción a los microcontroladores, 3.2 Ejercicios de programación de microcontroladores, 3.3 Convertidores Analógico-Digital y Digital-Analógico.

4. Multiprocesamiento y arquitecturas alternativas: 4.1 Arquitecturas paralelas

4.2 Arquitectura de dispositivos móviles. 5. Incrementos de rendimiento:

5.1 Sistemas multicore 5.2 Procesadores multiescalares 5.3 Memorias caché 5.4 Controladores inteligentes (procesadores auxiliares)

Bibliografía: HAMACHER V. C., VRANESIC Z., ZAKY S. G., Computer Organization (5th Edition), McGraw-Hill 2002. MORRIS Mano M., Computer System Architecture (3/E), Pearson Education, 2007 SHEN John, LIPASTI Mikko H., Arquitectura de computadores, McGraw-Hill Co. Inc, 2005 TANENBAUM Andrew S., Structured Computer Organization (5th Edition), Prentice Hall, 2006. Sistemas Operativos Créditos 9 Horas 6 Pre-requisitos NO Justificación: La principal herramienta de trabajo de un licenciado en tecnologías de la computación es la computadora, la cual junto con su sistema operativo es parte fundamental de los procesos que desarrolla. El conocimiento más profundo de esta herramienta, le permitirá hacer un trabajo más eficiente y a la vez le facilitará la comprensión de los procesos que se llevan a cabo en ella internamente. Metodología de Trabajo: De aprendizaje: Consulta de diversas fuentes de información, Análisis y discusión de casos, Diseño de programas computacionales, Exposiciones guiadas. De enseñanza: Exposición, Prácticas dirigidas, Discusiones dirigidas, Exposición y resolución de casos, Tareas extra clase. Objetivo General: El estudiante comprende la forma en que trabaja el sistema operativo internamente, cómo lleva a cabo sus procesos y la atención a las tareas que tienen que ver con su trabajo y funcionamiento, asumiendo actitudes de ética, colaboración y autoaprendizaje, mismos que le servirán en su desempeño profesional. Evaluación: Dos exámenes parciales: 50%, Cuatro programas computacionales (5% c/u): 20%, Participación en clase (individual y por equipo): 5%, Trabajos de investigación, redactados de forma adecuada: 5%, Prácticas por equipo: 20% Contenido Temático: 1. Generalidades

1.1 Historia de los Sistemas operativos 1.2 Conceptos básicos de sistemas operativos 1.3 Estructura básica de los sistemas operativos 1.4 Características del software libre y propietario 1.5 Instalación de un sistema operativo libre

2. Procesos 2.1 Conceptos básicos 2.2 Concurrencia

2.3 Bloqueos

2.4 Región crítica 2.5 Exclusión mutua 2.6 Soluciones para la exclusión mutua 2.6.1 Peterson 2.6.2 Dekker 2.6.3 Semáforos 2.6.4 Monitores 2.6.5 Paso de mensajes 2.7 Multiprocesamiento 2.8 Multiprogramación 2.9 Multitarea 2.10 Hilos y multihilos

2.11 Scheduling (despacho de procesos) 2.12 Algoritmos de despacho 3. Administración del sistema de archivos 3.1 Casos prácticos de sistemas de archivos 4. Administración de comunicaciones

4.1 Buffering 4.2 Entrada / Salida 4.3 Paso de mensajes

5. Administración de memoria 5.1 Memoria virtual 5.2 Memoria principal 5.3 Estrategias de Asignación / Deasignación 5.4 Recolección de basura 5.5 Almacenamiento secundario

6. Virtualización 6.1 Conceptos básicos 6.2 Tecnologías de virtualización (características y alcances) 6.3 Virtualización de servidores 6.4 Virtualización de redes 6.5 Virtualización almacenamiento 6.6 Virtualización de escritorio

6.7 Programas para virtualización (código abierto) 7. Sistemas Operativos de dispositivos móviles o embebidos.

7.1 Características de sistemas operativos de dispositivos móviles 7.2 Capas de SO de dispositivos móviles 7.3 Caso de estudio (ANDROID, iOS Apple)

8. Pruebas de rendimiento de los sistemas operativos (testing) 8.1 Técnicas de evaluación del rendimiento 8.2 Caso de estudio

9. Administración de energía 9.1 Técnicas para la administración de energía 9.2 Administración de energía 9.3 Ejemplos en diferentes sistemas operativos

Bibliografía: ALEGRE RAMOS María Del Pilar, GARCIA-CERVIGON Hurtado Alfonso, Sistemas Operativos en Red, Editorial Paraninfo, 2011 SILBERSCHATZ Abraham, Peter Baer Galvin, Greg Gagne, ISV Operating System Concepts 8E, International Student Version, Wiley John + Sons, 2009 STALLINGS William, Operating Systems: Internals and Design Principles, Test, 2008 STUART Brian L., Principles of Operating Systems: Design & Applications, Cengage Learning EMEA, 2008 TANENBAUM, Andrew S., Sistemas Operativos Modernos, Pearson Educación, 2003

Habilidades Directivas Créditos 8 Horas 5 Pre-requisitos NO Justificación La sociedad requiere de profesionistas que actúen como agentes de cambio que tengan la habilidad de emprender acciones que posibiliten mejoras en las actividades de cualquier organización, y que puedan formar y dirigir equipos de trabajo, en donde participen asumiendo la responsabilidad de ser líderes de proyectos en los cuales la tecnología sea elemento fundamental de generación de progreso y de mejora social, con visión humana, empresarial y de eficiencia en el logro de resultados. Metodología de Trabajo De aprendizaje: Mapas conceptuales, Búsqueda y consulta en fuentes de información, Lectura, síntesis e interpretación, Consultas bibliográficas, Clasificaciones, Elaboración de un proyecto que integre los conceptos visto en el curso. De enseñanza: Estudio de casos, Discusión dirigida, Exposición con apoyo, tecnológico variado, Lectura tutorial, Mapas conceptuales o redes semánticas, Aprendizaje basado en problemas, Síntesis y elaboración de ensayos. Objetivo General El estudiante emprende, planea, dirige y evalúa acciones, tanto personales como organizacionales, a través de la aplicación de saberes sobre organización y dirección de equipos de trabajo; analiza problemas complejos generando formas innovadoras de utilización de los recursos tecnológicos para definir soluciones factibles, asume los retos que se derivan de los contextos social, cultural, político y económico, logrando el compromiso de los integrantes de los grupos de trabajo; manteniendo en todo momento un actitud de respeto, tolerancia e iniciativa, con énfasis en su desarrollo personal. Evaluación Examen: 20%, Realización de prácticas: 40%, Proyecto integrador: 40% Contenido Temático

1. Habilidades de emprendurismo 1.1 Definición 1.2 Perfil y espíritu emprendedor

2. Habilidades del emprendedor 3. Gestión desde la idea al negocio rentable

3.1 Principios de negocios 3.2 Plan de negocios 3.3 Casos Prácticos de problemas empresariales

4. Habilidades de directivos competentes 4.1 Definición e importancia de directivos competentes 4.2 Habilidades directivas

5. Liderazgo 5.1 Comunicación de calidad 5.2 Motivación 5.3 Gestión de actividades

6. Casos Prácticos de problemas directivos Bibliografía ADEMAR FERREYRA Horacio. Enseñar a aprender a emprender. Congreso Iberoamericano de Educación. 2010.

RIPOLLES María. Aprender a Emprender en las Universidades. ARBOR Ciencia, Pensamiento y Cultura. Diciembre 2011. COVEY R. Stephen. El liderazgo centrado en principios. PAIDOS. 2006. GONZÁLEZ SALAZAR Diana M. Plan de negocios para emprendedores al éxito. Mc Graw Hill Interamericana. 2007. RODRÍGUEZ ALCAZAR Eduardo Rafael. El emprendedor de éxito: guía de planes de negocio. McGraw-Hill. 2001. Gestión de Proyectos de Tecnologías de Información Créditos 8 Horas 5 Pre-requisitos NO Justificación El Licenciado en Tecnologías Computacionales requiere tener el conocimiento y la habilidad para planear y poner en marcha proyectos relacionados con la tecnología de información. Generar y poner en marcha proyectos es una actividad cotidiana en todo tipo de organización, esta Experiencia Educativa le permitirá al estudiante realizar estudios de los diferentes elementos de tipo tecnológico que intervienen en un proyecto, determinar la factibilidad del mismo, así como los recursos tecnológicos adecuados para alcanzar los objetivos del proyecto de manera eficiente, ejecutarlo, evaluarlo y tomar las decisiones pertinentes. Metodología de Trabajo De aprendizaje: Mapas conceptuales, Búsqueda y consulta en fuentes de información, Lectura, síntesis e interpretación, Consultas bibliográficas, Clasificaciones. De enseñanza: Estudio de casos, Discusión dirigida, Exposición con apoyo tecnológico variado, Lectura tutorial, Dirección de proyectos de vinculación, Mapas conceptuales o redes semánticas, Aprendizaje basado en problemas, Resúmenes. Objetivo General El estudiante administra y gestiona acciones y recursos materiales, humanos y tecnológicos, aplicando técnicas y procesos para la evaluación y su ejecución de proyectos de Tecnologías de la Información de acuerdo a políticas y lineamientos de la organización, en un marco legal donde se desempeña con disposición, oportunidad y congruencia, para coadyuvar y fortalecer la planeación y la ejecución de proyectos de Tecnologías Computacionales. Evaluación Examen: 20%, Prácticas: 40%, Proyecto integrador: 40% Contenido Temático

1. Generalidades 1.1 Concepto de Proyecto 1.2 Administración y proceso administrativo 1.3 Que es la administración de proyectos 1.4 Elementos de administración de proyectos 1.5 Ciclo de vida de un proyecto 1.6 Proyecto de inversión vs proyecto informático

2. Estudio de mercado 2.1 Oferta 2.2 Demanda 2.3 Determinación del mercado (usuarios)

3. Estudio técnico 3.1 Determinación del tamaño del proyecto 3.2 Alcance del proyecto

3.3 Determinación de equipo y especificaciones del mismo 4. Estudio organizacional, administrativo y legal

4.1 Determinación de necesidades de R.H. 4.2 Determinación de la estructura organizacional necesaria 4.3 Marco legal

5. Estudio económico y financiero 5.1 Determinación de costos 5.2 Análisis de rentabilidad 5.3 TIR 5.4 VPN 5.5 Presentación del proyecto

6. Ejecución del proyecto 6.1 Componentes principales de la ejecución del proyecto 6.2 Lanzamiento de un proyecto 6.3 La gestión del día a día del proyecto 6.4 Seguimiento y control del proyecto 6.5 Herramientas de apoyo durante la ejecución de un proyecto

7. Cierre y evaluación del proyecto 7.1 Cierre abrupto 7.2 Cierre ordinario del proyecto

Bibliografía CLIFFORD Gray. Administración de proyectos. Editorial McGraw-Hill Interamericana CÓRDOVA PADILLA Marcial. Formulación y Evaluación de proyectos. Editorial Bogotá, D.C. 2006. GUIDO Jacks, CLEMENTS P. James. Administración Exitosa de Proyectos. Cengage Learning Editores. 2007. ECHEVERRIA JADRAQUE Daniel. Manual para Project Managers Como Gestionar proyectos con Éxito. Editorial Wolters Kluwer. 2011. RIVERA MARTINEZ Francisco. Administración de proyectos: Guía de aprendizaje. Editorial Pearson. 2010. RODRÍGUEZ JR, LAMARCA I, GARCÍA MINGUEZ J. Gestión de Proyectos Informáticos: métodos, herramientas y casos. Editorial UOC. 2007. Interacción Humano Computadora Créditos 9 Horas 90 Pre-requisitos NO Justificación Con el avance tecnológico, el desarrollo de software conlleva la consideración de un factor cada día más importante: la interacción del humano con la computadora. La interacción del usuario con el sistema puede tomar diversas formas que van mas allá de las tradicionales (mouse y/o teclado). Ahora, la interacción con los sistemas puede ser a través de pantallas táctiles, por medio de voz, de movimiento, etc. Por ello, la interacción del usuario con el sistema debe ser analizada para incluirla en el diseño e implementación, desde la perspectiva tanto del usuario, como de la actividad. Metodología de Trabajo De aprendizaje: Actividades de aprendizaje planificadas por el docente en el aula conforme a los contenidos vistos en clase (p.ej. ejercicios, resolución de problemas, programas); tareas e investigaciones sobre los contenidos vistos en clase, exposiciones individuales y grupales, gestión y desarrollo de proyectos De enseñanza: Mapas conceptuales, cuadros sinópticos, análisis, síntesis; integración de equipos para el desarrollo de proyectos

Objetivo General El estudiante conoce la importancia del diseño de la interfaz entre usuarios y sistemas computacionales, identifica diferentes paradigmas de interacción humano-computadora, y aplica técnicas de diseño y evaluación de interfaces de usuario. Evaluación Para acreditar la experiencia educativa el estudiante deberá cubrir los siguiente puntos con un valor de: Exámenes escritos: 40%; Tareas y ejercicios: 30%; Proyecto final: 30% Contenido Temático 1. Introducción a la IHC

1.1. La disciplina e historia 1.2. Problemas centrales 1.3. Disciplinas involucradas 1.4. Objetivos y metas de la IHC 1.5. Componentes de la IHC (entrada/salida) 1.6. Interfaz de usuario 1.7. Aspectos humanos en la IHC

2. Principios y guías de diseño 2.1. Conceptos básicos de diseño de interacción 2.2. Reglas de diseño 2.3. Metáforas de interfaz 2.4. Tipos de Interacción 2.5. IHC centrada en el usuario 2.6. IHC centrada en las tareas 2.7. Usabilidad

3. Análisis y diseño de sistemas interactivos 3.1. Modelos de ciclo de vida en el diseño de la interacción 3.2. Análisis 3.3. Diseño

4. Interfaces multiusuarios y tendencias 4.1. Groupware 4.2. Computación ubicua 4.3. Realidad aumentada

Bibliografía ALAN Dix, FINLAY Janet, ABOWD Gregory, BEALE Russell. Human-Computer Interaction. 3rd Edition. Prentice Hall, 2004. SOREN Lausen. User Interface design: A Software Engineering perspective. Addison Wesley, 2005. Tecnologías para la Integración de Soluciones Créditos 9 Horas 6 Pre-requisitos NO Justificación La aplicación de conocimientos adquiridos sobre Ingeniería de Software, Redes, Programación de Sistemas y Base de Datos, principalmente; utilizando servicios para la concepción y diseño de una arquitectura de sistemas, que tenga como resultado una propuesta de arquitectura dinámica, de bajo acoplamiento de una aplicación distribuida, incorporando tres roles principales: un proveedor de servicios, un consumidor y un intermediario.

Metodología de Trabajo De aprendizaje: Lectura, síntesis e interpretación, investigación, discusión colaborativa. De enseñanza: Organización de grupos colaborativos, exposición con apoyo tecnológico variado, prácticas guiadas. Objetivo General El estudiante aplica conocimientos de ingeniería de software, redes, programación y bases de datos en la concepción y diseño de sistemas distribuidos utilizando un enfoque orientado a servicios. Evaluación Examen: 30%, Exposición: 10%, Prácticas: 20%, Proyecto: 30%, Participación: 10% Contenido Temático

1. Computación orientada a servicios 1.1. Arquitectura SOA 1.2. Modelos de Servicio 1.3. Middleware 1.4. Enterprise Service Bus

2. Ingeniería de Software SOA 3. Tecnologías XML 4. Lenguaje XML 5. Lenguaje XSD 6. Expresiones (XPath, XQuery, XSL-T) 7. Conceptos de Servicios Web 8. Arquitectura de Servicios Web 9. Definición WSDL 10. Especificaciones de seguridad de servicios web 11. Protocolos

11.1. SOAP 11.2. UDDI 11.3. RESTful

12. Invocación de Servicios 13. Frameworks J2EE 14. Arquitectura ROA 15. Implementación REST 16. Representación de Recursos 17. Mashup de Servicios 18. Restlets y seguridad 19. Fiabilidad e Interoperabilidad.

Bibliografía BURKE Bill, “RESTful Java with JaX-RS” O’Reilly, 2010. CASTRO, “XML Guía de Aprendizaje”. Ed. Pearson ISBN 84-205-3151-0. ERIC Jendrock et al., “The Java EE 6 Tutorial: Basic Concepts, 4th Edition, Sun Microsystems, 2010. GOPALAN Suresh Raj et al., “Implementing SOA with the Java EE 5 SDK”, Sun Microsystems, 2006. GUSTAVO Alonso et al., “Web Services: Concepts, Architectures and Applications, Springer, 2004. MARK D. Hansen, “SOA Using Java Web Services”, Prentice Hall, 2007. NICOLAI M. Josuttis, “SOA in Practice: The Art of Distributed System Design”, O’Reilly, 2008. SUBBU Allamaraju, “RESTful Web Services Cookbook”, O’Reilly, 2010.

Integración de Soluciones Créditos 8 Horas 5 Pre-requisitos Tecnologías para la

Integración de Soluciones Justificación El estudiante desarrolla las habilidades y la aplicación de conocimientos adquiridos sobre tecnologías para la integración de soluciones, así como la revisión de técnicas y lenguajes de programación más utilizados en este tipo de desarrollo, que tenga como resultado una implantación dinámica, de bajo acoplamiento de una aplicación distribuida, incorporando tres roles principales: un proveedor de servicios, un consumidor y un intermediario.

Metodología de Trabajo De aprendizaje: Lectura, síntesis e interpretación, investigación, discusión colaborativa. De enseñanza: Exposición, presentación de ejemplos, prácticas guiadas. Objetivo General El alumno aplica el conocimiento adquirido de tecnologías para la integración de soluciones, realiza prácticas e implementa un sistema distribuido utilizando un enfoque determinado. Todo esto con compromiso, responsabilidad, tolerancia y trabajo colaborativo que se requiera. Evaluación Prácticas: 30%, Proyecto: 40%, Tareas: 10%, Examen: 20%. Contenido Temático

1. Técnicas y lenguajes de programación 2. Lenguajes compilados vs lenguajes interpretados 3. Lenguaje de programación interpretado

3.1. Ruby 3.2. Rails 3.3. Python 3.4. PHP 3.5. Javascript 3.6. Flex 3.7. Groovy

4. Diseño de propuestas de solución 5. Revisión de propuestas de solución 6. Determinación de herramientas integradoras para su desarrollo. 7. Refinamiento del diseño de solución 8. Lineamientos de documentación 9. Desarrollo 10. Pruebas

Bibliografía BURKE Bill, “RESTful Java with JaX-RS” O’Reilly, 2010. ERIC Jendrock et al., “The Java EE 6 Tutorial: Basic Concepts (4th Edition), Sun Microsystems, 2010. GOPALAN Suresh Raj et al., “Implementing SOA with the Java EE 5 SDK”, Sun Microsystems, 2006. GUSTAVO Alonso et al., “Web Services: Concepts, Architectures and Applications, Springer, 2004. MARK D. Hansen, “SOA Using Java Web Services”, Prentice Hall, 2007. NICOLAI M. Josuttis, “SOA in Practice: The Art of Distributed System Design”, O’Reilly, 2008. SUBBU Allamaraju, “RESTful Web Services Cookbook”, O’Reilly, 2010. TABOR Robert, “Servicios Web XML de Microsoft.NET”, Ed. Pearson ISBN 84-2053-4706

Desarrollo de Software Créditos 8 Horas 5 Pre-requisitos NO Justificación Es de suma importancia que los estudiantes construyan software siguiendo una metodología que permita generar un producto de calidad, lo que le proporcionará una primera experiencia de desarrollo de un sistema real, en la cual apliquen una metodología de desarrollo, para generar un sistema que cumpla con los requisitos estipulados por el cliente. A partir de esta experiencia el alumno obtendrá un conjunto de lecciones aprendidas que le permitirán mejorar su desempeño profesional. Metodología de Trabajo De aprendizaje: Exposición de avances, actividades grupales, elaboración de bitácoras, discusiones grupales. De enseñanza: Prácticas guiadas, reuniones de reflexión y diseño. Objetivo General El estudiante analiza, diseña, construye y prueba un sistema de software aplicando una metodología de desarrollo, mediante una actitud responsable, crítica y con creatividad. Evaluación Elaboración de artefactos y programación (Prácticas en clase): 20%, Primera entrega del sistema: 20%, Segunda entrega: 20%, Tercera entrega: 10%, Guía de revisión técnica formal de equipo revisado: 10%, Planeación del Proyecto: 5%, Examen: 15%. Contenido Temático

1. Identificación de Requerimientos 2. Análisis 3. Diseño 4. Construcción 5. Pruebas

Bibliografía BOOCH Grady, RUMBAUGH James, JACOBSON Ivar. “The Unified Modeling Language User Guide”. Addison-Wesley, 1999. PRESSSMAN, R.S.,”Ingeniería del Software. Un enfoque práctico”, 6ª edición, Mc Graw Hill, 2006. ROSENBERG Doug y SCOTT Kendall, Use Case Driven Object Modeling with UML: A RUMBAUGH J., Jacobson I., Booch G., "El Lenguaje Unificado de Modelado. Manual de Referencia”, Editorial Addison-Wesley, 2000. SOMERVILLE Ian. "Ingeniería de Software. 6ª Edición". Addison Wesley.