0% encontró este documento útil (0 votos)
103 vistas

Programacion Avanzada

Este documento presenta el syllabus de la asignatura de Programación Avanzada para el programa de Ingeniería de Sistemas. La asignatura contribuye al desarrollo de competencias en programación y resuelve problemas computacionales algorítmicamente. El objetivo general es desarrollar los elementos conceptuales necesarios para diseñar programas bien formados. Los objetivos específicos incluyen realizar programas basados en estándares y principios de diseño, seleccionar lenguajes de programación adecuados y conocer propuestas de desarrollo importantes
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
103 vistas

Programacion Avanzada

Este documento presenta el syllabus de la asignatura de Programación Avanzada para el programa de Ingeniería de Sistemas. La asignatura contribuye al desarrollo de competencias en programación y resuelve problemas computacionales algorítmicamente. El objetivo general es desarrollar los elementos conceptuales necesarios para diseñar programas bien formados. Los objetivos específicos incluyen realizar programas basados en estándares y principios de diseño, seleccionar lenguajes de programación adecuados y conocer propuestas de desarrollo importantes
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS

FACULTAD DE INGENIERIA

SYLLABUS

PROYECTO CURRICULAR: Ingeniería de Sistemas

NOMBRE DEL DOCENTE:


ESPACIO ACADÉMICO (Asignatura): Programación Avanzada
CÓDIGO:
Obligatorio ( X ) : Básico ( X ) Complementario ( )
Electivo ( ) : Intrínsecas ( ) Extrínsecas ( )
NUMERO DE ESTUDIANTES: GRUPO:
NÚMERO DE CREDITOS: 3
TIPO DE CURSO: TEÓRICO ( ) PRACTICO ( ) TEO-PRAC (X)

Alternativas metodológicas:
Clase Magistral (X), Seminario ( ), Seminario – Taller ( ), Taller (X), Prácticas (X), Proyectos tutoriados (X),
Otro: ________________________
HORARIO:
DIA HORAS SALON

I. JUSTIFICACIÓN DEL ESPACIO ACADÉMICO


Competencias del perfil a las que Esta asignatura contribuye al desarrollo de la competencia “Resuelve
contribuye la asignatura: problemas computacionales algorítmicamente” que se encuentra en el
dominio de “programación” del área “básicas de ingeniería” del
proyecto curricular de ingeniería de sistemas.
Contribución a la formación: En este espacio académico se establecen las bases para la formulación
de programas de software bien formados basados en los principios
fundamentales para la constitución de una buena solución
computacional. Esta habilidad se reconoce como clave dentro del
dominio del perfil de “Programación”.
Puntos de apoyo para otras  Estructura lógica conceptual basada en paradigmas de
asignaturas: programación.
 Herramienta fundamental para Modelos de programación.
 Herramienta fundamental para ingeniería de software.
 Herramienta fundamental para bases de datos.
 Herramienta fundamental para Redes
Requisitos previos:  Programación Básica
 Programación Orientada a Objetos
II. PROGRAMACION DEL CONTENIDO
OBJETIVO GENERAL

Desarrollar los elementos conceptuales necesarios para hacer una buena elección tecnológica y
filosófica, y con ella poder construir programas bien diseñados.

OBJETIVOS ESPECÍFICOS
1. Realizar programas computacionales basados en estándares, normas y principios de diseño y
reutilización que permitan ofrecer soluciones eficaces.
2. Establecer los criterios de selección de un lenguaje de programación que garanticen el desarrollo
adecuado de un proyecto informático.
3. Identificar propuestas de desarrollo importantes y robustas que garanticen una buena solución
informática.
4. Identificar algunas de las tendencias del modelo OO importantes para la solución de problemas más
complejos y puntuales.
5. Manejar elementos conceptuales de mayor profundidad sobre el modelo OO.
COMPETENCIAS DE FORMACIÓN:
Competencias que compromete la El estudiante está en capacidad de pensar ordenadamente para
asignatura: modelar una solución a un problema, en donde se debe analizar e
implementar dicha solución aplicando los elementos conceptuales
necesarios para poder construir de manera bien formada esta solución.
Competencias específicas de la  Conoce y utiliza las técnicas de gestión de almacenamiento de
asignatura: objetos.
 Conoce y plantea correctamente las relaciones entre clases,
paquetes y subsistemas.
 Realiza una correcta gestión de código.
 Aplica los principios fundamentales para obtener calidad en los
programas.
 Conoce y aplica técnicas de programación concurrente.
 Conoce y aplica técnicas de programación distribuida.
 Conoce y aplica técnicas de persistencia con bases de datos.
Competencias Transversales a las  El alumno tiene la capacidad de discernir que tecnología debe
que contribuye la asignatura: utilizar para la resolución de problemas particulares.
 Comunica ideas de manera clara de forma oral o escrita.
 Actúa estratégicamente dentro de un grupo de trabajo para el
desarrollo de proyectos.
PROGRAMA SINTÉTICO:

1. Relaciones entre clases, paquetes y espacios de nombres como subsistemas.


1.1. Relación de: asociación, generalización o herencia, dependencia, realización.
1.2. Delegación con herencia, con asociación, con dependencias, con realización.
1.3. Principio de la Burocracia Perfecta.
1.4. Diseño de aplicaciones de escritorio en capas: Modelo Vista Controlador
1.5. Establecimiento de sistemas y subsistemas vía espacio de nombres o paquetes.
1.6. Anidación de subsistemas.
1.7. Acceso en subsistemas.

2. Principio de Diseño de Paquetes.


2.1. El principio de equivalencia reutilización/revisión.
2.2. El principio de cierre común.
2.3. El principio de reutilización común.
2.4. El principio de dependencia acíclica.
2.5. El principio de las dependencias estables.
2.6. El principio de las abstracciones estables.

3. Esquemas de Persistencia Volátil.


3.1. Concepto e importancia de la gestión de objetos.
3.2. Tipos de gestión.
3.3. Recuperación del espacio de los objetos.
3.4. Objetos alcanzables e inalcanzables.
3.5. Problemática y necesidad de evitar pérdida de memoria.
3.6. Recuperación de los objetos estáticos.
3.7. Recuperación de los objetos en pila y montículo
3.8. Programación O.O con recolección: manual y automática.
3.9 Esquemas de genericidad en datos

4. Esquemas de Persistencia No volátil


4.1 Persistencia en archivos: secuenciales y aleatorios
4.2 Archivos de Propiedades
4.3 Introducción al Modelado de Datos
4.2 Persistencia en Base de Datos

5. Programación Concurrente.
5.1 Proceso y Tarea
5.2 Monoproceso y Multiproceso
5.3 Concurrencia en Recursos
5.4 Asignación de memoria en programación concurrente: heap y stack
5.5 Estados de un hilo
5.6 Implementación y gestión de hilos

6. Programación en ambientes web.


6.1 Introducción a redes de Comunicación: puertos, IP, protocolo, envíos tipo get y post,
URL, servidores
6.2 Comunicación distribuida usando sockets
6.3 Introducción a HTML
6.4 Creación y uso de formularios
6.5 Introducción a Paginación dinámica
6.6 Captura de Parámetros usando get o post
6.7. Diseño de aplicaciones web en capas: Modelo Vista Controlador
6.8 Comunicación distribuida usando servlets
6.9 Redireccionamiento de respuesta de servlets
6.10 Introducción a los Servicios Web

7. Temas Complementarios
7.1 Persistencia con serialización
7.2 Comunicación distribuida usando servicios web
7.3 Diagramas de Despliegue
7.4 Consumo de servicios web on-line

III. ESTRATEGIAS
Metodología Pedagógica y Didáctica:
 Asistencia a clases expositivas y de discusión
 Elaboración y lectura de paper (documentación).
 Se debe procurar incentivar el trabajo de grupo más que el trabajo individual. (se
recomienda trabajar en grupos de dos o tres estudiantes)
 Implementación y prueba de prototipos (programas) en laboratorio de computación
Horas Total Horas
Horas
Horas profesor / Estudiante / Créditos
Estudiante / semana
semana semestre
Tipo de
TD TC TA (TD + TC) (TD + TC +TA) X 16 semanas
Curso
2 4 6 6 12 192 3

Trabajo Presencial Directo (TD): trabajo de aula con plenaria de todos los estudiantes.
Trabajo Mediado_Cooperativo (TC): Trabajo de tutoría del docente a pequeños grupos o de forma
individual a los estudiantes.
Trabajo Autónomo (TA): Trabajo del estudiante sin presencia del docente, que se puede realizar en
distintas instancias: en grupos de trabajo o en forma individual, en casa o en biblioteca, laboratorio, etc.)
IV. RECURSOS
Medios y Ayudas:
1. Aula normal con tablero para sesiones de cátedra y para sesiones de discusión.
2. Disponibilidad para acceder a proyector multimedia.
3. Laboratorio de computación, para las sesiones de laboratorio.
4. IDE’s para desarrollar en java (Eclipse, Netbeans, …)
5. Página web para publicar material didáctico, guías de ejercicios, soluciones,
tareas, etc.
6. Acceso al material bibliográfico recomendado.
7. Acceso al material bibliográfico digital a través de acceso a bases de datos.
8. Asignación de una persona que tenga las plenas competencias del curso (monitor)
para asesorar a los estudiantes en dudas durante las sesiones del laboratorio de
computación.

TEXTOS GUIA

 Bertrand Meyer. Construcción de Software Orientado a Objetos. Prentice Hall.


 Horstmann Cornell, Core Java 2 vol 1 y vol 2. Pretince Hall.
 Horstmann Cornell, Core Java 1. Pretince Hall.
 Deitel & Deitel. Java2 How To Program. Prentice Hall.

TEXTOS COMPLEMENTARIOS

 Agustín Froufe Quintas. Java 2 Manual de usuario y tutorial. Alfaomega.


 Guía de certificación de java. Sun Microsystem.
 Bruce Eckel. Thinking Java. Pretince Hall

DIRECCIONES DE INTERNET

 www.objectmentor.com
 https://oai.oracle.com/en/index1.html
 http://msdn.microsoft.com/es-es/magazine/cc546578.aspx
 http://sourcemaking.com/
 http://download.oracle.com/javase/6/docs/api/
 http://download.oracle.com/javase/6/docs/
V. ORGANIZACIÓN / TIEMPOS
Espacios, Tiempos, Agrupamientos:
Se recomienda trabajar una unidad cada cuatro semanas, trabajar en pequeños grupos de estudiantes,
utilizar Internet para comunicarse con los estudiantes para revisiones de avances y solución de preguntas
(esto considerarlo entre las horas de trabajo cooperativo).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
1 Relaciones entre clases, paquetes y espacios de
nombres como subsistemas.

1.1 Relación de: asociación, generalización o herencia,


dependencia, realización.

1.2 Delegación con herencia, con asociación, con


dependencias, con realización.

1.3 Principio de la Burocracia Perfecta.

1.4 Diseño de aplicaciones de escritorio en capas:


Modelo Vista Controlador

1.5 Establecimiento de sistemas y subsistemas vía


espacio de nombres o paquetes.

1.6 Anidación de subsistemas.

1.7 Acceso en subsistemas.

2 Principio de Diseño de Paquetes.

2.1 El principio de equivalencia reutilización/revisión.

2.2 El principio de cierre común.

2.3 El principio de reutilización común.

2.4 El principio de dependencia acíclica.

2.5 El principio de las dependencias estables.

2.6 El principio de las abstracciones estables.

3 Esquemas de Persistencia Volátil.

3.1 Concepto e importancia de la gestión de objetos.

3.2 Tipos de gestión.

3.3 Recuperación del espacio de los objetos.

3.4 Objetos alcanzables e inalcanzables.

3.5 Problemática y necesidad de evitar pérdida de


memoria.

3.6 Recuperación de los objetos estáticos.

3.7 Recuperación de los objetos en pila y montículo

3.8 Programación O.O con recolección: manual y


automática.

3.9 Esquemas de genericidad en datos

4 Esquemas de Persistencia No volátil

4.1 Persistencia en archivos: secuenciales y aleatorios

4.2 Archivos de Propiedades

4.3 Introducción al Modelado de Datos

4.2 Persistencia en Base de Datos

5 Programación Concurrente.

5.1 Proceso y Tarea


5.2 Monoproceso y Multiproceso

5.3 Concurrencia en Recursos

5.4 Asignación de memoria en programación


concurrente: heap y stack

5.5 Estados de un hilo

5.6 Implementación y gestión de hilos

6 Programación en ambientes web.

6.1 Introducción a redes de Comunicación: puertos, IP,


protocolo, envíos tipo get y post, URL, servidores

6.2 Comunicación distribuida usando sockets

6.3 Introducción a HTML

6.4 Creación y uso de formularios

6.5 Introducción a Paginación dinámica

6.6 Captura de Parámetros usando get o post

6.7 Diseño de aplicaciones web en capas: Modelo Vista


Controlador

6.8 Comunicación distribuida usando servlets

6.9 Redireccionamiento de respuesta de servlets

6.10 Introducción a los Servicios Web

7 Temas Complementarios

7.1 Persistencia con serialización

7.2 Comunicación distribuida usando servicios web

7.3 Diagramas de Despliegue

7.4 Consumo de servicios web on-line

VI. EVALUACIÓN
TIPO DE EVALUACIÓN FECHA PORCENTAJE
Parcial escrito, Guías de ejercicios resueltas,
Informes de conceptos basado en análisis
PRIMER CORTE 35%
(Paper's), Pruebas orales/escritas rápidas
(Quizes), Ejercicios de laboratorio.
Las fechas estarán
Parcial escrito, Guías de ejercicios resueltas,
acorde a las
Informes de conceptos basado en análisis
programadas por el
SEGUNDO CORTE (Paper's), Pruebas orales/escritas rápidas 35%
calendario académico
(Quizes), Ejercicios de laboratorio. Desarrollo
para el periodo en
de Proyecto
curso
Desarrollo de Proyecto. Informe de
desempeño y sustentación de un prototipo
PROYECTO FINAL 30%
funcional que evalúe las competencias
exigidas.
ASPECTOS A EVALUAR DEL CURSO
 Claridad y entendimiento de los conceptos.
 Que se haya identificado correctamente el problema y que el modelo lo represente adecuadamente.
 Que la solución diseñada resuelva el problema.
 Apego a la formalidad y estándares requeridos.
 Que el análisis de corrección sea exhaustivo.
 Que el prototipo corresponda al modelo diseñado y no presente errores de sintaxis.
 La asistencia a las clases magistrales y a los laboratorios.
 El esfuerzo y dedicación en la resolución de problemas.
 Que la documentación permita reconocer la forma en que se ha abordado el problema y la
estructura del programa implementado.
 En las pruebas escritas se consideran en forma parcial los aspectos considerados en proyectos de
programación bajo problemas que requieren un menor tiempo de desarrollo y en una modalidad que
no requiere uso del computador, así como la comprensión conceptual.
DATOS DEL DOCENTE
NOMBRE :
PREGRADO :
POSTGRADO :
ASESORIAS: FIRMA DE ESTUDIANTES
NOMBRE FIRMA CÓDIGO FECHA
1.
2.
FIRMA DEL DOCENTE

_________________________________

FECHA DE ENTREGA: __________________________

También podría gustarte