Syllabus

SCM-0435 Tópicos selectos de Programación

DR. JOSE MANUEL LIRA TURRIZA

jmlira@itescam.edu.mx

Semestre Horas Teoría Horas Práctica Créditos Clasificación
5 3 2 8

Prerrequisitos
Programación Orientada a Objetos:
1) Conocimientos básicos de programación orientada a objetos(Clases, Objetos, Herencia, Polimorfismo)
2) Manejo de Arreglos
Fundamentos de Programación Orientada a Objetos:
1) Conocimientos generales de datos simples.
2) Manejo de estructuras básicas de Java.
3) Algoritmos

Competencias Atributos de Ingeniería

Normatividad
1. Cumplir con todos los trabajajos marcados en clases y extrclases.
2. Participar en el salón de clases cuando se le requiera.
3. Tener el mínimo de asistencias requerido por la subdirección académica (80%)

Materiales
No se requieren materiales adicionales a los especificados en la programación de clases.

Bibliografía disponible en el Itescam
Título
Autor
Editorial
Edición/Año
Ejemplares

Parámetros de Examen
PARCIAL 1 De la actividad 1.1.1 a la actividad 2.1.2
PARCIAL 2 De la actividad 3.1.1 a la actividad 4.1.4

Contenido (Unidad / Competencia / Actividad / Material de Aprendizaje)
1. Tipos de Datos Definidos por el Usuario
          1.1. Tipos de datos definidos por el usuario
                   1.1.1. Agregación de datos (struct)
                           Estructuras en listas ligadas (75776 bytes)
                           Tipos definidos por el usuario - Estructuras (62976 bytes)
                           Introducción (86528 bytes)
                           http://yolinux.com/TUTORIALS/LinuxTutorialC++Structures.html
                           http://www.conclase.net/c/curso/index.php?cap=011
                          
                   1.1.2. Uniones de datos
                           Uniones en c++ (35328 bytes)
                           Uniones en Visual c++ (37376 bytes)
                           Tipos definidos por el usuario (47104 bytes)
                           http://www.mailxmail.com/curso/informatica/cplusplus/capitulo9.htm
                           http://www.modelo.edu.mx/univ/virtech/prograc/cestruct.htm#cinco
                           http://www.conclase.net/c/curso/index.php?cap=016
                          
                   1.1.3. Registro de variantes
                           Tipos definidos por el usuario (107429 bytes)
                           Tipos definidos por el usuario - Registros variantes (382242 bytes)
                           http://trevinca.ei.uvigo.es/~franjrm/apuntes/tema-2.pdf#search=registros%20variantes
                          
                   1.1.4. Tipos de datos enumerados
                           Declaración de Enumeraciones en Visual c++ (52736 bytes)
                           Typedef y enum - Ejemplos (45568 bytes)
                           Enumeraciones en Java (57344 bytes)
                           http://www.zator.com/Cpp/E4_8.htm
                           http://www2.enel.ucalgary.ca/People/Norman/enel315_winter1997/enum_types/
                           http://www.itapizaco.edu.mx/paginas/JavaTut/froufe/parte4/cap4-6.html#Cap4_6_3
                          
                   1.1.5. Manejo de bits
                           Operadores de bits en C++ (52736 bytes)
                           Manejo de bits (63488 bytes)
                           http://www.programacion.com/tutorial/java_basico/3/#desplazamiento
                           http://www.zator.com/Cpp/E9_4.htm
                          
                   1.1.6. Campos de bits
                           Ejemplo de Operadores - Cifrado (335 bytes)
                           http://www.zator.com/Cpp/E4_6.htm
                          
                   1.1.7. Operaciones de bits
                           Operadores en Java (70144 bytes)
                           Cpp vs Java (52410 bytes)
                           http://pisuerga.inf.ubu.es/lsi/Invest/Java/Tuto/II_3.htm
                           http://www.zator.com/Cpp/E4_9_3.htm
                          
2. Creación de componentes y bibliotecas dinámicas
          2.1. Creación de componentes y bibliotecas dinámicas
                   2.1.1. Creación de componentes
                           Paquetes (37376 bytes)
                           Creación de Paquetes (32768 bytes)
                           Paquetes en Java (28672 bytes)
                           http://www.itapizaco.edu.mx/paginas/JavaTut/froufe/parte5/cap5-14.html
                           http://www.programacion.com/java/tutorial/jar/
                          
                   2.1.2. Creación de bibliotecas dinámicas
                           Ejemplo Jni (40960 bytes)
                           Bibliotecas Compartidas en Linux (66048 bytes)
                           Creación de una biblioteca compartida (26624 bytes)
                           Bibliotecas Estáticas en C++ (50176 bytes)
                           http://www.gmonline.demon.co.uk/cscene/CS4/CS4-04.html
                           http://www.programacion.com/java/tutorial/jni/
                           http://es.tldp.org/Otros/00-CAOS/casi-borrable/bibliotecas-HOWTO.html#SEC1
                          
3. Programación Concurrente Multihilo
          3.1. Programación concurrente multihilo
                   3.1.1. Concepto de hilo
                           Hilos en Java (37888 bytes)
                           http://www.mcc.unam.mx/~cursos/Algoritmos/javaDC99-1/Java_threads/node2.html
                          
                   3.1.2. Comparación de un programa de flujo unico con un programa de flujo múltiple
                           Programas de flujo simple y múltiple (33280 bytes)
                           http://www.programacion.com/java/tutorial/threads/2/
                          
                   3.1.3. Creación y control de hilos
                           Fundamentos Básicos de Hilos(Threads) (226281 bytes)
                           http://www.geocities.com/CollegePark/Quad/8901/cap08.htm
                          
                   3.1.4. Arranque de hilos
                           Ciclo de Vida de un Hilo (51889 bytes)
                           http://www.itapizaco.edu.mx/paginas/JavaTut/froufe/parte10/cap10-3.html#Cap10_3_1
                          
                   3.1.5. Manipulación de hilos
                           Ejemplo de Manejo de Hilos (3745 bytes)
                           http://www.itapizaco.edu.mx/paginas/JavaTut/froufe/parte10/cap10-4.html
                          
                   3.1.6. Suspensión de hilos
                           Control de Hilos (27136 bytes)
                           http://leo.ugr.es/J2ME/CLDC/transjava/node11.html#SECTION0001190000000000000000
                          
                   3.1.7. Parada de un hilo
                           Threads. Prioridad y Sincronización (46080 bytes)
                           Sleep (27136 bytes)
                           Lemay Laura & Perkins Charles L. Aprendiendo Java en 21 días. Ed. Prentice Hall. Pags 110-112
                           Deitel y Deitel. Como programar en Java. Ed. Prentice Hall.Pags 71-75
                          
                   3.1.8. Ejemplos de las aplicaciones de los hilos
                           Ejemplo de Sincronización (30720 bytes)
                           Lemay Laura & Perkins Charles L. Aprendiendo Java en 21 días. Ed. Prentice Hall. Pags 121-123
                          
                   3.1.9. Sincronización de hilos
                           Agrupación de Hilos (39424 bytes)
                           Comunicación entre Hilos (48640 bytes)
                           http://www.geocities.com/CollegePark/Quad/8901/cap08.htm#sincro
                           http://www.dlsi.ua.es/~abia/PC/material/programacion-concurrente-java.htm#P_7_
                          
4. Interfaz Gráfica de Usuario
          4.1. Interfaz gráfica de usuario
                   4.1.1. Biblioteca de interfase grafica (API`s)
                           AWT (44032 bytes)
                           Deitel y Deitel. Como programar en Java. Ed. Prentice Hall.Pags 122-130
                          
                   4.1.2. Aplicaciones GUI
                           Aplicaciones GUI (26112 bytes)
                           Deitel y Deitel. Como programar en Java. Ed. Prentice Hall.Pags 65-78
                          
                   4.1.3. Areas de dibujo
                           Objetos Gráficos (31744 bytes)
                           Deitel y Deitel. Como programar en Java. Ed. Prentice Hall.Pags 76-80
                          
                   4.1.4. Primitivos de dibujos
                           Gráficos en Java (49664 bytes)
                           Deitel y Deitel. Como programar en Java. Ed. Prentice Hall.Pags 131-135
                          
5. Multimedia
          5.1. Multimedia
                   5.1.1. Introduccion a la multimedia
                           Lemay Laura & Perkins Charles L. Aprendiendo Java en 21 días. Ed. Prentice Hall. Pags 178-185
                           Multimedia (806400 bytes)
                          
                   5.1.2. Componentes de un sistema multimedia
                           Usos y Componentes Multimedia (30720 bytes)
                           Deitel y Deitel. Como programar en Java. Ed. Prentice Hall.Pags 145-148
                          
                   5.1.3. Formatos de archivos multimedia
                           Deitel y Deitel. Como programar en Java. Ed. Prentice Hall.Pags 156-159
                           Formatos Multimedia (16282 bytes)
                          
                   5.1.4. Creación y Manipulación de Objetos con formatos de Archivo Gráfico
                           MediaTracker para imágenes (37376 bytes)
                           Formatos de Archivos Gráficos (1779712 bytes)
                           Formato SVG (581120 bytes)
                           http://java.sun.com/j2se/1.4.2/docs/guide/imageio/index.html
                           http://java.sun.com/products/java-media/jai/
                          
                   5.1.5. Creación y Manipulación de Objetos con formatos de Animación y Video
                           Formatos de Video y animación (61952 bytes)
                           Ejemplo de Animación (30208 bytes)
                           http://toro.itapizaco.edu.mx/paginas/JavaTut/froufe/parte15/cap15-9.html
                          
                   5.1.6. Creación y Manipulación de Objetos con formatos de Audio
                           Formatos de Audio (430592 bytes)
                           http://java.sun.com/j2se/1.4.2/docs/guide/sound/programmer_guide/contents.html
                          
                   5.1.7. Integración de Elementos Multimedia
                           Graficos en 2D y Textos con Formato (577536 bytes)
                           http://www.programacion.com/java/tutorial/3d/
                          
                   5.1.8. Interactividad
                           Escuchadores para interactuar con Ventanas (210432 bytes)
                           http://www.planetalia.com/cursos/index.jsp
                           http://www.programacion.com/java/tutorial/applets/10/
                          
6. Programación de puertos e interrupciones
          6.1. Programación de Puertos e Interrupciones
                   6.1.1. Interrupciones
                           Comunicación RS232 (26624 bytes)
                          
                   6.1.2. Generalidades de los Puertos
                           API de comunicaciones RS (50176 bytes)
                          
                   6.1.3. Puerto serial y sus variantes
                           Inicialización del Puerto (41472 bytes)
                          
                   6.1.4. Paralelo y sus variantes
                           Biblioteca rxtx (60416 bytes)
                          
                   6.1.5. Interrupciones que intervienen en cada puerto
                           http://java.sun.com/products/javacomm/
                          
                   6.1.6. Envío y recepción de los datos
                           Escritura en puertos (29184 bytes)
                          
                   6.1.7. Ejemplos de programación entre puertos y dispositivos
                           Ejemplo de Comunicación de Puertos (34816 bytes)
                           Instrucciones para la entrega de Trabajos Semanales (15581 bytes)
                          

Prácticas de Laboratorio (20232024P)
Fecha
Hora
Grupo
Aula
Práctica
Descripción

Cronogramas (20232024P)
Grupo Actividad Fecha Carrera

Temas para Segunda Reevaluación