Syllabus

SCM-0435 Tópicos selectos de Programación

DR. JOSE LUIS LIRA TURRIZA

jlira@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 Unidad I y II
PARCIAL 2 Unidad III y IV

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 ( bytes)
                           Tipos definidos por el usuario - Estructuras ( bytes)
                           Introducción ( 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++ ( bytes)
                           Uniones en Visual c++ ( bytes)
                           Tipos definidos por el usuario ( 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 ( bytes)
                           Tipos definidos por el usuario - Registros variantes ( 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++ ( bytes)
                           Typedef y enum - Ejemplos ( bytes)
                           Enumeraciones en Java ( 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++ ( bytes)
                           Manejo de bits ( 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 ( bytes)
                           http://www.zator.com/Cpp/E4_6.htm
                          
                   1.1.7. Operaciones de bits
                           Operadores en Java ( bytes)
                           Cpp vs Java ( 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 ( bytes)
                           Creación de Paquetes ( bytes)
                           Paquetes en Java ( 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 ( bytes)
                           Bibliotecas Compartidas en Linux ( bytes)
                           Creación de una biblioteca compartida ( bytes)
                           Bibliotecas Estáticas en C++ ( 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 ( 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 ( bytes)
                           http://www.programacion.com/java/tutorial/threads/2/
                          
                   3.1.3. Creación y control de hilos
                           Fundamentos Básicos de Hilos(Threads) ( bytes)
                           http://www.geocities.com/CollegePark/Quad/8901/cap08.htm
                          
                   3.1.4. Arranque de hilos
                           Ciclo de Vida de un Hilo ( 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 ( bytes)
                           http://www.itapizaco.edu.mx/paginas/JavaTut/froufe/parte10/cap10-4.html
                          
                   3.1.6. Suspensión de hilos
                           Control de Hilos ( bytes)
                           http://leo.ugr.es/J2ME/CLDC/transjava/node11.html#SECTION0001190000000000000000
                          
                   3.1.7. Parada de un hilo
                           Threads. Prioridad y Sincronización ( bytes)
                           Sleep ( 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 ( 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 ( bytes)
                           Comunicación entre Hilos ( 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 ( bytes)
                           Deitel y Deitel. Como programar en Java. Ed. Prentice Hall.Pags 122-130
                          
                   4.1.2. Aplicaciones GUI
                           Aplicaciones GUI ( bytes)
                           Deitel y Deitel. Como programar en Java. Ed. Prentice Hall.Pags 65-78
                          
                   4.1.3. Areas de dibujo
                           Objetos Gráficos ( bytes)
                           Deitel y Deitel. Como programar en Java. Ed. Prentice Hall.Pags 76-80
                          
                   4.1.4. Primitivos de dibujos
                           Gráficos en Java ( 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 ( bytes)
                          
                   5.1.2. Componentes de un sistema multimedia
                           Usos y Componentes Multimedia ( 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 ( bytes)
                          
                   5.1.4. Creación y Manipulación de Objetos con formatos de Archivo Gráfico
                           MediaTracker para imágenes ( bytes)
                           Formatos de Archivos Gráficos ( bytes)
                           Formato SVG ( 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 ( bytes)
                           Ejemplo de Animación ( 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 ( 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 ( bytes)
                           http://www.programacion.com/java/tutorial/3d/
                          
                   5.1.8. Interactividad
                           Escuchadores para interactuar con Ventanas ( 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 ( bytes)
                          
                   6.1.2. Generalidades de los Puertos
                           API de comunicaciones RS ( bytes)
                          
                   6.1.3. Puerto serial y sus variantes
                           Inicialización del Puerto ( bytes)
                          
                   6.1.4. Paralelo y sus variantes
                           Biblioteca rxtx ( 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 ( bytes)
                          
                   6.1.7. Ejemplos de programación entre puertos y dispositivos
                           Ejemplo de Comunicación de Puertos ( bytes)
                           Instrucciones para la entrega de Trabajos Semanales ( bytes)
                          

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

Cronogramas (20212022P)
Grupo Actividad Fecha Carrera

Temas para Segunda Reevaluación