• No se han encontrado resultados

UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO

N/A
N/A
Protected

Academic year: 2021

Share "UNIVERSIDAD NACIONAL DE SAN ANTONIO ABAD DEL CUSCO"

Copied!
7
0
0

Texto completo

(1)

Página 1

Oficina de Capacitación y Evaluación Académica Centro de Cómputo 04/10/2012 02:59:19

FACULTAD DE CS. QUIMICAS, FISICAS Y MATEMATICAS

DEPARTAMENTO ACADEMICO DE INFORMATICA

SILABO

I. DATOS GENERALES

1.1 Asignatura

: ALGORITMICA I

1.2 Categoría

: OE

1.3 Código

: IF421AIN

1.4 Créditos

: 4

1.5 Horas Teóricas

: 3

1.6 Horas Prácticas

: 2

1.7 Requisito

: IF101

1.8 Horario y Aula

: T:LU 9 -11 101; T:VI 10-11 101; P:MI 9 -11

IN-101;

1.9 Semestre Académico : 2012-2

1.10 Carrera Profesional

: ING. INFORMATICA Y DE SISTEMAS

1.11 Docente

: CARBAJAL-LUNA-JULIO CESAR

1.12 Email Docente

:

jccarbajall@unsaac.edu.pe

II. SUMILLA

Asignatura de carácter obligatorio, de formación especializada, teórico práctica, cuya finalidad es contribuir al desarrollo de las capacidades de abstracción y análisis proyectadas a la problemática del diseño de algoritmos y su implementación en lenguajes de programación.

Esta asignatura tiene como finalidad desarrollar habilidades y adquirir destrezas para la concepción, diseño e implementación de algoritmos, haciendo uso de las metodologías de programación. Ejes temáticos: Estructuras de control algorítmicas, técnicas de diseño de programas, estructuras de datos básicas: estáticas (arreglos) y dinámicas, y programación orientada a objetos.

III. OBJETIVOS

Identificar los elementos para la construcción de algoritmos..

Resolver problemas aplicando el conocimiento y correcta utilización de estructuras de control con la ayuda de una herramienta de programación, contribuyendo a la formación de profesionales analíticos, honestos y responsables.

Plantear la solución a problemas aplicando programación estructurada y las técnicas de diseño de programas.

(2)

Página 2

Oficina de Capacitación y Evaluación Académica Centro de Cómputo 04/10/2012 02:59:19 Aplicar los conceptos del paradigma de programación orientada a objetos tales como: polimorfismo, encapsulamiento, herencia, sobrecarga, etc.

Implementar proyectos que integren los conceptos aprendidos, expresados en un lenguaje de alto nivel.

IV. CONTENIDO POR UNIDADES DIDACTICAS

IV.1. UNIDAD DIDACTICA 1

IV.1.1. ESTRUCTURAS ALGORITMICAS Y TECNICAS DE DISEÑO DE PROGRAMAS: IV.1.2. OBJETIVOS ESPECIFICOS

Escribir algoritmos en pseudocódigo con instrucciones de asignación y expresiones de asignación. Declarar el tipo booleano y escribir expresiones booleanas que utilizan operadores de comparación. Escribir algoritmos en pseudocódigo que utilicen la instrucción de selección con alternativa simple, múltiple o anidada. Evitando los errores comunes con la instrucción de selección.

Combinar condiciones mediante operadores lógicos.

Usar instrucciones de selección con las condiciones combinadas. Escribir algoritmos en pseudocódigo con instrucción repetitiva. Seguir una estrategia de diseño para escribir algoritmos con bucles. Controlar un bucle con un valor centinela. Escribir bucles anidados.

Describir las similitudes y diferencias de los tres tipos de instrucciones iterativas o repetitivas. Definir métodos.

Invocar métodos con un valor de retorno. Invocar métodos sin un valor de retorno. Pasar argumentos por valor.

Desarrollar código modular reutilizable, fácil de leer, fácil de depurar, y fácil de mantener. Describir lo que es un método recursivo y los beneficios de la recursividad.

Desarrollar métodos recursivos para funciones matemáticas recursivas. Explicar como las llamadas recursivas manejan una pila de llamadas. IV.1.3. CONTENIDO

CAPÍTULO I: ESTRUCTURAS DE CONTROL ALGORITMICA 1.1 Introducción. Pseudocódigo.

1.2 Estructuras secuenciales: Instrucciones de: entrada de datos, salida de datos y asignación. 1.3 Estructuras selectivas: Léxico, sintaxis y semántica. Estructura selectiva con alternativa: simple y

múltiple. , Estructuras selectivas anidadas.

1.4 Estructuras repetitivas: Léxico, sintaxis y semántica. Mientras, Hacer – mientras. Repetir. Desde/para. Salida interna de los bucles. Interrupción. Estructuras repetitivas anidadas. Estructuras repetitivas con bucles variables y fijos.

1.5 Ejercicios

CAPÍTULO II: DISEÑO DESCENDENTE 2.1. Introducción

2.2. Método: Definición. Llamado

2.3. Parámetros. Paso de parámetros por valor 2.4. Modularidad del código.

2.5. Sobrecarga de métodos. 2.6. Ámbito de las variables.

2.7. Método abstracción y refinamiento por pasos. 2.8. Ejercicios.

CAPÍTULO III: DISEÑO RECURSIVO 3.1. Concepto de recursividad. 3.2. Fundamentos del diseño recursivo.

3.3. Diseño y verificación de algoritmos recursivos. 3.4. Ejercicios.

(3)

Página 3

Oficina de Capacitación y Evaluación Académica Centro de Cómputo 04/10/2012 02:59:19 IV.1.4. ACTIVIDADES: Proyecto de aplicación.

IV.1.5. MATERIAL EDUCATIVO: Materiales impresos y módulos de aprendizaje; direcciones electrónicas para recabar información especializada sobre los contenidos planteados. Pizarra, plumones, mota Proyector multimedia, computadora, presentaciones en powerpoint.

IV.1.6. EVALUACION: Evaluación escrita (2 horas). 01 al 05 de octubre del 2012 (03 de octubre) IV.2. UNIDAD DIDACTICA 2

IV.2.1. ESTRUCTURAS DE DATOS BASICAS IV.2.2. OBJETIVOS ESPECIFICOS

Describir porque los arreglos son necesarios en la programación.

Declarar las variables de referencia a arreglos unidimensionales y crear arreglos unidimensionales. Inicializar los valores de un arreglo unidimensional.

Acceder a los elementos de un arreglo unidimensional utilizando variables indexadas.

Buscar un elemento en un arreglo unidimensional utilizando los algoritmos de búsqueda lineal o binaria Ordenar un arreglo unidimensional utilizando los algoritmos de ordenación por selección o inserción Declarar variables de arreglos bidimensionales, crear matrices y acceder a elementos de un arreglo bidimensional utilizando índices de fila y columna.

Operaciones comunes de los arreglos bidimensionales IV.2.3. CONTENIDOS

CAPITULO IV: ARREGLOS UNIDIMENSIONALES 4.1 Introducción.

4.2 Conceptos básicos de matrices. 4.3 Pasar matrices a los métodos.

4.4 Devolución de una matriz desde un método. 4.5 Lista de argumentos de longitud variable.

4.6 Buscar en una matriz unidimensional. Métodos de búsqueda. 4.7 Ordenar una matriz unidimensional. Métodos de ordenación 4.8 Ejercicios

CAPÍTULO V: ARREGLOS MULTIDIMENSIONALES 5.1 Introducción

5.2 Conceptos básicos de matrices bidimensionales. 5.3 Procesamiento de matrices bidimensionales. 5.4 Paso de matrices bidimensionales a los métodos. 5.5 Matrices multidimensionales.

5.6 Ejercicios.

CAPÍTULO VI: ESTRUCTURA DE DATOS DINAMICAS 6.1 Apuntadores. Tipo de dato apuntador.

6.2 Constantes y operaciones elementales. 6.3 Acceso a datos mediante apuntadores. 6.4 Ejercicios.

IV.2.4. ACTIVIDADES: Proyecto de aplicación

IV.2.5. MATERIAL EDUCATIVO: Materiales impresos y módulos de aprendizaje; direcciones electrónicas para recabar información especializada sobre los contenidos planteados.Pizarra, plumones, mota Proyector multimedia, computadora, presentaciones en powerpoint

IV.2.6. EVALUACION: Evaluación escrita 2 horas 12 al 16 de noviembre del 2012 (14 de octubre) IV.3. UNIDAD DIDACTICA 3

IV.3.1. PROGRAMACION ORIENTADA A OBJETOS IV.3.2. OBJETIVOS ESPECIFICOS

Describir objetos y clases, y utilizar las clases para los objetos del modelo. Crear objetos utilizando constructores.

(4)

Página 4

Oficina de Capacitación y Evaluación Académica Centro de Cómputo 04/10/2012 02:59:19 Acceder a los objetos a través de variables de referencia de objetos.

Definir una variable de referencia con un tipo de referencia. Tener acceso a datos de un objeto y métodos que utilizan.

Definir campos de datos de los tipos de referencia y asignar valores por defecto par los campos de datos de un objeto.

Distinguir entre las variables de referencia de objetos y las variables de tipos de datos primitivos. Desarrollar una subclase de una superclase por herencia.

Invocar constructores de la superclase y los métodos que utilizan la palabra clave super Remplazar los métodos de instancia de la subclase.

Distinguir la diferencia entre sobre escritura y sobrecarga. Descubrir el polimorfismo y el enlace dinámico.

Obtener una visión general de las excepciones y manejo de excepciones. Distinguir los tipos de excepción.

Declarar e iniciar excepciones en un método. Diseñar y utilizar clases abstractas.

Especificar el comportamiento común de los objetos mediante interfaces. Definir interfaces y definir clases que implementan interfaces.

IV.3.3. CONTENIDOS(4 semanas) CAPITULO VII: OBJETOS Y CLASES 7.1 Introducción.

7.2 Definición de clases para objetos.

7.3 Construcción de objetos usando constructores.

7.4 Acceso a los objetos a través de las variables de referencia. 7.5 Variables estáticas, constantes y métodos.

7.6 Visibilidad de los modificadores. 7.7 Encapsulado de los campos de datos. 7.8 Pasando objetos a los métodos. 7.9 Ejercicios.

CAPÍTULO VII: HERENCIA Y POLIMORFISMO 8.1 Introducción.

8.2 Superclases y subclases. Uso de la palabra clave super. 8.3 Sobre escribir métodos.

8.4 Sobre escribir contra sobrecarga. 8.5 Polimorfismo.

8.6 Enlace dinámico.

8.7 Datos protegidos y métodos. Prevenir la extensión y la sobre escritura. 8.8 Ejercicios.

CAPÍTULO IX: MANEJO DE EXCEPCIONES 9.1 Introducción.

9.2 Visión general del control de excepciones. 9.3 Manejo de excepciones-ventajas. 9.4 Tipos de excepción.

9.5 Cuando utilizar excepciones. 9.6 Excepciones encadenadas 9.7 Ejercicios.

CAPITULO VII: CLASES ABSTRACTAS E INTERFACES 10.1 Introducción.

10.2 Clases abstractas. 10.3 Interfaces.

10.4 Interfaces versus clases abstractas. 10.5 Ejercicios

(5)

Página 5

Oficina de Capacitación y Evaluación Académica Centro de Cómputo 04/10/2012 02:59:19 IV.3.5. MATERIAL EDUCATIVO: Materiales impresos y módulos de aprendizaje; direcciones

electrónicas para recabar información especializada sobre los contenidos planteados.Pizarra, plumones, mota Proyector multimedia, computadora, presentaciones en powerpoint

IV.3.6. EVALUACION: Evaluación escrita 2 horas 26 al 28 de diciembre del 2012 (26 de diciembre)

V. METODOLOGIA

Actividades de Aprendiza

De Docencia (Responsabilidad del docente):

Situar al estudiante y a la práctica de la profesión de la ingeniería, en el contexto general de las

Tecnologías Informáticas, y en especial de los algoritmos y su programación. , y en el papel que ellas han jugado, juega y jugarán en quehacer del ingeniero en la sociedad.

Presentación de los conceptos básicos sobre los algoritmos y su codificación en un lenguaje de programación de alto nivel.

Diseño, preparación y solución de ejemplos tipo. Resolución de ejemplos tipo.

Diseño, preparación y solución de ejercicios propuestos.

Dirección del análisis de ejercicios propuestos en sesiones presenciales. Tutorías y consejerías

De trabajo Colectivo (Responsabilidad de docentes y alumnos:) Construcción de conceptos.

Solución de ejercicios propuestos. Ejercicios de análisis y diseño.

Dar sentido al uso de las tecnologías informáticas.

De Estudio Independiente (Responsabilidad del estudiante):

Estudio de textos pertinentes a los temas: Algoritmos, métodos de solución de problemas, lenguajes de programación.

Revisión de los ejemplos resueltos. Resolución de ejercicios propuestos.

Implementación en la computadora de los ejemplos estudiados en clase.

Lectura y escritura de narrativas que den cuenta del papel de las tecnologías informáticas y en especial del computador y su programación, como soluciones a problemas sociales.

El curso se desarrollará intercalando clases magistrales para la exposición de conceptos nuevos y clases participativas, en las que se asume que el estudiante realiza las lecturas, tareas o ejercicios dejados para realizar fuera de clase, previo al inicio de un nuevo día de clase.

VI. EVALUACION

Indicadores Manejo de lenguaje de la ciencia computacional Comprensión de problemas

Representación de diseño de soluciones mediante lenguaje de alto nivel y un subconjunto del lenguaje natural

Elaboración de pruebas para constatar la calidad de las soluciones propuestas a los problemas Escritura de programas en un lenguaje de programación

Manejo de un ambiente de programación Elaboración de pruebas de los programas Depuración de programas

Criterios de

Calificación Las soluciones propuestas deben demostrar ser efectivas como soluciones a los problemas planteados. Se valora tanto la calidad lógica de la solución como la aplicación de prácticas sanas de programación.

(6)

Página 6

Oficina de Capacitación y Evaluación Académica Centro de Cómputo 04/10/2012 02:59:19 Se valora también el cumplimiento de las tareas propuestas en el término estipulado.

Instrumentos Tres exámenes parciales ponderados de 0 a 20 Pruebas cortas no avisadas

Desarrollo de guías de laboratorio de programación

La evaluación se regirá a las disposiciones emanadas por la Oficina de Capacitación y Evaluación Académica (OCEA).

La fecha de las evaluaciones son las establecidas por resolución de Consejo Universitario. Fechas tentativas para la las evaluaciones:

Primer examen parcial 03/OCT/2012. Segundo examen parcial 14/NOV/2012. Tercer examen parcial 26/DIC/2012.

Se considerarán tres promedios parciales: PP1, PP2, y PP3. Para cada promedio parcial se tomarán dos evaluaciones y se bonificarán con puntos a los estudiantes que cumplan con sustentar sus proyectos. El promedio final se obtendrá por promedio aritmético simple de los tres promedios parciales.

Promedio Final=(PP1+PP2+PP3)/3 Observaciones:

Será necesario contar con un 75% de asistencia y aprobar los exámenes prácticos con una nota mínima de 11 puntos, para tener derecho a la evaluación parcial.

Se realizaran exámenes cortos cada día de clase y se debe tener un 75% de exámenes realizados, para tener derecho a la evaluación parcial.

No se pasan notas atrasadas, no se guardan notas y no se aceptan estudiantes con problemas de prerrequisitos.

VI. BIBLIOGRAFIA

GARCIA, J / MONTOYA, F. / FERNADEZ, J. MAJADO, M. Una introducción a la programación. Un enfoque algorítmico. Thomson. Editores. Spain. 2005.

GRUPO LIEBRE. Algoritmica y programación. Un enfoque práctico. Editorial ALPHA. 2000. CASTRO, J. / CUCKER. F. / MESSEGUER, X. / SOLANO, L. / VALLES, B. Curso de Programación. McGraw-Hill/Interamericana de España, S. A. 1993.

JOYANES, L. / ZAHONERO,I. / FERNANDEZ, M. / SANCHEZ. L. Estructura de datos. Libro de problemas. Mc Graw Hill. 1999.

JOYANES, L. / ZAHONERO,I. Programación en C, C++, Java y UML. Mc Graw Hill. 2010. DROZDEK, A. Estructura de datos y algoritmos en Java. 2da. Edición. Thomson. 2007.

KOFFMAN, E. / WOLFGANG, P. Estructura de datos con C++. Objetos, abstracciones y diseño. Mc. Graw Hill. 2008.

DALE, N. / WEEMS, CH. / HEADINGTON,M. Programming and problem solving with Java. Copyright 2003 by Jones and Bartlett Publishers, Inc.

LEWIS,J. / DEPASQUALE, P. / CHASE, J. Java foundations : introduction to program design & data structures. - 2nd ed. Copyright 2011, 2008. Pearson Education, Inc.

Recursos Adicionales: Los siguientes enlaces a páginas en internet son referentes a JAVA:

Software:

1. Java EE Downloads: http://www.oracle.com/technetwork/java/javase/downloads/index.html 2. Eclipse IDE: http://www.eclipse.org

3. NetBeans IDE: http://www.oracle.com/technetwork/java/javase/downloads/jdk-netbeans-jsp-142931.html

Lecciones en Video

1. Eclipse and Java for the Total Beginner by Mark Dexter

http://sourceforge.net/projects/eclipsetutorial/files/ también disponible en http://eclipsetutorial.sourceforge.net/totalbeginner.html

Grupos de soporte

(7)

Página 7

Oficina de Capacitación y Evaluación Académica Centro de Cómputo 04/10/2012 02:59:19 2. Java Programming Resources: http://www.apl.jhu.edu/~hall/java/

3. Java Sound Resources: http://www.jsresources.org/links.html 4. On-Line Resources for Java Programmers:

http://java.sun.com/docs/books/tutorial/information/resources.html 5. Sun Developer's Network: http://java.sun.com/

Referencias

Documento similar

El método de estudio fue aplicativo, utilizando un diseño no experimental, según la extensión temporal longitudinal, por el manejo de datos cuantitativo, de nivel de

Si es cierta se ejecuta el Bloque de sentencias y luego las instrucciones de operación en ese orden y se vuelve a evaluar la condición. • Si la condición es falsa termina

La campaña ha consistido en la revisión del etiquetado e instrucciones de uso de todos los ter- mómetros digitales comunicados, así como de la documentación técnica adicional de

Fuente de emisión secundaria que afecta a la estación: Combustión en sector residencial y comercial Distancia a la primera vía de tráfico: 3 metros (15 m de ancho)..

Debido al riesgo de producir malformaciones congénitas graves, en la Unión Europea se han establecido una serie de requisitos para su prescripción y dispensación con un Plan

Como medida de precaución, puesto que talidomida se encuentra en el semen, todos los pacientes varones deben usar preservativos durante el tratamiento, durante la interrupción

Abstract: This paper reviews the dialogue and controversies between the paratexts of a corpus of collections of short novels –and romances– publi- shed from 1624 to 1637:

El contar con el financiamiento institucional a través de las cátedras ha significado para los grupos de profesores, el poder centrarse en estudios sobre áreas de interés