La lógica es el núcleo esencial para la formación del pensamiento lógico-computacional que es imprescindible en la ciencia de la computación. En la lógica se estudian tres grandes temáticas: la teoría de conjuntos, la lógica proposicional y la lógica de predicados.


Objetivos Generales

  1. Confeccionar algoritmos para la solución de una amplia gama de problemas comunes y representarlos al nivel de programas.
  2. Aplicar características procedurales y empleo de clases presentes en un lenguaje de programación orientado a objetos, que sirvan de vehículo para expresar y desarrollar la implementación de las soluciones computacionales a problemas, usando de forma eficiente una herramienta de desarrollo integrada vinculada al lenguaje y manipular con soltura la instrumentación escogida del mismo, así como las herramientas de programación auxiliares por ella ofertadas.
  3. Desarrollar hábitos de abstracción y métodos de forma­lización para expresar problemas con vistas a obtener algoritmos de solución empleando computadoras y desarrollar la implementación en el lenguaje objeto de estudio de las soluciones computacionales a problemas, que se caractericen por su claridad, legibilidad, estética y adecuada documentación.

Sistema de Conocimientos

Nociones básicas sobre computadoras, algoritmos, programas, lenguajes y herramientas de desarrollo. Tipos de datos básicos y sus operadores. Entrada/salida elemental. Estructuras de control alternativas e iterativas. Subprogramas (funciones): nociones elementales de alcance, traspaso de parámetros, parámetros por defecto, variables estáticas y sobrecarga de  funciones. Arreglos. Clases. Punteros y variables dinámicas.

Sobrecarga. Herencia y polimorfismo. Genericidad. Recursión. Introducción a la definición y uso de estructuras de datos lineales desde un punto de vista orientado a objetos: pilas, colas y listas. Uso de colecciones de clases, iteradores y otros componentes comunes de biblioteca. Archivos. Cadenas. Mecanismos para la realización de aplicaciones más confiables y robustas. Desarrollo de interfaces gráficas de usuario: estudio de eventos.