División de Ingeniería y Tecnologías Departamento de Ciencias Computacionales Periodo : Primavera 2012 Nombre del curso: PROGRAMACIÓN AVANZADA Clave: SC2505 Seriación: SC1110 Línea Curricular: Desarrollo de Software HTS: 3 HPS: 0 THS: 3 Créditos: 6 HTS: HORAS TEÓRICAS SEMANALES HPS: HORAS PRÁCTICAS SEMANALES THS: TOTAL DE HORAS POR SEMANA Idioma(s) en que se imparte el curso: Español Tipo(s) de Curso: Presencial Objetivo y/o competencias generales del curso : Dominar y aplicar los principios del diseño de programación utilizando un Lenguaje de Programación Orientado a Objetos para aprender conceptos tales como archivos planos y bases de datos, fundamentos del diseño y desarrollo de interfaces y manejo de eventos. Descripción de contenidos y calendarización: TIEMPO OBJETIVOS ESPECIFICOS TEMAS Y SUBTEMAS ACTIVIDADES 2 Semanas 1. Conocerá los conceptos de interfaces y usabilidad de un sistema de información. 1 Semana 2. Reconocerá los fundamentos de los lenguajes orientados a eventos y será capaz de 1 Interfaces y software interactivo 1.1 Concepto de Interfaz 1.2 Desarrollo de Software Interactivo 1.3 Teorías y principios en el desarrollo de interfaces 1.4 Comprender las teorías en el desarrollo de interfaces 1.5 Uso de prototipos 1.6 Conceptos de usabilidad. 1.6.1 Qué es la usabilidad? 1.6.2 Tipos de usabilidad. 1.6.3 Ciclo de vida de la usabilidad de un sistema. 1.6.4 Pruebas de usabilidad. 1.7 Ergonomía digital. 1.7.1 Concepto y aplicación. 1.7.2 Los expertos en factores humanos 2 Orígenes de la POE 2.1 Qué es la POE 2.2 Características Pag. 1 de6 Búsqueda individual de una interface para analizarla Discusión en grupo sobre los elementos mas importantes de una interface Lectura de artículos sobre Usabilidad en revistas de IEEE on Computing Investigación de tópicos sobre Human Computer Interface en cursos de interfaces en universidades de EEUU. Tarea: Análisis de lo mas actual en la página: www.usabilityfirst.com, elaboración de un reporte sobre alguno de los artículos que ahí se encuentren Tarea: diseñar una interface para algún software conocido Ejecución de una tabla comparativa entre los lenguajes orientados a
compararlos 2.3 Historia y futuro 2.4 Características de un lenguaje orientado a eventos: 2.4.1 Objetos. 2.4.2 Eventos. 2.4.3 Propiedades. 2.4.4 Métodos. 2.5 Programación estructurada versus ejecución orientada a eventos 2.6 Comparación de tecnologías orientadas a eventos: 2.6.1 Delphi. 2.6.2 Visual Basic y Visual C#. 2.6.3 Java Applets. 2.6.4 Visual Studio 2.6.5 Scripts y HTML dinámico: 2.6.5.1 VBScript. 2.6.5.2 JavaScript 3 Semanas 3. Conocerá los principios y características del lenguaje C# 2 Semanas 4. Comprender el esquema de manejo de objetos, clases, valores, referencias, arreglos y colecciones en C# 2010 3. El entorno de C# 3.1 Componentes de C# 2008 3.2 Uso de Namespaces 3.3 Trabajando con elementos 3.3.1 Statemens, Identificadores y Keywords 3.3.2 Variables 3.3.3 Tipos de datos primitivos 3.3.4 Operadores Aritméticos 3.4 Métodos y Scopes 3.4.1 Declaración de Métodos 3.4.2 Aplicando Scopes 3.5 Estatutos de selección 3.6 Estatutos de Iteración 3.7 Manejo de errores y excepciones 4. El Paradigma de C# 4.1 Creación y manejo de clases y objetos 4.2 Métodos estáticos 4.3 Valores y referencias 4.4 System.object 4.5 Tipos de valores con enumeraciones y estructuras 4.6 Uso de arreglos y colecciones 4.7 Arreglos de parámetros 4.8 Manejo de la herencia 4.9 Creación de interfaces y clases abstractas 4.10 Uso del Garbage Collector 4.11 Creando componentes 4.11.1 Implementación de propiedades a campos de acceso 4.11.2 Uso de indexadores 4.11.3 Interrupciones al flujo del programa y manejo de eventos 4.12 Introducción a genéricos 4.13 Enumerando colecciones 4.14 Manejo de consultas a datos en memoria usando el LINQ 4.15 Sobrecarga de operadores eventos Tarea: Investigación sobre la historia de la POE Pag. 2 de6 o Variables o Operaciones Aritméticas o Métodos o Selección o Iteración o Manejo de errores o Clases o Métodos estáticos o Arreglos y/o Colecciones o Arreglos de parámetros o Indexadores o LINQ 2 Semanas 5. Dominar el manejo de 5. Uso de la clase awt.event
aplicaciones en ventanas usando el C# 2010 3 Semanas 6. Dominará el manejo de datos utilizando software de bases de datos y C# 2010 2 Semanas 7. Comprenderá el uso de los servicios Web usando C# 2010 5. Aplicaciones de Ventana 5.1 Creación de una presentación usando el Windows Presentation Foundation Application 5.2 Manejo de controles en la forma 5.2.1 Cambio de propiedades 5.2.2 Propiedades dinámicas 5.3 Manejo de eventos en la forma 5.4 Manejo de Menús y cuadros de dialogo 5.5 Manejo de validaciones 6. Manejo de datos 6.1 Consultando bases de datos 6.1.1 Introducción al SQL 6.1.2 Uso del CREATE, INSERT, DELETE y SELECT 6.1.3 Clausula FROM 6.1.4 Definición del WHERE 6.2 Uso del ADO.NET 6.3 Uso del DLINQ 6.3.1 Entity Class 6.3.2 Querys 6.3.3 Uniendo y relacionando tablas 6.4 Uso del Data Binding 6.4.1 Data Binding y el DLINQ 7. Web Services 7.1 Introducción ASP.NET 7.2 Uso del Internet como una infraestructura 7.3 Server Request y Responses 7.4 Manejo de estados 7.5 Creando aplicaciones con ASP.NET 7.6 Controles de validación en Web 7.7 Protección de un sitio Web y acceso usando Web Services 7.8 Creación y uso de los Web Services 7.9 Servicios, clientes y Proxies o Ventanas o Cajas de texto, radio buttons, combos o Botones, controles de la ventana o Llamadas entre ventanas o Creación de una base de datos o Actualización de una base de datos o Consultas a una base de datos o Uso de Web Services o Acceso usando Web Services o Actualización remota con Web Services Pag. 3 de6
Método Pedagógico empleado : Exposición de todos los temas por parte del profesor. Apoyado por presentaciones en computadora, y ejercicios realizados en clase. Se tendrán una clase teóricas de los temas a tratar y una práctica en el laboratorio de Ciencias Computacionales (Por definir) a fin de practicar los conceptos vistos. En las clases prácticas se entregará un problema a resolver. Al terminar el problema el maestro revisará la solución del mismo. En caso de no terminar el laboratorio en el tiempo estipulado, se deberá entregar usando la plataforma de WebCT en el tiempo estipulado. Para cada una de las tareas y/o laboratorios se deberán entregar en la plataforma en la fecha estipulada. Por ningún motivo se aceptarán laboratorios o tareas atrasadas. A través del curso los estudiantes en equipos de dos o tres personas irán desarrollando un proyecto. Dicho proyecto consiste en desarrollar un sistema en ambiente real, aplicando el lenguaje visto en el curso. Este proyecto se estará evaluando a lo largo del semestre. El producto final deberá ser aceptado por el usuario y deberá entregarse al maestro una carta de aceptación del proyecto firmada por el usuario. En caso de no entregar dicha carta se tendrá una penalización en la calificación del proyecto. Los estudiantes se comprometen a tener terminado y funcionando correctamente el sistema. Cada mes se entregarán de 4 a 5 programas en C# para apoyar los ejercicios realizados en clase. Recursos Didácticos Libro de Texto, Computadora, Microsoft C# 2010, Página Web de apoyo, Foros de Discusión y Artículos de Revistas. Software a usar: Microsoft C# 2010 Fechas de exámenes: Primer parcial: Segundo Parcial: Tercer Parcial: Final: Jueves 9 de febrero Jueves 15 de marzo Jueves 19 de abril Jueves 10 de mayo a las 13:00 hrs. Políticas del curso Las tareas se entregan en la fecha asignada y se manejara una penalización de 50% menos del valor de la tarea por entregarla tarde. Las tareas deberán entregarse al maestro usando WebCT (assignments) y no por otros medios físicos o electrónicos (a menos que así lo exija la tarea) El límite de faltas será de cuatro faltas Pag. 4 de6
La copia en exámenes o tareas es cero para las partes involucradas. El uso de celulares esta prohibido en la clase y sera sancionado en examen o laboratorio. Favor de poner en vibrador su teléfono y si requiere usarlo deberá salir del salón. Políticas de Evaluación del curso: NOTA: Deberán estar alineadas a las Políticas y Reglamentos de Evaluación de alumno de acuerdo al nivel correspondiente, Profesional o Posgrado Profesor Calificación Parcial Calificación Final Investigaciones Prácticas y Examen Total 3 Trabajo Examen Total y/o tareas exámenes rápidos Parcial (100%) Parciales Final Final (100%) Ing. Martín Jiménez Vega 30% 10% (Proyecto) 60% 100% 40% 30% 30% 100% Datos Generales del(de los) Profesor(es): Nombre Teléfono Ubicación Correo E Hrs. de Asesoría Ing. Martín Gerardo Jiménez Vega 8215-1222 Cubículo 6333 huitre2000@hotmail.com Lun y Mie de 16:00 a 17:00 Bibliografía básica y complementaria : Shneiderman, Ben. Plaisant, Catherine Designing the User Interface: Strategies for Effective Human-Computer Interaction Ed. Addison-Wesley Publishing, 5a. Edición USA, 2009 Disponible en biblioteca: 004.019 S558d 2004 Krug, Steve Don t make me think (A Common Sense Approach to Web Usability) Ed. Circle.com libraries USA, 2006 Disponible en biblioteca: 005.72 K94d 2006 Deitel, Harvey M. C# 2008 for programmers Ed. Prentice Hall USA, 2009 Disponible en biblioteca: 005.133 C111Xda 2009 Watson, Karli; Nagel, Christian; Pedersen, Jacob Hammer. Beginning Visual C# 2010. USA, 2010 Pag. 5 de6
Disponible en biblioteca digital: http://site.ebrary.com/lib/universidadmonterrey/doc?id=10381037&ppg=45 Sharp, John (TEXTO) Microsoft Visual c# 2010 (Step by step) Ed. Microsoft Pres USA, 2010 Disponible en biblioteca (versión 2008): 005.133 S531m 2008 Greene, Jennifer Head First C# (2 nd Edition) Ed. O'Reilly USA, 2010 Disponible en biblioteca (1a. edición): 005.133 S824h 2008 Hejlsberg, Anders The C# programming language Ed. Addison-Wesley USA, 2009 Disponible en biblioteca: 005.133 C111Xc 2009 Liberty, Jesse Programming C# 3.0 Ed. O'Reilly USA, 2008 Disponible en biblioteca: 005.133 L695p 2008 Firma de autorización Pag. 6 de6