UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Facultad de Ciencias
Plan de estudios de la Licenciatura en
Matemáticas Aplicadas
Programación
Clave Semestre Créditos Área de
Computación y Análisis Numérico
2 10 conocimiento
Campo
Etapa
Básica
Curso ( X ) Taller ( ) Lab ( ) Sem ( )
Modalidad Tipo T( ) P( ) T/P ( X )
Obligatorio ( X ) Optativo ( )
Carácter Horas
Obligatorio E ( ) Optativo E ( )
Semana Semestre
Teóricas 3 Teóricas 48
Prácticas 4 Prácticas 64
Total 7 Total 112
Seriación
Ninguna ( )
Obligatoria ( )
Asignatura antecedente
Asignatura subsecuente
Indicativa ( X )
Asignatura antecedente Taller de Herramientas Computacionales
Asignatura subsecuente Manejo de Datos
Taller de Modelación III
Análisis Numérico
Objetivos generales:
Proveer los conocimientos y mecanismos para poder explotar la tecnología disponible.
Preparar para usar una computadora para aplicaciones de tipo científico y en la solución de
problemas relacionados con su disciplina.
Aprender a diseñar programas con una metodología orientada a objetos.
Programar en un lenguaje orientado a objetos.
Objetivos específicos:
Explicar las ideas básicas de programación.
Comprender las características y la utilización de un lenguaje de programación.
Reconocer las representaciones básicas de datos en máquina.
Aplicar las características de los distintos tipos de datos y la manera de crearlos.
Reconocer los fundamentos y usos de los algoritmos recursivos y su aplicación en la solución
de problemas.
Comparar algunos algoritmos e identificar algunos problemas importantes.
Entender el manejo básico de archivos como entrada y salida de datos.
Índice temático
Horas
Tema semestre
Teóricas Prácticas
Vista panorámica de la programación orientada a
1 3 3
objetos
2 Objetos, estados y servicios 7 10
3 Creación de clases 9 12
4 Datos estructurados 6 8
5 Herencia 9 12
6 Manejo de errores 5 7
7 Objetos persistentes 9 12
Subtotal 48 64
Total 112
Contenido Temático
Tema y subtemas
1 Vista panorámica de la programación orientada a objetos
1.1 Conceptos generales.
1.2 Metodología de diseño.
1.3 Organización general de un programa.
1.4 Normas de estilo.
2 Objetos, estados y servicios
2.1 Tipos de datos primitivos, variables, operadores y expresiones.
2.2 Tipos de datos definidos por el usuario: clases, objetos, métodos.
2.3 Algoritmos.
2.3.1 Estructuras de control: condicional e interacción.
2.4 Interacción con el usuario (entrada/salida básica).
3 Creación de clases
3.1 Estructura y comportamiento.
3.2 Visibilidad.
3.3 Tipos de métodos (Constructores, de asignación, de consulta, calculadores,
misceláneos, etc.)
3.4 Sobrecarga de métodos.
4 Datos estructurados
4.1 Arreglos unidimensionales.
4.2 Arreglos multidimensionales.
4.3 Arreglos dinámicos.
5 Herencia
5.1 Extensión de clases.
5.2 Atributos y métodos protegidos.
5.3 Especialización y generalización.
5.4 Polimorfismo y sobreescritura.
5.5 Clases abstractas.
5.6 Interfaces.
6 Manejo de errores
6.1 Tipos de errores (sintaxis, semántica y ejecución).
6.2 Excepciones (definición, lanzamiento y manejo).
6.3 Jerarquía de excepciones.
6.4 Excepciones definidas por el programador.
7 Objetos persistentes
7.1 Operaciones básicas con archivos.
7.2 Excepciones para manejo de archivos.
7.3 Tipos de archivos (Texto, binarios, CSV, etc.).
Estrategias didácticas Evaluación del aprendizaje
Exposición (X) Exámenes parciales (X)
Trabajo en equipo ( ) Examen final (X)
Lecturas ( ) Trabajos y tareas (X)
Trabajo de investigación (X) Presentación de tema ( )
Prácticas (taller o laboratorio) (X) Participación en clase ( )
Prácticas de campo (X) Asistencia ( )
Aprendizaje por proyectos ( ) Rúbricas ( )
Aprendizaje basado en problemas ( ) Portafolios ( )
Casos de enseñanza ( ) Listas de cotejo ( )
Otras (especificar) Otras (especificar)
Perfil profesiográfico
Título o grado Preferentemente licenciado en Ciencias de la Computación, Ingeniería en
Sistemas, Matemáticas, Actuaría.
Experiencia docente Con experiencia docente y profesional en el área.
Otra característica Especialista en el área de la asignatura a juicio del comité de asignación
de cursos.
Bibliografía básica:
Amparo López Gaona, Introducción al desarrollo de programas con Java (2ª ed.). Las
prensas de Ciencias, 2011.
Elisa Viso y Caneck Peláez, Introducción a las Ciencias de la Computación con Java. Las
Prensas de Ciencias, 2007.
Peláez C. y Viso, E., Introducción a las Ciencias de la Computación con Java (Manual de
prácticas). Las Prensas de Ciencias, 2007.
Bibliografía complementaria:
Elliote Rusty Harols, Java I/O (2ª ed.). O'Reilly Media Inc., 2006.
José Galaviz Casas, Elogio de la pereza. Las prensas de Ciencias, 2004.
Joshua [Link], Java (2ª ed.). Pearson Education. Inc., 2008.
Ken Arnold, James Gosling and David Holmes, Java(TM) Programming Language (4ª ed.).
Addison-Wesley. Pearson Education, 2005.
Pablo Sznajdleder, Java a Fondo. Alfaomega, 2011.
Sierra, K., Bates, B., Head First Java (2ª ed. revisada). EE. UU.: O'Reilly Media, Inc., USA,
2005.
Sitios Web:
Página de Java en la web: [Link] Definiciones de clases para
Java.
Sun Corporation. The source for Java technology.