Fundamentos de Programación
Transcripción
Fundamentos de Programación
ESCUELA DE INGENIERIA Informática Y Sistemas ASIGNATURA CODIGO SEMESTRE INTENSIDAD HORARIA CARACTERÍSTICAS CRÉDITOS FUNDAMENTOS DE PROGRAMACIÓN ST0242 2016-2 64 horas semestral Suficientable 4 1. JUSTIFICACIÓN CURSO Para el ingeniero de sistemas un primer acercamiento a la programación, y en particular a la programación orientada a objetos, es fundamental en su desarrollo como profesional. 2. OBJETIVOS GENERALES DEL CURSO 2.1. Al finalizar el curso, el estudiante podrá utilizar habilidades básicas de programación para implementar programas de baja complejidad. 2.2. OBJETIVOS ESPECÍFICOS: Al finalizar el curso, el estudiante estará en capacidad de: Definir el concepto de algoritmo y definir un pseudo-código para problemas de baja complejidad. Utilizar con propiedad las secuencias, decisiones y ciclos en programación estructurada. Utilizar con propiedad funciones, llamados, parámetros y valor de retorno. Utilizar con propiedad la técnica de divide y conquista para dividir un problema en varios sub-problemas más sencillos. Utilizar con propiedad arreglos, matrices y vectores de longitud variable. Definir las clases que componen la solución a un problema sencillo, identificando sus relaciones, atributos y métodos y hacer una implementación de estas clases. Conocer y utilizar el principio del encapsulamiento. 1/4 Programar un Lego Mindstorm utilizando su lenguaje gráfico. Programar un Lego Mindstorm desde Java. 3. DESCRIPCIÓN ANALÍTICA DE CONTENIDOS 3.1. INTRODUCCION Motivación. 3.2. 3.3. 3.4. EL PROCESO DE PROGRAMAR 3.2.1. Actores. 3.2.2. Etapas. 3.2.3. Requisitos funcionales y no funcionales. 3.2.4. Entidades. 3.2.5. Asignaciones. 3.2.6. Expresiones Aritméticas. ALGORITMOS 3.3.1. Qué es un algoritmo. 3.3.2. Propiedades. 3.3.3. Eficiencia vs. Eficacia. 3.3.4. Léxico. 3.3.5. Sintaxis. 3.3.6. Semántica. 3.3.7. Decisiones. TIPOS, EXPRESIONES, OPERADORES 3.4.1. Tipos básicos. 3.4.2. Operadores aritméticos y lógicos. 3.4.3. Ciclos. 3.4.4. JAVA. 2/4 3.5. 3.6. 3.7. 3.8. 3.9. ARREGLOS 3.5.1. Patrones de recorrido parcial. 3.5.2. Recorrido total y recorrido doble. 3.5.3. Arreglos. MATRICES DE DIFERENTES TIPOS 3.6.1. Enteros. 3.6.2. Chars. 3.6.3. Strings. 3.6.4. Strings: métodos de las librerías de Strings de Java. FUNCIONES 3.7.1. Parámetros por valor. 3.7.2. Parámetros por referencia (arreglos, Strings). 3.7.3. Valor de retorno. CLASES COMO ENTIDADES DE UN PROBLEMA 3.8.1. Clases. 3.8.2. Objetos. 3.8.3. Métodos. 3.8.4. Atributos. COLECCIONES DE LONGITUD VARIABLES; ARREGLOS DE REFERENCIA 3.9.1. INTERFAZ GRÁFICA: Algunos contenedores y controles. 3.9.2. MODELO DEL MUNDO: Asignación de responsabilidades. 4. EVALUACIÓN 3/4 4.1. Examen parcial 1 (15%) 4.2. Examen parcial 2 (15%) 4.3. Examen parcial 3 (15%) 4.4. Seguimiento (20%) 4.5. Trabajo final (35%) 5. BIBLIOGRAFIA GENERAL [AGH00] Ken Arnold, James Gosling, and David Holmes, The Java Programming Language, Addison-Wesley, 2000. TEXTO GUÍA [VC06] Jorge A. Villalobos S., Rubby Casallas G., Fundamentos de Programación, Aprendizaje Activo basado en Casos. Prentice Hall, 2006. [Eck02] Bruce Eckel, Piensa en Java, Prentice Hall, 2002. Lego Mindsorm: Se pondrán links a recursos en Internet por Eafit Interactiva. [Res06] Alberto Restrepo. Una gentil introducción a la lógica de programación. 4/4