Vous êtes sur la page 1sur 11

UNIVERSIDAD ALAS PERUANAS

FACULTAD DE INGENIERAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS E INFORMTICA

ALGORITMOS AVANZADOS Y ESTRUCTURAS DE DATOS SLABO

I. DATOS GENERALES CARRERA PROFESIONAL CDIGO DE LA CARRERA NOMBRE DE LA ASIGNATURA CDIGO DE LA ASIGNATURA CDIGO DEL SLABO NRO DE HORAS TOTALES HORAS DE TEORA HORAS DE PRCTICA CICLO NRO DE CRDITOS PRE-REQUISITO TIPO DE CURSO DURACIN DEL CURSO CURSO REGULAR EXAMEN SUSTITUTORIO : INGENIERA DE SISTEMAS E INFORMTICA : 02 : ALGORITMOS AVANZADOS Y ESTRUCTURAS DE DATOS : 02-119 : 11915072006 : 4 HORAS SEMANALES : 2 HORAS SEMANALES : 2 HORAS SEMANALES : II CICLO : 4 CRDITOS POR CICLO : FUNDAMENTOS DE COMPUTACIN E INFORMTICA - ALGORITMOS : OBLIGATORIO : 18 SEMANAS EN TOTAL : 17 SEMANAS : 1 SEMANA

II. REQUISITOS Como requisitos previos, debieran de conocerse los fundamentos de la programacin orientada a objetos y - al menos - un lenguaje de programacin. Tambin se requieren conocimientos del sistema operativo Windows a nivel de usuario.

III. DESCRIPCIN DE LA ASIGNATURA Esta asignatura de carcter obligatorio y de naturaleza terico prctica ha sido diseada para proporcionar al estudiante de ingeniera de sistemas, informtico, computacin y carreras afines, el aprendizaje de algoritmos (desarrollo lgico para resolver problemas que requieren de un computador, independiente del lenguaje), desde una ptica de la programacin orientada a objetos. Para el afianzamiento del aprendizaje de dichos algoritmos, se hace uso de un lenguaje de programacin vigente (en C#) que utilice las tcnicas de la programacin orientada a objetos: las tcnicas de encapsulacin y abstraccin de datos, la nocin

ALGORITMOS AVANZADOS Y ESTRUCTURAS DE DATOS

Pg. 1

UNIVERSIDAD ALAS PERUANAS


FACULTAD DE INGENIERAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS E INFORMTICA

de herencia y polimorfismo para el desarrollo de un verdadero cdigo reusable y extensible. Para el desarrollo de la asignatura se ha dividido en 8 unidades: Unidad 1 Abstraccin de Datos y encapsulamiento. Donde se definen y utilizan las clases y objetos. Tipos de datos definidos por el usuario. Donde se desarrollan las enumeraciones y las estructuras de datos Arreglos o arrays. Donde se definen y utilizan los arreglos unidimensionales y bidimensionales. Las operaciones ms importantes. Trabajos con caracteres. Donde se trabajan con cadenas haciendo uso de funciones estndar. Mtodos. Donde se desarrollan los mtodos utilizando diversos tipos de parmetros y se redefinen los operadores utilizando los operadores sobrecargados. Herencia y mtodos virtuales. Donde se aprende a reutilizar el cdigo, y se trabajan con mtodos virtuales y clases abstractas. Herencia y Polimorfismo. Donde se utilizan los mtodos genricos que bajo un mismo nombre realiza diferentes acciones. Delegados y eventos.

Unidad 2

Unidad 3

Unidad 4

Unidad 5

Unidad 6

Unidad 7

Unidad 8

Tambin explica los fundamentos de C#, conceptos generales de programacin orientada a objetos, estructuras de control, tratamiento de excepciones, manejo de eventos, gestin de archivos y conceptos avanzados de hilos.

IV. OBJETIVOS La asignatura pretende ofrecer un escenario adecuado para que los estudiantes consoliden los conocimientos de algoritmos en la programacin de computadores, adquiridos en la asignatura previa de Fundamentos de Computacin e Informtica, del plan de estudios, de la escuela de Ingeniera de Sistemas, para que aprendan nuevas

ALGORITMOS AVANZADOS Y ESTRUCTURAS DE DATOS

Pg. 2

UNIVERSIDAD ALAS PERUANAS


FACULTAD DE INGENIERAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS E INFORMTICA

tecnologas informticas, y para que desarrollen la habilidad de resolver problemas de programacin de tamao medio en equipo.

V. OBJETIVOS GENERALES Al concluir el desarrollo de la asignatura se espera que los alumnos logren estos dos objetivos generales: Los objetivos generales, es decir el alumno debe ser capaz de: Elaborar algoritmos bsicos para la programacin de computadoras, incidiendo en la secuencia lgica para la resolucin de problemas. Codificar pequeos programas usando la sintaxis bsica del lenguaje C# y las construcciones tpicas, accediendo a estructuras de datos bsicas (vectores, matrices, etc.). Planificar un proyecto de programacin en grupo (identificar fases, repartir las tareas de las distintas fases entre los miembros del grupo, e integrar los resultados de las diferentes tareas)

Los objetivos de grupo, es decir los alumnos como integrantes de un grupo deben ser capaces de: Decidir el tipo de estructura de control necesaria para resolver problemas que requieran de una computadora. Decidir sobre la implementacin de una aplicacin (estructuras de datos, organizacin de la aplicacin, algoritmos a usar, etc.). Programar aplicaciones con tecnologa de orientacin a objetos y con interfaces visuales. Buscar la informacin necesaria para realizar una tarea y aprender de forma autnoma. Depurar, poner a punto y documentar correctamente el cdigo desarrollado.

VI. OBJETIVOS ESPECFICOS Cada alumno debe ser capaz de: Elaborar algoritmos bsicos para la programacin de computadoras, como bsqueda secuencial, bsqueda binaria, ordenamiento, operaciones aritmticas, uso de acumuladores y contadores, clculos de mnimos y mximos. Codificar pequeos programas usando la sintaxis bsica del lenguaje C# y las construcciones de estructuras de control, secuencial, selectiva, repetitiva.
Pg. 3

ALGORITMOS AVANZADOS Y ESTRUCTURAS DE DATOS

UNIVERSIDAD ALAS PERUANAS


FACULTAD DE INGENIERAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS E INFORMTICA

Programar el cdigo necesario para acceder a estructuras de datos bsicas (vectores, matrices, registros, etc.) Programar aplicaciones sencillas orientadas a objetos incluyendo aspectos como: Uso de clases, codificacin de mtodos y paso de parmetros (incluso otros objetos), mecanismos de gestin dinmica de dinmica, especificar y disear pequeas aplicaciones orientadas a objetos y construir aplicaciones visuales sencillas que hagan uso de clases predefinidas en las libreras de la plataforma .NET as como de clases propias.

Los grupos de alumnos deben ser capaces de: Tomar decisiones sobre la implementacin de una aplicacin (estructuras de datos, organizacin de la aplicacin, algoritmos, etc.), y justificar con claridad y conviccin las decisiones tomadas. Planificar adecuadamente un proyecto de programacin en grupo (identificar fases, repartir las tareas de las distintas fases entre los miembros del grupo, e integrar los resultados de las diferentes tareas) Analizar de forma crtica el trabajo realizado (el propio y el de otros), e identificar puntos fuertes y puntos dbiles. Programar aplicaciones con tecnologa de orientacin a objetos. Buscar la informacin necesaria para realizar una tarea y aprender de forma autnoma. Depurar, poner a punto y documentar correctamente el cdigo desarrollado, que debe ser correcto, robusto y amigable.

VII. METODOLOGA El docente y los alumnos como actores principales del proceso de enseanza aprendizaje participan de la siguiente manera: El docente: El primer da de clases har la presentacin introductoria del curso y explicara la metodologa de trabajo a lo largo del ciclo. Se promover la participacin constante de los alumnos. El alumno: Deber ingresar a clases habiendo ledo sobre el tema a desarrollar en cada clase, con la separata que el profesor le entregar con anticipacin. La separata tiene parte terica y parte prctica (laboratorio) en la que se indicara al alumno lo que debe desarrollar en cada laboratorio. CLASE TERICA: Las clases tericas se desarrollarn en el aula (2 hrs/semana) usando una computadora y data display en la que se desarrollara la teora y los algoritmos que resuelven problemas reales. Asimismo se mostrar la codificacin en el lenguaje de programacin C# y se correr el programa para que el alumno verifique la teora.

ALGORITMOS AVANZADOS Y ESTRUCTURAS DE DATOS

Pg. 4

UNIVERSIDAD ALAS PERUANAS


FACULTAD DE INGENIERAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS E INFORMTICA

CLASE DE LABORATORIO: En las clases de laboratorio (2 hrs/semana) cada alumno usar su separata para correr por lo menos 5 problemas resueltos en pseudocdigo y codificado en C# y resolver otros 5 problemas propuestos (cuyo avance ser revisado por el profesor). TRABAJOS DE MEDIO CICLO Y FIN DE CICLO: El da del examen parcial y una semana antes del examen final respectivamente, cada alumno entregar resueltos cinco problemas propuestos por el docente y cinco problemas libres que el alumno proponga acerca de los temas desarrollados en clase, anteriores al parcial y final respectivamente resueltos en pseudocdigo y en C#. Se deber incluir en la presentacin del trabajo una prueba de la corrida del programa. La calificacin depender del grado de complejidad que muestren los problemas libres presentados. Los trabajos se presentaran en grupos de mximo 3 alumnos. Por la naturaleza del curso, tanto en las clases tericas como en las de laboratorio, se incidir en el mtodo de resolucin de problemas. En cuanto a las tcnicas: Se emplearan las exposiciones grupales e individuales para la sustentacin de sus trabajos, y la participacin activa para la resolucin de problemas tanto en el aula como en el laboratorio. PAGINA WEB: Tanto la clase terica como el laboratorio pueden ser bajados de la pagina Web del profesor, asimismo en dicha pgina encontrar problemas tipo propuestos y resueltos de cada tema. Los alumnos tendrn como fuente de consulta las separatas y los manuales recomendadas en la seccin Bibliografa de este silabo. El profesor motivar al alumno para que participe espontneamente durante el desarrollo del curso y resaltara la importancia de la investigacin en los diferentes temas tratados. Los ejercicios desarrollados en clase sern sobre casos de la vida real y se citarn analogas para permitirles fijar mejor los conceptos. Se solicitar a los alumnos una monografa (o prctica calificada PC), como mnimo, sobre un tema previamente acordado con el profesor para que se familiaricen con la forma de trabajar de los profesionales de su carrera.

ALGORITMOS AVANZADOS Y ESTRUCTURAS DE DATOS

Pg. 5

UNIVERSIDAD ALAS PERUANAS


FACULTAD DE INGENIERAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS E INFORMTICA

VIII. EVALUACIN El reglamento vigente de la universidad exige la asistencia obligatoria a clases y que el profesor pase lista de asistencia en cada clase que dicta, anotando las inasistencias en el registro proporcionado por la Universidad. Dada la naturaleza del curso, la transmisin directa de la experiencia del profesor y la participacin del alumno en la clase es de suma importancia, por lo que se reitera que la asistencia a clases es obligatoria La asistencia a clases y prcticas es obligatoria. No podr sobrepasarse el 30 % de inasistencias, para tener derecho a evaluacin. Finalmente, slo el alumno que asiste regularmente a clases, gana el derecho a ser evaluado y que en todo momento estar presente la normatividad expresada en el reglamento de la Universidad. La modalidad de Evaluacin ser la siguiente: Para evaluar el logro de los objetivos individuales, se tomaran cuatro practicas individuales a lo largo del curso (promedio de practicas) y dos exmenes parcial y final respectivamente); y para evaluar el logro de los objetivos de grupo, se aplicarn dos proyectos a mitad y al final del curso (tarea acadmica) Prctica Calificada (4 PC) que consiste en ejercicios dados por el profesor del curso al alumno para que las responda en el aula o laboratorio. Trabajo de Investigacin (2 TI), que consiste en problemas prcticos como se explic en la seccin anterior y que el alumno desarrollar con el uso del computador Primer Examen Parcial (EPI), que consiste de una evaluacin terico prctico de conocimiento y donde el alumno dar sus respuestas por escrito. Examen Final (EF) que consiste en la evaluacin terico - prctico de conocimiento de todo el curso y donde el alumno dar sus respuestas por escrito. Cada modalidad de evaluacin anteriormente mencionada, tendr un peso de 1 y la nota final del curso ser el promedio aritmtico de las cuatro notas.

ALGORITMOS AVANZADOS Y ESTRUCTURAS DE DATOS

Pg. 6

UNIVERSIDAD ALAS PERUANAS


FACULTAD DE INGENIERAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS E INFORMTICA

Nota Final: PC + TI + EP + EF 4 Examen Sustitutorio (ES), que consiste en la evaluacin terico prctico de conocimiento de todo el curso y donde el alumno dar sus respuestas por escrito. La nota obtenida en el examen Sustitutorio, podr reemplazar la nota ms baja que el alumno haya obtenido en su primer examen Parcial o en el examen Final y de proceder el reemplazo, se recalcular la nueva nota final. En caso la nota del Examen Sustitutorio sea ms baja que la nota del Examen Parcial o del Examen final, no se reemplazar ninguna de ellas, quedando el alumno con la nota obtenida hasta antes del examen Sustitutorio. Es de total aplicacin el Reglamento Transitorio de Evaluacin de la universidad entregado al alumno.

IX. CONTENIDO DEL CURSO SEMANA 01 Revisin de algoritmos y aplicaciones con estructuras de decisiones y bucles. Aplicaciones diversas usando estructuras de control combinadas. SEMANA 02 Aplicaciones diversas usando estructuras de control combinadas. SEMANA 03 Unidad 01 - Abstraccin de Datos Clases, Objetos y mtodos Encapsulamiento Definicin de clases y creacin de objetos. Declaracin y creacin de un objeto. Acceso a datos y mtodos. Utilizacin de los mtodos. Paso de parmetros: por valor y por referencia. Duracin de los objetos: Constructores y destructores de objetos. Tipos de constructores. Llamada al constructor y llamada entre constructores. Modificadores de acceso. Declaraciones de accesibilidad. Referencias a objetos. Operador this. Aplicaciones. SEMANA 04 Unidad 02 - Tipos de datos definidos por el usuario

ALGORITMOS AVANZADOS Y ESTRUCTURAS DE DATOS

Pg. 7

UNIVERSIDAD ALAS PERUANAS


FACULTAD DE INGENIERAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS E INFORMTICA

SEMANA 05 Enumeraciones. Aplicaciones Estructuras. Asignacin e igualdad. Miembros pblicos y privados. Mtodos constructores y propiedades. Aplicaciones. Unidad 03 - Arreglos o arrays SEMANA 06 Arrays unidimensionales. Proceso de arrays: Declaracin, creacin, inicializacin y utilizacin. Arrays cuyos elementos son de tipos clase. Copia de arrays. Paso de arrays como parmetros. Informacin sobre un arreglo. Aplicaciones. Practica calificada SEMANA 07 Otras operaciones con arreglos unidimensionales: Ordenamiento. Seleccin, burbuja. Insercin. Bsqueda. La clase system array. Indexadotes. Aplicaciones SEMANA 08 Arrays bidimensionales. Operaciones con arreglos bidimensionales. Aplicaciones. Practica calificada Unidad 04 - Trabajos concadenas de caracteres y fechas. SEMANA 09 Cadenas de caracteres. Manipulacin de caracteres: Comparacin, concatenacin, Mtodos: string.split. Mtodos y propiedades de la clase System.string. La estructura DateTime y TimeSpan. Los formatos de fechas. SEMANA 10 Examen Parcial SEMANA 11 Aplicaciones variadas, usando estructuras y arreglos SEMANA 12 Unidad 05 - Mtodos Concepto de mtodo. Definicin. Llamadas. Tipos de parmetros. Sobrecarga de tipos de parmetros. Mtodos externos. SEMANA 13 Redefinicin de operadores. Operadores unarios y binarios.

ALGORITMOS AVANZADOS Y ESTRUCTURAS DE DATOS

Pg. 8

UNIVERSIDAD ALAS PERUANAS


FACULTAD DE INGENIERAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS E INFORMTICA

Aplicaciones. Unidad 06 - Herencia y mtodos virtuales SEMANA 14 Herencia. Llamadas por defecto al constructor base system.object. Ventajas de la herencia. Superclases y subclases. Modificadores y herencia. Clases abstractas. Mtodos abstractos. Propiedades abstractas. Los operadores is y as. Clases abstractas. Aplicaciones. Unidad 07 - Encapsulamiento y Polimorfismo SEMANA 15 Encapsulamiento. Concepto de polimorfismo. Mtodos genricos. Operador Is. Acceso a la clase base. Unidad 08 - Delegados y eventos SEMANA 16 Definicin de delegados y eventos. Declaracin creacin y uso de eventos. Utilizacin de eventos predefinidos. Manipulacin de objetos delegados. Llamada a un mtodo privado. Archivos. Aplicaciones. SEMANA 17 Exposicin de trabajos SEMANA 18 Examen Final SEMANA 01 Examen Sustitutorio

X. BIBLIOGRAFA Adems de la bibliografa bsica, la complementaria y la electrnica, el alumno tendr acceso al uso del Internet para ampliar los temas de investigacin y consulta que requiera. A. BIBLIOGRAFA BSICA: A.1. LIBROS.1. H.M.Deitel y P.J.Deitel, Prentice Hall Cmo Programar en C# 2002. 2. Luis Joyanes Aguilar,
ALGORITMOS AVANZADOS Y ESTRUCTURAS DE DATOS Pg. 9

UNIVERSIDAD ALAS PERUANAS


FACULTAD DE INGENIERAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS E INFORMTICA

Manual de Programacin en C# Ed. Alfa y Omega, 2002

B. BIBLIOGRAFA COMPLEMENTARIA: B.1. LIBROS.1. Ceballos, F.J. (2003). El lenguaje de programacin C# Ra-Ma, 2. Charte Ojeda Francisco Programacin Visual C# .NET. Ed. ANAYA. Lima.(2002). 3. Archer T., Whitechapel A. Inside C# Second Edition, Microsoft Press (2003). 4. MSDN Microsoft International Manual de referencia C# Ao 2003. 5. Platt D.S. (2003). Introducing Microsoft .NET Third Edition, Microsoft Press 6. Sharp J., Jagger J. Microsoft Visual C# .NET Step by Step Microsoft Press. (2003) 7. N. Petzol (2002). Programacin sobre Windows con C# Mc Graw-Hill. 8. Timothy Budd, Addison-Wesley (1994). Introduccin a la programacin orientada a objetos 9. Microsoft International, USA. (2003). Manuales C# 10. Alarcn Herrera Erika Crovetto Christian (2004). Programacin C# .NET Sharp. Megabyte. Lima.

ALGORITMOS AVANZADOS Y ESTRUCTURAS DE DATOS

Pg. 10

UNIVERSIDAD ALAS PERUANAS


FACULTAD DE INGENIERAS Y ARQUITECTURA ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS E INFORMTICA

11. Tom Archer (2001). C# A Fondo. Mc. Graw-Hill Profesional, Espaa.

C. BIBLIOGRAFA ELECTRNICA: C1. Materiales de consulta. 1. Portal de C# en espaol http://tdg.lsi.us.es/csharp 2. C# Corner. http://www.c-sharpcorner.com 3. C# Help. http://www.csharphelp.com 4. C# Station. http://www.csharp-station.com 5. Codehound C#. http://www.codehound.com 6. csharpindex.com. http://www.csharpindex.com 7. Developersdex. http://www.developersdex.com/csharp 8. .NET Wire. http://www.dotnetwire.com

ALGORITMOS AVANZADOS Y ESTRUCTURAS DE DATOS

Pg. 11

Vous aimerez peut-être aussi