Técnicas de Programación

Asignatura

Ficha Técnica
Modalidad Obligatoria
Área Especialización
U.C: 3
Código 2120360000320

Justificación

La solución de problemas complejos en ingeniería y en el área de integración de sistemas usualmente requiere la creación de programas de computadora. Para realizar esta tarea es necesario dominar los fundamentos de la programación, de manera tal que sea posible realizar programas eficientes, mantenibles, portables y reutilizables.

Objetivos del Curso

Dominar los aspectos teóricos, metodológicos y tecnológicos relacionados con la creación de programas de computadora. Estar en capacidad de diseñar e implementar programas de computadora orientados a la solución de problemas complejos en ingeniería.

Prerequisitos

No hay prerequisitos para este curso.

Contenido Programático

Unidad 1: Introducción a la computación

  • Conceptos básicos.
  • Algoritmos.
  • Aspectos básicos de la arquitectura de computadoras.
  • Aspectos básicos de los sistemas operativos.
  • Organización de la memoria.
  • Lenguajes de programación de alto nivel.
  • Compiladores e intérpretes.

Unidad 2: Elementos básicos de la programación

  • Tipos de datos.
  • Literales.
  • Variables.
  • Operadores.
  • Expresiones.
  • Sentencias.
  • Subrutinas.
  • Tipos de datos definidos por el usuario.
  • Tipos parametrizados.

Unidad 3: Fundamentos de la programación orientada a objetos

  • Conceptos básicos.
  • Encapsulamiento.
  • Herencia.
  • Polimorfismo.
  • Introducción a las estructuras de datos.

Unidad 4: Manejo de excepciones

  • Conceptos básicos.
  • Prácticas recomendadas.

Unidad 5: Entrada/Salida

  • Entrada/Salida síncrona y asíncrona.
  • Streams.
  • Serialización de objetos.
  • Archivos de acceso aleatorio.

Unidad 6: Interfaces gráficas de usuario

  • Conceptos básicos.
  • Introducción a la programación concurrente.
  • Programación manejada por eventos.
  • Patrón de diseño publicar/suscribir.
  • Componentes.

Metodología de la Enseñanza

Entre las estrategias instruccionales empleadas se incluyen la exposición por parte del docente del contenido teórico y ejemplos de aplicación, y se asignarán trabajos prácticos.

Intensidad Horaria

La intensidad horaria es de 3 horas/semana durante 16 semanas (48 horas/semestre).

Bibliografía

  • Knuth, D. Selected papers in computer science. CLSI Publications. 1996.
  • Kuth, Donald E., "The art of computer Programming" , Vol 1 - Fundamental Algorithms, 3ra edición, Addison-Wesley, 1997
  • Kernighan, Brian y Pike, Rob. The Practice of Programming. Addison Wesley. 1999.
  • Knuth, D. The Art of Computer Programming. CLSI Publications. 1996.
  • E. Gamma, R. Helm, R. Johnson and J. Vlissides. "Design Patterns. Elements of Reusable Object-Oriented Software. Addison Wesley. 1995.
  • Bloch, Joshua. Effective Java. Addison Wesley. 2001.
  • Holub, Allen. Taming Java Threads. Apress. 2000.
  • The Java Tutorial. A practical guide for programmers. http://java.sun.com. 2001.