Sei sulla pagina 1di 34

3.

GUA DEL INSTRUCTOR DE LA CLASE DE INTRODUCCIN A LA PROGRAMACIN Y COMPUTACIN 1

La Gua del Instructor del curso de Introduccin a la Programacin y Computacin 1, se realiz conforme al formato sugerido en el curso de Estructuracin de cursos y laboratorios, impartido por el seor Mruntunjaya Panda.

3.1.

Datos Generales

NOMBRE DE CURSO:

Introduccin

la

Programacin

Computacin 1 (770) PRE- REQUISITOS: 36 Crditos Matemtica Bsica 2 (103) POST REQUISITOS: Introduccin a la Programacin y

Computacin 2 (771) Lenguajes Formales y de Programacin (796) OBJETIVO: Al finalizar el curso, el estudiante poseer la habilidad necesaria para poder realizar el diseo
17

bsico

de

programas

que

le

permitirn resolver problemas mediante el uso de computadoras orientada a utilizando objetos.

programacin

Plasmando los algoritmos que constituyen el programa en el lenguaje JAVA. Apoyndose en UML para poder disear los diagramas de clases de estos programas. MODULOS: VIGENCIA: Programacin Principiantes Primer Semestre 2009

3.2.

Distribucin del Curso

El curso de Introduccin a la Programacin y Computacin 1 se divide en 28 sesiones, integradas en un mdulo denominado Programacin Principiantes. La tabla V. muestra la tabla correspondiente a la distribucin del curso de IPC1.

Tabla V. Distribucin del curso de IPC1


MODULO TEORA PRACTICA TOTAL EXAMEN PRACTICA PREPARATORIA PROGRAMACIN PRINCIPIANTES TOTAL 46horas 10 horas 46horas 10 horas 56 horas 56 horas 4 5 3 4 5 3 PROYECTOS

18

3.3.

Distribucin del Mdulo

El mdulo de programacin principiantes se divide en 7 sub mdulos. La tabla VI. muestra la tabla correspondiente a la distribucin del mdulo de IPC1.

Tabla VI. Distribucin del mdulo de IPC1


SUB-MDULO TEORA PRACTICA TOTAL AL FINALIZAR EL LOS SUB-

MDULOS OBTENDR INTRODUCCIN COMPUTACIN PROGRAMACIN A LA Y 8 horas 0 horas 8 horas

ESTUDIANTE

El conocimiento los conceptos bsicos de computacin. La comprensin sobre qu se considera software. El entendimiento de las

diferencias entre los lenguajes de programacin. La capacidad para resolver

problemas computacionales. La comprensin sobre la

consistencia de la programacin estructurada programacin. PROGRAMACIN ORIENTADA A OBJETOS 14 horas 2 horas 14 horas Los conocimientos necesarios y el entorno de

para la comprensin de las distintas metodologas de programacin. Los conceptos bsicos y

19

fundamentales de la programacin orientada a objetos. El entendimiento de las ventajas que brinda UML al momento de ser aplicado en proyectos de software. La comprensin del concepto de polimorfismo al ser aplicado en conceptos especficos de la

programacin orientada a objetos. La comprensin de las ventajas de la herencia y la importancia que poseen los destructores. El entendimiento del concepto de polimorfismo aplicado a mtodos virtuales. La habilidad de de aplicar el

concepto abstractas. INTRODUCCIN A LA 2 horas 0 horas 2 horas El

construcciones

conocimiento del

sobre

la Java

PLATAFORMA JAVA

evolucin

lenguaje

comprendiendo las caractersticas que hacen nica a esta plataforma. ELEMENTOS BSICOS DE PROGRAMACIN PROGRAMACIN ESTRUCTURADA Y 8 horas 2 horas 10 horas La comprensin sobre los

diferentes tipos de datos, constantes y variables utilizados en la

programacin estructurada. La habilidad para utilizar los operadores expresiones. El conocimiento necesario para identificar la importancia sobre: las estructuras de control, tanto y generacin de

20

iterativas como condicionales. La habilidad para realizar rutinas y aplicar la recursividad o recursin. ESTRUCTURAS ALGORTMICAS 4 horas 0 horas 4 horas La comprensin sobre las

estructuras algortmicas. La habilidad para utilizar arreglos y comprender los beneficios de utilizar cadenas dinmicas. La aplicacin de los mtodos de ordenamiento de datos.

FLUJOS

(STREAMS)

Y DE

4 horas

2 horas

6 horas

La habilidad para comprender y manipular archivos utilizando java. El entendimiento sobre el

MANIPULACIN ARCHIVOS

concepto de streams. TIPO DE DATOS 6 horas 4 horas 10 horas La comprensin del tipo de de la datos

ABSTRACTOS

importancia abstractos.

La habilidad para utilizar pilas, colas y listas enlazadas utilizando java. TOTAL 38 horas 18 horas 56 horas

3.4.

Evaluacin

Ponderacin de evaluaciones, tareas, prcticas y laboratorio. La tabla VII. muestra la tabla correspondiente a la evaluacin del curso de IPC1.
21

Tabla VII. Evaluacin de IPC1


ACTIVIDAD PRACTICA PREPARATORIA NUMERO 5 PORCENTAJE 0.60 % TOTAL 3.00 %

AUTO-EVALUACIN

1.00 %

2.00 %

LABORATORIO

40.0 %

40.00 %

EXAMEN PARCIAL

10.0 %

30.00 %

EXAMEN FINAL

25.0 %

25.00 %

TOTAL

100.00 %

3.5.

Detalle de Sesiones

La tabla VIII. muestra la tabla correspondiente al detalle de sesiones del curso de IPC1.

Tabla VIII. Detalle de sesiones de IPC1


NO TEORIA NO PRACTICA PRACTICA PREPARATORIA / PROYECTO 1 PROGRAMACIN PRINCIPIANTES 1 2 PROGRAMACIN

22

PRINCIPIANTES 2 3 PROGRAMACIN PRINCIPIANTES 3 4 PROGRAMACIN PRINCIPIANTES 4 5 PROGRAMACIN PRINCIPIANTES 5 6 PROGRAMACIN PRINCIPIANTES 6 7 PROGRAMACIN PRINCIPIANTES 7 8 PROGRAMACIN PRINCIPIANTES 8 9 PROGRAMACIN PRINCIPIANTES 9 10 PROGRAMACIN PRINCIPIANTES 10 11 PROGRAMACIN PRINCIPIANTES 11 13 PROGRAMACIN PRINCIPIANTES 13 14 PROGRAMACIN PRINCIPIANTES 14 15 PROGRAMACIN PRINCIPIANTES 15 16 PROGRAMACIN PRINCIPIANTES 16 17 PROGRAMACIN PRINCIPIANTES 17 18 PROGRAMACIN PRINCIPIANTES 18 Prctica Preparatoria No. 2 12 PROGRAMACIN PRINCIPIANTES 12 Prctica Preparatoria No. 1

23

19 PROGRAMACIN PRINCIPIANTES 19 20 PROGRAMACIN PRINCIPIANTES 20 21 PROGRAMACIN PRINCIPIANTES 21 22 PROGRAMACIN PRINCIPIANTES 22 24 PROGRAMACIN PRINCIPIANTES 24 25 PROGRAMACIN PRINCIPIANTES 25 26 PROGRAMACIN PRINCIPIANTES 26 27 PROGRAMACIN PRINCIPIANTES 27 28 PROGRAMACIN PRINCIPIANTES 28 Prctica Preparatoria No. 5 23 PROGRAMACIN PRINCIPIANTES 23 Prctica Preparatoria No. 4 Prctica Preparatoria No. 3

3.6.

Distribucin de Sesiones

La tabla IX. muestra la tabla correspondiente a la distribucin de sesiones del curso de IPC1.

Tabla IX. Distribucin de sesiones de IPC1

SESIN NO. 1:

SUB-MDULO: INTRODUCCIN A LA COMPUTACIN Y PROGRAMACIN

24

OBJETIVO:

Introducir a los estudiantes sobre los conceptos bsicos de computacin.

1 Conceptos computacionales. CONTENIDO: 1.1 Computadora. 1.2 Hardware. 1.3 Software. 1.3.1 Programa. 1.3.2 Informacin: instrucciones y datos. 1.4 Firmware. 2 Organizacin de la computadora. 2.1 Diagrama de organizacin fsica. 2.2 Dispositivos E/S. 2.2.1 Dispositivos de entrada. 2.2.2 Dispositivos de salida. 2.2.3 Perifricos. 2.3 CPU. 2.3.1 Componentes primarios: ALU, CU, Registros. 2.3.2 Palabra (Word). 2.3.3 Microprocesadores y velocidad. 2.4 Memoria intermedia (cach). 2.5 Memoria principal. 2.5.1 Unidad elemental de memoria: Bits, Bytes. 2.5.2 Sistema binario 2.5.3 Tabla de unidades de medida de almacenamiento. 2.5.4 Tipos de memoria. 2.6 Memoria secundaria. 2.6.1 Archivos. 2.6.2 Tipos de dispositivos: magnticos, pticos, etc. 2.7 Comparacin entre memorias: almacenamiento, velocidad y precio.

SESIN NO. 2:

SUB-MDULO: INTRODUCCIN A LA COMPUTACIN Y PROGRAMACIN

OBJETIVO:

Presentar a los estudiantes en qu consiste el software y los lenguajes de

25

programacin.

1 El software. CONTENIDO: 1.1 Programa. 1.2 Divisin del software. 1.2.1 Software del sistema. 1.2.1.1 Sistema operativo: definicin y caractersticas. 1.2.1.2 Compiladores e intrpretes. 1.2.1.3 Programas de utilidad. 1.2.2 Software de aplicacin. 1.2.3 Relacin entre software del sistema y software de aplicacin. 2 Lenguajes de programacin. 2.1 Lenguajes de mquina. 2.1.1 Caractersticas. 2.1.2 Conjuntos de instrucciones: CISC y RISC. 2.1.3 Desventajas. 2.2 Lenguajes de bajo nivel. 2.2.1 Caractersticas. 2.2.2 Lenguaje ensamblador: instrucciones nemotcnicas. 2.3 Lenguajes de alto nivel. 2.3.1 Caractersticas. 2.3.2 Ventajas. 2.3.3 Desventajas.

SESIN NO. 3:

SUB-MDULO: INTRODUCCIN A LA COMPUTACIN Y PROGRAMACIN

OBJETIVO:

Brindar

los

estudiantes

la

capacidad

para

resolver

problemas

computacionales.

1 Algoritmo. CONTENIDO: 1.1 Concepto e importancia: origen

26

1.2 Caractersticas: preciso, definido, finito. 1.3 Diferencia entre mtodos algortmicos y heursticos. 2 Resolucin de problemas computacionales. 2.1 Anlisis del problema. 2.1.1 Concepto e importancia. 2.1.2 Definicin de alcances e identificacin de limitantes. 2.2 Diseo del algoritmo. 2.2.1 Concepto e importancia. 2.2.2 Introduccin al diseo descendente (top-down) o modular. 2.2.2.1 Programacin modular. 2.2.2.2 Mdulo: mdulo principal, submdulos. 2.2.2.3 Caractersticas y beneficios. 2.2.3 Herramientas de diseo. 2.2.3.1 Diagramas de flujo. 2.2.3.2 Pseudocdigo. 2.2.3.3 Ejemplo de diseo. 2.3 Codificacin. 2.3.1 Caractersticas bsicas y mejores prcticas. 2.4 Compilacin y ejecucin. 2.4.1 Fases de la compilacin. 2.4.2 Programa fuente, objeto y ejecutable. 2.5 Verificacin y depuracin. 2.5.1 Verificacin. 2.5.2 Depuracin. 2.5.3 Tipos de errores: de compilacin, de ejecucin y lgicos. 2.6 Documentacin. 2.6.1 Documentacin interna. 2.6.2 Documentacin externa. 2.7 Mantenimiento. 2.7.1 Importancia como factor de xito. 2.7.2 Versionamiento: <mayor>.<menor>.<control>.<build>.

SESIN NO. 4:

SUB-MDULO: INTRODUCCIN A LA COMPUTACIN Y PROGRAMACIN

OBJETIVO:

Introducir a los estudiantes el concepto de programacin estructurada y el

27

entorno de programacin.

1 Programacin estructurada. CONTENIDO: 1.1 Definicin, reglas y beneficios. 1.2 Recursos abstractos. 1.3 Diseo descendente 1.3.1. Definicin 1.3.2. Perspectivas 1.3.3. Refinamiento Sucesivo 1.4 Estructuras de control 1.4.1. Definicin 1.4.2. Secuencia 1.4.3. Seleccin 1.4.4. Repeticin 1.5 Teorema de la programacin estructurada 1.5.1. Estructuras bsicas. 1.5.2. Reglas 2 Entorno de programacin. 2.1 Definicin y componentes. 2.2 Entorno integrado de desarrollo.

SESIN NO. 5:

SUB-MDULO: PROGRAMACIN ORIENTADA A OBJETOS

OBJETIVO:

Presentar a los estudiantes las diferentes metodologas de programacin.

1 Metodologas de programacin. CONTENIDO: 1.1 Definicin. 1.2 Programacin procedural (top-down). 1.3 Programacin orientada a objetos. 1.4 Programacin orientada a eventos. 1.5 Programacin orientada a servicios.

28

2 Concepto de abstraccin y clasificacin.

SESIN NO. 6:

SUB-MDULO: PROGRAMACIN ORIENTADA A OBJETOS

OBJETIVO:

Introducir a los estudiantes a la programacin orientada a objetos.

1 Conceptos bsicos: definiciones y caractersticas. CONTENIDO: 1.1 Clase: tipo de objeto. 1.2 Objeto: instancia, propiedades y operaciones. 1.3 Mensaje. 1.4 Mtodo: enlace o ligadura tardo (dinmico) y temprano (esttico). 2 Principio de encapsulamiento y ocultacin de informacin: principios de Parnas. 3 Los miembros de una clase. 3.1 Atributos (propiedades). 3.2 Mtodos (definicin del comportamiento: operaciones). 4 Modificadores bsicos de visibilidad. 4.1 Pblico. 4.2 Privado. 4.3 Razones de encapsular 5 Relaciones. 5.1 A nivel de clases: herencia. 5.2 A nivel de objetos: agregacin/composicin y asociacin.

SESIN NO. 7:

SUB-MDULO: PROGRAMACIN ORIENTADA A OBJETOS

OBJETIVO:

Presentar las ventajas que permite el lenguaje unificado de modelado al momento de aplicarlo en los proyectos de software.

29

1 Introduccin a UML: Lenguaje unificado de modelacin. CONTENIDO: 1.1 Modelacin visual: definicin e importancia. 1.2 UML: definicin, evolucin y clasificacin de diagramas. 1.3 Diagrama esttico de clases: principios bsicos. 1.3.1 Definicin y caractersticas. 1.3.2 Artefactos grficos principales: clases y sus componentes. 1.3.3 Atributos: modificadores de visibilidad, valores y restricciones. 1.3.4 Relacin de herencia. 1.3.5 Relacin de agregacin/composicin y asociacin. 1.3.6 Multiplicidad y direccin de las relaciones a nivel de objetos. 1.3.7 Roles y nombramiento de asociaciones. 1.3.8 Relaciones mltiples: clases asociativas y relaciones reflexivas. 1.3.9 Dependencia.

SESIN NO. 8:

SUB-MDULO: PROGRAMACIN ORIENTADA A OBJETOS

OBJETIVO:

Entender en qu consiste el polimorfismo y conceptos especficos de la programacin orientada a objetos.

1 Polimorfismo. CONTENIDO: 1.1 Definicin y caractersticas. 1.2 Polimorfismo ad hoc: sobrecarga de mtodos. 1.3 Polimorfismo puro. 2 Conceptos avanzados. 2.1 Prototipo de la definicin de mtodos: firma/signatura y sobrecarga. 2.2 Visibilidad y modificadores de acceso: acceso semiprivado (protegido). 2.3 Miembros de instancia: variables de ejemplares. 2.4 Miembros estticos (static): datos y mtodos a nivel de clase. 2.5 Definicin de clase 2.6 Creacin de instancia con new. 2.7 Contexto de ejecucin: clase esttica y clase dinmica. 2.8 Constructores: reglas, sobrecarga, inicializadores en herencia.

30

SESIN NO. 9:

SUB-MDULO: PROGRAMACIN ORIENTADA A OBJETOS

OBJETIVO:

Aprender la importancia de los destructores y de las ventajas que permite la herencia.

1 Conceptos Avanzados CONTENIDO: 1.1 Destructor. 1.1.1 Modos de programacin: real y protegido. 1.1.2 Recolector de basura (GC): administracin de memoria. 1.1.3 Modelo de control de objetos: Stack, Memory-Heap. 1.1.4 Destruccin de objetos y ejecucin del destructor. 1.1.5 Mtodo finalize(). 1.2 Referencia this. 1.3 Clases parametrizadas: plantilla de clases o generics. 2 Herencia. 2.1 Concepto como expansin y contraccin. 2.2 Beneficios y costos. 2.3 Heursticas de diseo: combinacin (herencia mltiple).

SESIN NO. 10:

SUB-MDULO: PROGRAMACIN ORIENTADA A OBJETOS

OBJETIVO:

Aprender sobre el polimorfismo aplicado a mtodos virtuales.

1 Polimorfismo y mtodos virtuales (virtualizacin). CONTENIDO: 1.1 Sobrecarga de mtodos: coercin y signatura de argumentos. 1.2 Sobrecarga de operadores. 1.3 Anulacin: refinamiento y reemplazo. 1.4 final <mtodo> (evitar sobrecarga).

31

1.5 Mtodos virtuales. 1.5.1. Mtodos virtuales puros, diferidos o genricos.

SESIN NO. 11:

SUB-MDULO: PROGRAMACIN ORIENTADA A OBJETOS

OBJETIVO:

Introducir a los estudiantes el concepto de construcciones abstractas.

1 Construcciones abstractas. CONTENIDO: 1.1 Clase abstracta o diferida. 1.2 Mtodos abstractos. 1.3 abstract, enlace tardo (dinmico) y polimorfismo. 1.4 Interface. 1.4.1 Diferencia entre herencia e implementacin de interface. 1.4.2 Herencia (simple), interfaces (mltiples). 1.4.3 Jerarqua de interfaces. 1.4.4 Variables de interfaces. 1.5 Clases concretas, clases abstractas e interfaces. 2 Conceptos adicionales. 2.1 Relacin entre clase y tipo de dato. 2.1.1 Tipos primitivos o fundamentales. 2.1.2 Tipos derivados. 2.1.3 Tipos elaborados de usuarios. 2.2 Enfoque de diseo modular: alta cohesin y poco acoplamiento. 2.3 Dominio.

SESIN NO. 12:

SUB-MDULO: PROGRAMACIN ORIENTADA A OBJETOS

OBJETIVO:

Evaluar los contenidos de las sesiones 1- 11 aprendidos por los estudiantes.

32

Examen Parcial nmero 1. CONTENIDO:

SESIN NO. 13:

SUB-MODULO: INTRODUCCIN A LA PLATAFORMA JAVA

OBJETIVO:

Explicar

al

estudiante

la

evolucin

del

lenguaje

java,

presentndole

caractersticas de esta plataforma.

1 Evolucin del lenguaje Java. CONTENIDO: 1.1 Lenguaje B. 1.2 Lenguaje C: UNIX, K&R, ANSI C, ventajas. 1.3 Lenguaje C++ (C con clases): caractersticas, ANSI/ISO C++. 1.4 Lenguaje Java: proyectos Green, Oak (Sun Microsystems) y la WWW. 2 Definicin y caractersticas. 2.1 Arquitectura neutra: Java Virtual Machine (JVM). 2.2 Proceso de ejecucin: bytecode, intrprete, Just-In-Time. 2.3 Portabilidad, estandarizacin, robustez, multihilo, seguro, POO. 3 Plataforma Java. 3.1 Tipos de programas: aplicaciones y applets. 3.2 JDK y versiones de la plataforma: J2EE, J2SE, J2ME. 3.3 JCP. 4 Aspectos de compilacin y ejecucin de programas Java. 5 Estructura general de un programa de aplicacin en Java.

SESIN NO. 14:

SUB-MODULO:

ELEMENTOS

BSICOS

DE

PROGRAMACIN

PROGRAMACIN ESTRUCTURADA

OBJETIVO:

Aprender sobre los diferentes tipos de datos, constantes y variables utilizados en la programacin estructurada.

33

1 Tipos de datos. CONTENIDO: 1.1 Primitivos. 1.1.1 Enteros (int, byte, short, long): conversiones, base-x (10|16|8). 1.1.2 Nmeros de coma flotante (float, double). 1.1.3 Caracteres (char): codificacin (ASCII, Unicode), tratamiento. 1.1.4 Lgicos (boolean). 1.2 Referenciados. 1.3 void. 2 Constantes: literales y declaradas (final). 3 Variables. 3.1 Concepto y manipulacin. 3.2 Declaracin y definicin (asignacin). 3.3 Inicializacin. 3.4 Notacin estndar: estilo y legibilidad. 4 Entorno, mbito o alcance de variables. 4.1 Variables locales (mbito de mtodo): automticas. 4.2 Variables de mdulo: mbito de la clase. 5 Entradas y salidas de datos

SESIN NO. 15:

SUB-MODULO:

ELEMENTOS

BSICOS

DE

PROGRAMACIN

PROGRAMACIN ESTRUCTURADA

OBJETIVO:

Instruir a los estudiantes sobre el uso de los operadores y la generacin de expresiones y presentar la importancia de las estructuras de control.

1 Expresiones y Operadores. CONTENIDO: 1.1 Expresin. 1.2 Operadores y clasificacin por operandos: unarios, binarios, ternarios. 1.3 Operador de asignacin. 1.4 Operadores aritmticos: precedencia, asociatividad, evaluacin y uso de

34

parntesis. 1.5 Operadores de incrementacin y decrementacin: notacin prefija y postfija. 1.6 Operadores relacionales: precedencia y evaluacin. 1.7 Operadores lgicos o booleanos. 1.7.1 Tablas de verdad: negacin, O-exclusivo, Y-lgico, O-lgico. 1.7.2 Evaluacin en cortocircuito. 1.8 Operadores de manipulacin de bits: lgicos, complemento,

desplazamientos. 1.9 Otros operadores: condicional (?:), coma (,), punto (.), (), [], new, instanceof. 2 Conversiones de tipos: implcitas y explcitas. 3 Estructuras de control. 3.1 Concepto e importancia. 3.2 Tipos: secuencia, seleccin (condicin), repeticin. 3.3 Sentencia compuesta.

SESIN NO. 16:

SUB-MODULO:

ELEMENTOS

BSICOS

DE

PROGRAMACIN

PROGRAMACIN ESTRUCTURADA

OBJETIVO:

Introducir a los estudiantes a los conceptos de estructuras de control condicionales e iterativas.

1 Estructuras de control condicionales. CONTENIDO: 1.1 Si Sino (if else): partes, diagrama de flujo, sentencias anidadas. 1.2 En caso (switch / case): partes, evaluacin. 1.3 Consideraciones adicionales: expresin condicional, evaluacin en cortocircuito, estilo y diseo, errores. 2 Estructuras de control repetitivas o iterativas (bucles, loops). 2.1 Conceptos bsicos. 2.1.1 Bucle, cuerpo, iteracin, consideraciones de diseo. 2.1.2 Variable de control, etapas (inicializacin, prueba, actualizacin). 2.2 Mientras (while): partes, diagrama de flujo. 2.3 Para (for): partes, diagrama de flujo, sentencias nulas y bucles vacos.

35

2.4 Repetir Hasta / Hacer - Mientras (Repeat Until / do-while): partes, diagrama de flujo, diferencias con ciclo Mientras. 2.5 Comparacin entre los diferentes bucles: formatos y recomendaciones. 2.6 Anidacin de bucles: externos e internos. 2.7 Diseo eficiente de bucles: patrones estructurales. 2.7.1 Cero iteraciones y bucles infinitos. 2.7.2 Manejo de incrementos y decrementos. 2.7.3 Terminaciones anormales de un ciclo. 2.7.4 Modelos: control por centinelas y por indicadores (banderas). 2.7.5 Precauciones con el manejo de las variables de control. 2.7.6 Bucles para diseo de sumas y productos. 2.7.7 Fin de un bucle: por tamao, por pregunta, valor centinela, etc.

SESIN NO. 17:

SUB-MODULO:

ELEMENTOS

BSICOS

DE

PROGRAMACIN

PROGRAMACIN ESTRUCTURADA

OBJETIVO:

Introducir a los estudiantes los conceptos de rutinas y recursividad o recursin.

1 Las rutinas (mtodos). CONTENIDO: 1.1 Concepto, bloques de construccin y partes (cabecera y cuerpo). 1.2 Procedimiento y funcin. 1.3 Mtodo main(), lnea de comandos. 1.4 El valor de retorno: devolucin de valores (sentencia return). 1.5 Llamadas (invocaciones) a mtodos. 1.6 [Corolario] Modificadores de visibilidad (acceso). 1.7 [Corolario] Entorno de las variables (mbito o alcance). 1.7.1 mbito de la clase. 1.7.2 mbito de mtodo y de bloque: variables locales. 1.8 Los parmetros. 1.8.1 Paso de argumentos por valor (paso por copia). 1.8.2 Paso de argumentos por referencia (paso por variable). 1.8.3 Lista de parmetros mltiples. 1.8.4 Parmetro final. 2 Recursividad o recursin.

36

2.1 Concepto, naturaleza/comportamiento e importancia. 2.2 Recursividad directa. 2.3 Recursividad indirecta: mtodos mutuamente recursivos. 2.4 Recursin vrs. Iteracin: ventajas y desventajas, directrices de diseo. 2.5 Diseo: condicin de terminacin, recursin infinita. 2.6 Ejemplos y aplicacin en modelo matemticos.

SESIN NO. 18:

SUB-MODULO:

ELEMENTOS

BSICOS

DE

PROGRAMACIN

PROGRAMACIN ESTRUCTURADA

OBJETIVO:

Evaluar los contenidos de las sesiones 13- 17 aprendidos por los estudiantes.

Examen Parcial nmero 2 CONTENIDO:

SESIN NO. 19:

SUB-MODULO: ESTRUCTURAS ALGORTMICAS

OBJETIVO:

Lograr que el estudiante entienda en qu consisten los arreglos y los beneficios de utilizar cadenas dinmicas.

1 Arreglos de datos. CONTENIDO: 1.1 Conceptos: elementos, longitud, indexacin, representacin en memoria. 1.2 Declaracin, subndices, atributo length, inicializacin, copia de arreglos. 1.3 Arreglos bidimensionales (matrices). 1.3.1 Declaracin, inicializacin. 1.3.2 Representacin en memoria. 1.3.3 Acceso a elementos: uso de bucles. 1.4 Arreglos n-dimensionales (multidimensionales): aplicacin prctica. 1.5 Manejo de arreglos como parmetros.

37

2 Cadenas de caracteres. 2.1 Concepto: manejo en memoria, diferencia con arreglos de caracteres. 2.2 Cadenas estticas (clase String). 2.2.1 Declaracin, inicializacin/constructores, asignacin, ejemplos. 2.2.2 Manejo como parmetros y arreglo de cadenas. 2.2.3 Principales operaciones y mtodos: longitud, concatenacin,

obtencin de caracteres, comparacin de cadenas, conversin de cadenas, bsqueda de caracteres y subcadenas. 2.3 Cadenas dinmicas (clase StringBuffer): mtodos propios para aadir, insertar, eliminar y reemplazar. 2.4 Cadenas especializadas: clase StringTokenizer.

SESIN NO. 20:

SUB-MODULO: ESTRUCTURAS ALGORTMICAS

OBJETIVO:

Aprender sobre los mtodos de ordenamientos de datos y cuando es mejor utilizar cada uno de ellos.

1 Ordenamiento de datos en arreglos. CONTENIDO: 1.1 Concepto: algoritmos y anlisis de rendimiento (notacin-O). 1.2 Por intercambio (swap). 1.3 Por seleccin. 1.4 Por insercin. 1.5 Burbuja (bubblesort). 1.6 QuickSort. 2 Bsqueda de datos en arreglos. 2.1 Secuencial: concepto, algoritmo, anlisis de rendimiento. 2.2 Binaria: concepto, algoritmo, anlisis de rendimiento.

SESIN NO. 21:

SUB-MODULO: FLUJOS (STREAMS) Y MANIPULACIN DE ARCHIVOS

38

OBJETIVO:

Introducir a los estudiantes el concepto de streams y su aplicacin.

1 Concepto de flujo: modelo productor-consumidor, canal de conexin CONTENIDO: (pipe). 2 Tipos de flujos. 2.1 Jerarqua de clases: Java y C#. 2.2 Definicin y operaciones p/archivos. 2.3 Clases Filtro: definicin, jerarqua, operaciones. 3 Concepto de archivo. 3.1 Persistencia de datos. 3.2 Caractersticas estructurales: formato. 3.3 Representacin, manipulacin. 3.4 Clase Archivo.

SESIN NO. 22:

SUB-MODULO: FLUJOS (STREAMS) Y MANIPULACIN DE ARCHIVOS

OBJETIVO:

Aprender sobre la manipulacin de archivos.

1 Tipos de archivos: texto y binarios. CONTENIDO: 2 Estructura de archivos. 2.1 Registros (coleccin lgica de datos): concepto y definicin por campos. 2.2 Manipulacin de registros. 2.3 Tamao de registros y clculo para acceso lgico por bloques/campos. 3 Operaciones bsicas con archivos. 3.1 Abrir y cerrar. 3.2 Lectura, escritura y posicionamiento. 3.3 Localizacin del final del archivo. 4 Clasificacin fundamental de archivos segn su organizacin. 4.1 Organizacin secuencial: concepto, manipulacin (lectura, escritura). 4.2 Organizacin directa o aleatoria (acceso aleatorio). 4.2.1 Concepto, manipulacin.

39

4.2.2 Clase Archivo Acceso Aleatorio: creacin de objeto, mtodos de posicionamiento, proceso general para agregar y consultar registros.

SESIN NO. 23:

SUB-MODULO: FLUJOS (STREAMS) Y MANIPULACIN DE ARCHIVOS

OBJETIVO:

Evaluar los contenidos de las sesiones 19- 22 aprendidos por los estudiantes.

Examen Parcial nmero 3. CONTENIDO:

SESIN NO. 24:

SUB-MODULO: TIPO DE DATOS ABSTRACTOS

OBJETIVO:

Aprender sobre la utilizacin y el manejo de las pilas.

1 Fundamentos tericos. CONTENIDO: 1.1 Memoria dinmica y apuntadores: concepto de null. 1.2 Introduccin a la clasificacin de estructuras: unidimensionales (pilas, colas y listas), bidimensionales (rboles: binario, AVL), n-dimensionales (rboles balanceados B), matrices esparcidas (listas ortogonales), tablas de Hash. 2 Pilas (Stack). 2.1 Concepto: poltica de acceso a datos (LIFO), estructura e importancia. 2.2 Especificacin de operaciones. 2.2.1 push, pop, top, reset. 2.2.2 Pila vaca (desbordamiento negativo, underflow). 2.2.3 Pila llena (desbordamiento positivo, overflow). 2.2.4 Tamao de la pila. 2.3 Implementacin esttica utilizando arreglos: definicin de la clase pila.

40

2.4 Implementacin dinmica: clase Pila.

SESIN NO. 25:

SUB-MODULO: TIPO DE DATOS ABSTRACTOS

OBJETIVO:

Aprender sobre la utilizacin y manejo de las colas.

1 Colas (Queues). CONTENIDO: 1.1 Introduccin a teora de colas. 1.2 Concepto: poltica de acceso a datos (FIFO), estructura e importancia. 1.3 Especificacin de operaciones. 1.3.1 push, pop, top, reset. 1.3.2 Cola vaca, cola llena, tamao de la cola. 1.4 Implementacin esttica utilizando arreglos. 1.4.1 Modelos de manipulacin: simple y circular. 1.4.2 Definicin de la clase cola. 1.5 Implementacin dinmica: clase Cola. 1.6 Aplicacin: cola de prioridades (modelo y definicin). 2 Listas enlazadas. 2.1 Nodo: concepto y estructura interna. 2.2 Definicin y representacin en memoria. 2.3 Clasificacin: 2.3.1 Simplemente enlazadas. 2.3.2 Doblemente enlazadas. 2.3.3 Circular simplemente enlazada. 2.3.4 Circular doblemente enlazada.

SESIN NO. 26:

SUB-MODULO: TIPO DE DATOS ABSTRACTOS

OBJETIVO:

Aprender sobre la utilizacin y manejo de las listas.

41

1. Listas Enlazadas CONTENIDO: 1.1 Estructura y operaciones: 1.1.1 Definicin de nodo. 1.1.2 Propiedades o atributos: referencias de cabecera y cola. 1.1.3 Creacin e inicializacin. 1.1.4 Insercin: en la cabeza, en el final, antes de y despus de. 1.1.5 Bsqueda. 1.1.6 Eliminacin. 1.1.7 Recorrido y comprobacin de vaco. 2 Listas doblemente enlazadas: concepto, representacin, nodo binario, caractersticas, implementacin de operaciones. 3 Listas circulares: concepto, representacin, implementacin de

operaciones. 4 Listas enlazadas genricas: clase Objeto, clase ListaEnlazada

SESIN NO. 27:

SUB-MODULO: TIPO DE DATOS ABSTRACTOS

OBJETIVO:

Permitir a los estudiantes la resolucin de dudas que hayan generado en el transcurso de las sesiones.

Repaso de las Sesiones 1 - 27. CONTENIDO:

SESIN NO. 28:

SUB-MODULO: TIPO DE DATOS ABSTRACTOS

OBJETIVO:

Evaluar los contenidos de las sesiones 1- 27 aprendidos por los estudiantes.

42

Examen Final. CONTENIDO:

3.7.

Detalle de Conduccin de Tutoriales

La tabla X. muestra la tabla correspondiente al detalle de conduccin de tutoriales del curso de IPC1.

Tabla X. Detalle de conduccin de tutoriales de IPC1


ACTIVIDAD Iniciado en sesin de clase nmero: DETALLE N.A.

Finalizado en sesin de clase nmero

N.A.

Viva / Demo para ser conducido:

N.A.

Criterio de evaluacin:

N.A.

Viva:

N.A.

Documentacin:

N.A.

43

3.8.

Detalle de Conduccin de Exmenes

La tabla XI. muestra la tabla correspondiente al detalle de conduccin de exmenes del curso de IPC1.

Tabla XI. Detalle de conduccin de exmenes de IPC1


EXAMEN NMERO: Examen a ser realizado despus de la sesin nmero: Temas para el examen: Sesin 1 Sesin 11 1 12

Duracin del Examen:

2 horas Objetivo 100%

Distribucin del Examen:

EXAMEN NMERO: Examen a ser realizado despus de la sesin nmero: Temas para el examen:

2 17

Sesin 13 Sesin 17

Duracin del Examen:

2 horas Objetivo 100%

Distribucin del Examen:

EXAMEN NMERO: Examen a ser realizado despus de la sesin nmero:

3 22

44

Temas para el examen:

Sesin 18 Sesin 22

Duracin del Examen:

2 horas Objetivo 100%

Distribucin del Examen:

EXAMEN NMERO: Examen a ser realizado despus de la sesin nmero: Temas para el examen:

4 27

Sesin 1 27, haciendo especial nfasis en las sesiones 24 27

Duracin del Examen:

2 horas Objetivo 100%

Distribucin del Examen:

3.9.

Ejemplo del Examen

La figura 1. muestra el ejemplo de examen curso de IPC1, correspondiente al examen final.

45

Figura 1. Ejemplo de examen final de IPC1

46

3.10.

Bibliografa Recomendada

La tabla XII. muestra la tabla correspondiente a la bibliografa recomendada para el curso de IPC1.

47

Tabla XII. Bibliografa recomendada de IPC1


No. 1 Libro Joyanes, L. y Zahonero, I. Programacin en Java 2 (algoritmos, estructura de datos y

programacin orientada a objetos). Espaa, McGraw-Hill / Interamericana de Espaa, S. A. 2002, PP 725 2 Budd, Timothy. Introduccin a la programacin orientada a objetos, EUA, Addison-Wesley,

Iberoamericana, S. A. 1994, PP. 409 4 Joyanes, L. Programacin en Tubo Pascal Versiones 5.5, 6.0, y 7.0, (2da Edicin), Mxico,

McGraw-Hill / Interamericana de Espaa, S. A. 1995, PP. 914 5 Manuales de Referencia de Java, <http://www.sun.com/java>.

3.11. Hand Book

El Hand Book de IPC1 contiene los ejercicios y prcticas que son citadas en el IG. El Hand Book se desplegar en forma de imgenes. ste contiene 2 secciones: Ejercicios y Prcticas Preparatorias.

48

Figura 2. Pginas 1 4 Hand Book Programacin Principiantes

49

Figura 3. Pginas 5 6 Hand Book Programacin Principiantes

50

Potrebbero piacerti anche