Download AI00012-Introducción a la Programación

Document related concepts
no text concepts found
Transcript
UNIVERSIDAD PILOTO DE COLOMBIA
PLAN ANALÍTICO DEL PROGRAMA
FACULTAD DE INGENIERIA
ÁREA COMÚN DE INFORMÁTICA
1. PRESENTACIÓN DE LA ASIGNATURA O CURSO ACADÉMICO
Nombre del curso
Introducción a la Programación
AI000012
Código del curso (opcional)
Área de Formación (básica, profesional, Básica
complementaria, investigativa)
Tipo de curso (teórico, práctico, teórico –
práctico)
Teórico – práctico
Carácter del curso (obligatorio, electivo) Obligatorio
Créditos académicos
3
Horas de acompañamiento
4
Horas de Trabajo Independiente
5
Fecha de actualización
Marzo de 2008
2. DESARROLLO DEL CURSO
Palabras claves Algoritmos
Programación
UML
JAVA
JUSTIFICACIÓN:
La ingeniería de software ha diseñado una forma diferente para desarrollar aplicaciones
informáticas, que consiste en visualizar el mundo tal y como es, es decir, colecciones de
objetos que se pueden representar de forma general incluyendo sus características
(atributos) y sus respectivas operaciones (funciones miembro y/o métodos). Aunque este
paradigma Orientado a Objetos puede ser soportado en cierto grado en los lenguajes
tradicionales; los lenguajes orientados a objetos proporcionan el esqueleto en la
funcionalidad de los objetos, clases, métodos y mensajes, para hacer posible la creación
de programas que sean más exactos y menos complejos. La orientación de objetos es
un nivel de abstracción de computadora más allá del de los procedimientos y datos,
anima al desarrollador de software a concentrarse en los temas importantes e ignorar el
resto. Por tal motivo el ingeniero debe estar en capacidad de generar soluciones acordes
con la tecnología que va a encontrar en el mercado laboral con el ánimo de satisfacer
sus necesidades informáticas.
La programación orientada a objetos permite, entre otros aspectos, escribir programas
robustos debido a la posibilidad de modularizar y reutilizar código. Es por tanto necesario
1
que todos los que se dediquen a realizar software en cualquier área, además de los
conceptos de diseño y modelado, conozcan los principios de la orientación a objetos, el
código, la sintaxis y la semántica de un lenguaje de programación orientado a objetos
con los cuales desarrollen habilidades para la construcción de software con múltiples
propósitos.
Se trata de brindar al estudiante las herramientas teórico - prácticas que le permitan
asumir nuevos derroteros para la generación de propuestas en el área de la
computación, uso y aplicación de las bases conceptuales y practicas en la industria
como un marco de referencia en su proceso de formación especifica en el área científica
en el cual nos movemos.
Cualquier profesional se verá abocado, en más de una ocasión, a dar solución a
diversas problemáticas inherentes a su profesión, para lo que deberá tener una buena
capacidad de análisis, que le permita realizar un proceso de abstracción de la realidad
de manera tal que la modele y pueda tener alternativas de solución posibles,
A través de este espacio académico se le proporciona al estudiante unos conocimientos
y herramientas que le permitan aumentar su capacidad de análisis, que le permitan
modelar la realidad como uno de los métodos más viables para la solución de
problemas, además que desarrollen destrezas en la construcción de algoritmos.
PROPÓSITOS FORMATIVOS:
Desarrollar en el estudiante, el pensamiento lógico deductivo, a través de la solución
de diferentes problemas donde se requiera un proceso de razonamiento y análisis
profundo.
Desarrollar habilidades necesarias que le permitan la construcción de Algoritmos.
Desarrollar la capacidad de interpretación mediante el uso de estructuras lógicas
expresadas en un lenguaje natural y a través de la orientación a objetos de tal forma
que las pueda codificar en un lenguaje de programación (JAVA).
Desarrollar la capacidad del estudiante para resolver cualquier tipo de problema
informático a través del modelamiento en UML y la implementación de la solución en
JAVA.
2
COMPETENCIAS A DESARROLLAR O FORMAR:
La metodología utilizada en el desarrollo propende a que el estudiante:
 Realiza un proceso de análisis de un problema, utilizando una metodología
específica; donde defina Cliente, usuario, requerimientos funcionales, mundo del
problema y requerimientos no funcionales.
 Aprende a manejar elementos básicos de un lenguaje de modelado visual como
UML, con la finalidad que construya los modelos, los interprete y especifique su
estructura y comportamiento.
 Aprende a utilizar los principios básicos de la programación orientada a objetos
“Alta cohesión, Débil acoplamiento”, para que las clases que construya estén
ajustadas a los estándares.
 Cree algoritmos a partir del planteamiento de un problema y sus especificaciones;
y con base en diagramas de clases y objetos ajustados con UML.
 Implemente programas en JAVA embebidos con ECLIPSE, llevando a cabo los
procesos de codificación, compilación, detección de errores y ejecución.
 Utilice en forma correcta y eficiente las estructuras básicas de un lenguaje
orientado a objetos como son: paquetes, constantes, variables, operadores,
estructuras cíclicas, estructuras de decisión y funciones.
 Construye e implemente en un lenguaje orientado a objetos los diagramas de
clases o clase definidos en la etapa de análisis y diseño; a través de la
codificación de clases y sus respectivas partes(atributos y métodos), como
también la creación de objetos y la interactividad o relación entre ellos.
 Diseñe y construya interfaces en Java para una interactividad de calidad entre el
usuario y la aplicación. Que contengan ventanas, botones, botones de opción y
chequeo, Etiquetas, menús entre otras.
 Maneje en forma eficiente el almacenamiento temporal de datos y/u objetos a
través de vectores tanto estáticos como dinámicos con el fin de llevar a cabo
métodos que requieran la información mas de una vez.
3
METODOLOGIA Y ESTRATEGIAS DIDÁCTICAS:
La clase se desarrolla en las aulas del laboratorio de informática y en los salones de la
universidad, dado que es una asignatura de diseño y creación de programas basados en
computador.
Metodología:
Asignación de consultas y lecturas previas a la clase magistral para que el estudiante estudie
y reflexione respecto a los conceptos a tratar; Exposición magistral del docente de las
temáticas utilizando material audiovisual (video beam, proyector de acetatos, tablero, entre
otros); Complemento al trabajo del estudiante con el planteamiento y solución de problemas
en clase (talleres) y el desarrollo de programas de computador en el laboratorio de
Informática.
Estrategias:
El profesor asigna las lecturas y temas de consulta previos a cada clase, presenta de manera
general a través de clase magistral cada tema del contenido y, posteriormente, los
estudiantes, reunidos en grupos de 2 o 3 estudiantes complementan dichos temas mediante
trabajo dirigido con la solución de talleres en clase y laboratorio respectivamente; a la vez se
lleva acabo la evaluación del estudiante.
En horarios extractase el alumno de forma voluntaria tiene la oportunidad de acudir a tutorías
con el objetivo de aclarar dudas, orientar al estudiante en las lecturas previas a la clase y/o
asesoría para resolver problemas de teoría y practica planteados por el profesor titular.
4
EVALUACIÓN FORMATIVA:
El docente ejecuta un sistema de evaluación que le permita tener un control directo sobre sus
estudiantes, de manera tal que sea posible un proceso interactivo, dinámico y dirigido a cada
uno de ellos, en donde deberá existir la retroalimentación constante.
Este sistema evaluativo tendrá tres instancias, acorde a las directrices institucionales al
respecto, las cuales tendrán un valor del 30%, 30% y al 40%, respectivamente.
Para cada instancia se le asigna un valor porcentual de 70% y 30% al trabajo de clase y el
trabajo de laboratorio, respectivamente.
FUENTES DE INFORMACIÓN:
VILLALOBOS, JORGE, Fundamentos de Programación, Ed. Prentice Hall.
TJ: Joyanés Luís (1996). Fundamentos de Programación: Algoritmos y Estructura de Datos.
McGraw Hill.
C: Cairó Osvaldo (1995). Metodología de la Programación. Alfaomega
HPC: Deitel & Detiel, C++ – How to Program
CEBALLOS, FRANCISCO JAVIER, Programación Orientada a Objetos, Ed. Alfa Y Omega.
5
ORGANIZACIÓN DE LAS UNIDADES DIDÁCTICAS
No
.
1
Nombre de la Unidad Didáctica de
aprendizaje
Problemas, Soluciones y Programas.
1.1. Encuadre pedagógico Teoría.
1.2. Encuadre pedagógico Práctica.
1.3 Introducción y metodología para la
construcción de software: Análisis del
problema
(Cliente,
Usuario,
Requerimientos funcionales, Mundo del
problema y Requerimientos no funcionales
y/o Condiciones y restricciones; Taller1)
Teoría.
1.4. Instalación de Eclipse y
java.
Estructura básica de un programa Java
(variables, constantes, tipos de datos,
operadores, tipos de operadores; Taller 0)
e Inducción básica de Eclipse Práctica.
1.5. Identificación y partes de un
requerimiento funcional (Identificador,
Nombre, Resumen, Entradas y Salida;
Taller 2) Teoría.
1.6. Creación y compilación de un
programa en JAVA en ambiente ECLIPSE
(Diferencia entre ambientes consola y
Grafico; Taller 1) Práctica.
1.7. Modelado del mundo del problema
(Identificar las entidades o clases,
Características
de
las
entidades,
Relaciones entre entidades y Documentar:
Taller 3) Teoría.
Actividades del estudiante
La primera unidad se desarrolla en 14
sesiones divididas en 7 sesiones de teoría
y 7 sesiones de práctica, para las
unidades temáticas planteadas.
Los estudiantes tienen una participación
activa durante la clase teórica
confrontando las lecturas previas
establecidas y las autoconsultas
realizadas, con el desarrollo magistral de
la clase, en espacios destinados a
resolución de dudas y participación de los
estudiantes en ampliación de conceptos.
En la clase teórica se desarrolla un taller
dirigido, de aplicación de los conceptos
tratados.
Los estudiantes reciben los conceptos
necesarios para poder utilizar las
herramientas de programación del curso
en las clases de laboratorio.
En la clase de laboratorio se desarrolla un
taller, donde el estudiante utiliza los
conceptos adquiridos en clases teóricas y
de laboratorio, para resolver problemas
específicos mediante un programa Java de
aplicación.
El porcentaje evaluativo es de 70% para la
teoría y 30% para la práctica.
1.8.
Apertura,
reconocimiento,
modificación y programación de opciones
de un proyecto creado con Java en
ambiente ECLIPSE (se trabaja con un
proyecto ya iniciado, el alumno lo
reconoce, programa sus opciones, compila
y corrige con la ayuda del docente; Taller
2) Practica.
1.9. Diagramas de Clases: Representación
grafica y partes: Entidades, Atributos y
6
Tiempo empleado en el aprendizaje
Trabajo de
Trabajo
acompañamiento
Independiente
TAD
TAG
TAT
TA
TC
14
14
60
Total
Horas
relación de asociación (Taller 4) Teoría.
1.10. Reconocimiento de Clases, atributos,
métodos, carpetas de un proyecto y
programación de botones opcionales de
un programa en java. (Taller 3) Practica.
1.11 Representación de diagramas de
objetos, posibles valores de los atributos y
tipos de datos y codificación en java de
clases (Taller 5) Teoría.
1.12. Manejo de atributos (declaración),
reconocimiento de las clases de la Interfaz
y programación de botones opcionales
(Taller 4). Practica.
1.13. Codificación de objetos, partes y
codificación de métodos: constructores y
normales (Taller 6). Teoría.
2
Definición de Situaciones y manejo de La segunda unidad se desarrolla en 6
sesiones divididas en 3 sesiones de teoría
casos.
2.1. Introducción, Manejo y declaración de
contantes, Concepto, tipos y uso de
operadores, manejo de expresiones
aritméticas y lógicas y construcción de
métodos (Taller 7) Teoría.
2.2 Declaración de atributos, de objetos y
de métodos que solucionen un problema o
un proceso y que estén representados en
un diagrama de clases (Taller 8). Practica.
2.3. Manejo de operadores relacionales y
lógicos
(<,>,<=,>=,!=,==,&&
y
||)
conjuntamente con estructuras de decisión
(if, if-else, if-elseif-else y switch case).
Taller 9). Teoría.
2.4. Uso de estructuras de decisión,
creación de objetos y métodos y
programación de botones opcionales.
(Taller 9). Practica.
3
Manejo de grupos de atributos
3.1 Introducción, Concepto y manejo
instrucciones repetitivas
3.1.1. For
3.1.2. While
3.1.3. Do - While. (Taller 10). Teoría.
3.2 Uso de estructuras cíclicas (for, while
y do-while. Taller 10). Practica.
3.3. Unidades contenedoras de tamaño fijo
6
6
24
6
6
24
y 3 sesiones de práctica, para las
unidades temáticas planteadas.
Para las clases teóricas y las clases de
laboratorio se desarrollan las mismas
estrategias utilizadas en la unidad 1.
El porcentaje evaluativo es de 70% para la
teoría y 30% para la práctica.
La tercera unidad se desarrolla en 6
sesiones divididas en 3 sesiones de teoría
y 3 sesiones de práctica, para las
unidades temáticas planteadas.
Para las clases teóricas y las clases de
laboratorio se desarrollan las mismas
estrategias utilizadas en la unidad 1.
7
(vectores estáticos).
3.3.1. Declaración de arreglos.
3.3.2. Inicialización de arreglos.
3.3.3. Acceso a elementos de un arreglo.
Taller 11). Teoría.
3.4. Uso de vectores estáticos para
almacenar datos. Taller 11. Practica.
3.5. Unidades contenedoras de tamaño
variable (vectores).
3.5.1. Declaración de vectores.
3.5.2. Inicialización y tamaño de vectores.
3.5.3. Acceso a elementos de un vector.
3.5.4. Agregar elementos a un vector.
3.5.5. Remplazar elementos de un vector.
3.5.6. Eliminar elementos de un vector.
Taller 12. Teoría.
3.6. Uso de vectores dinámicos para
almacenar datos. Taller 12. Practica.
El porcentaje evaluativo es de 70% para la
teoría y 30% para la práctica.
6
4
Construcción de la Interfaz gráfica
Construcción de la interfaz de usuario
4.1. Elementos gráficos estructurales
4.1.1. Creación de la ventana principal.
4.1.2. Distribución gráfica de elementos.
4.1.3. Divisiones y paneles.
4.1.4. Etiquetas y zonas de textos.
4.1.5. Validación y formateo de datos.
4.1.6. Selección de opciones. (Taller 5)
Practica.
Construcción del mundo del problema
4.2. Elementos de Interacción.
4.3. Mensajes y lectura simple de datos.
4.3.1. Mensajes en consola.
4.3.2. Mensajes en una ventana.
4.3.3. Capturar información. (Taller 6).
Practica.
6
32
La cuarta unidad se desarrolla en 6 3
sesiones de teoría y 6 sesiones de
práctica, para las unidades temáticas
planteadas.
Para las clases de laboratorio se
desarrollan las mismas estrategias
utilizadas en la unidad 1.
El porcentaje evaluativo es de 70% para la
teoría y 30% para la práctica.
TOTAL DE HORAS DE ACUERDO AL NÚMERO DE CRÉDITOS
32
32
144
TAD: Trabajo de Acompañamiento dirigido; TAG Trabajo de Acompañamiento guiado; TAT: Trabajo de Acompañamiento tutorial;
TA: Trabajo autónomo; TC: Trabajo colaborativo.
8
3