Anda di halaman 1dari 9

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS

FACULTAD DE INGENIERIA

SYLLABUS

PROYECTO CURRICULAR: Ingeniera de Sistemas

NOMBRE DEL DOCENTE:


ESPACIO ACADMICO (Asignatura): Programacin Orientado a Objetos
CDIGO:
Obligatorio (X ) : Bsico (X) Complementario ( )
Electivo ( ) : Intrnsecas ( X ) Extrnsecas ( )
NUMERO DE ESTUDIANTES: GRUPO:
NMERO DE CREDITOS: 3
TIPO DE CURSO: TERICO ( ) PRACTICO ( ) TEO-PRAC (X)

Alternativas metodolgicas:
Clase Magistral (X), Seminario ( ), Seminario Taller ( ), Taller (X), Prcticas (X), Proyectos tutoriados (X),
Otro: ________________________
HORARIO:
DIA HORAS SALON

I. JUSTIFICACIN DEL ESPACIO ACADMICO


Competencias del perfil a las que Esta asignatura contribuye al desarrollo de la competencia Resuelve
contribuye la asignatura: problemas computacionales algortmicamente que se encuentra en el
dominio de programacin del rea bsicas de ingeniera del
proyecto curricular de ingeniera de sistemas
Contribucin a la formacin: En este espacio acadmico se establecen las bases de la aplicacin
del paradigma orientado a objetos y se le brindan al estudiante las
herramientas para la aplicacin de los principios y caractersticas de
este paradigma para fortalecer en el estudiante las habilidades en el
desarrollo de programas computacionales. Estas habilidades se
reconocen como claves dentro del dominio del perfil de
Programacin.
Puntos de apoyo para otras En Ingeniera de Sistemas herramienta fundamental para:
asignaturas:
Estructura lgica conceptual basada en paradigmas de
programacin.
Programacin orientada a objetos, Programacin avanzada y
modelos de programacin. Ingeniera de software. Bases de
datos, Redes, Ciencias de la computacin.

En Ingeniera Industrial herramienta fundamental para:

Programacin lineal, gestin tecnolgica, teora de colas y


simulacin, programacin y control de produccin, logstica,
gestin de operaciones.
En Ingeniera Catastral herramienta fundamental para:

SIG, bases de datos, interfaces SIG

En Ingeniera Elctrica herramienta fundamental para:

rea de circuitos, rea de electrnica, probabilidad y


estadstica, sistemas dinmicos, redes de comunicaciones,
digitales, herramientas computacionales, campos, generacin
hidrulica y generacin trmica.

En Ingeniera Electrnica herramienta fundamental para:

Sobre escritura, variables polimrficas y genericidad.


Entiende las relaciones entre los distintos tipos de
polimorfismo.
Entiendo los mecanismos de gestin de errores que ofrecen
algunos lenguajes de programacin.
Entiende el concepto de persistencia.
Entiende y aplica los conceptos bsicos sobre modelado de
datos.
Entiende los conceptos bsicos sobre modelado.

Requisitos previos: Programacin bsica


II. PROGRAMACION DEL CONTENIDO
OBJETIVO GENERAL
Presentar al estudiante la conceptualizacin y aplicacin del paradigma orientado a objetos, enfatizando
en los elementos conceptuales propios de este que permitan plantear y aplicar modelos bien formados
utilizando un lenguaje de programacin orientado a objetos

OBJETIVOS ESPECFICOS
1. Determinar los tipos de aplicacin y las situaciones en las que se debe aplicar el paradigma
orientado a objetos.
2. Comprender, interpretar y analizar el cambio de enfoque en el modo de resolver problemas que
supone el uso del paradigma orientado a objetos respecto a otros paradigmas.
3. Aplicar los conceptos del paradigma de programacin orientada a objetos tales como:
polimorfismo, encapsulamiento, herencia, sobrecarga, funciones virtuales, etc.
4. Manejar adecuadamente conceptos tales como: recursividad, objetos transientes, residentes y
persistentes; generalizacin y generacidad; clases plantillas; asociacin, agregacin y
composicin.
5. Identificar problemas de: portabilidad, efectos colaterales y transparencia referencial.
6. Comprender la enorme importancia de crear software fiable, reutilizable y mantenible.
7. Dominar estrategias bsicas de reutilizacin como son el uso de libreras o paquetes de software.
8. Aplicar el modelo orientado a objetos en programacin de dispositivos de cmputo
COMPETENCIAS DE FORMACIN:
Competencias que compromete la
asignatura:
Competencias especficas de la Conoce y aplica los estndares y recomendaciones para la
asignatura:
codificacin de programas computacionales.
Conoce la evolucin de los esquemas y mecanismos de
abstraccin.
Comprende el modelo orientado a objetos y sus divisiones.
Modela clases, interfaces, sistemas y sus relaciones
mediante diagramas de clases.
Realiza un estudio de requerimientos para problemas
sencillos.
Descubre las clases que permiten modelar una solucin
basado en los requerimientos.
Hace uso de las tarjetas CRC para plantear clases.
Implementa clases basado en los principios de diseo de
clases.
Competencias Transversales a las El alumno tiene la capacidad de discernir que tecnologa debe
que contribuye la asignatura: utilizar para la resolucin de problemas particulares.
Comunica ideas de manera clara de forma oral o escrita.
Acta estratgicamente dentro de un grupo de trabajo para el
desarrollo de proyectos.
PROGRAMA SINTTICO:

1. Introduccin al paradigma Orientado a Objetos


1.1. Paradigmas de Programacin: definicin y caractersticas
1.2 Generalidades de los paradigmas: Abstraccin y Encapsulamiento
1.3 Introduccin al Paradigma Orientado a Objetos
1.4. Lenguajes orientados a objetos
1.5. Fases del Ciclo de vida de Desarrollo de Software
1.6. Identificacin y evolucin de los esquemas de abstraccin.
1.6.1. Identificacin de necesidades del problema
1.6.2 Tarjetas CRC

2. Fundamentos de la programacin orientada a objetos


2.1 Aplicacin de Abstraccin
2.1.1 Clases
2.1.2 Atributos
2.1.3. Operaciones (mtodos)
2.2. Aplicacin de Encapsulacin y ocultamiento de la informacin.
2.3. Modularidad (criterios, principios y reglas)
2.4. El concepto de interfaz
2.5. El concepto de objeto
2.6. Metaclases
2.7. El diseo de aplicaciones OO
2.8. Relaciones entre clases: asociacin, generalizacin, especializacin, composicin,
agregacin

3. Herencia y polimorfismo
3.1. Introduccin a la Herencia
3.2. Herencia Simple
3.3. Herencia Mltiple
3.4. Herencia de Interfaz
3.5. Herencia de Implementacin
3.6. Beneficios y costes de la herencia
3.7. Eleccin de la tcnica de reutilizacin
3.8. Polimorfismo y reutilizacin
3.9. Sobrecarga
3.10. Polimorfismo en jerarquas de herencia
3.11. Variables Polimrficas
3.12. Genericidad

4. Diagramas de clases
4.1. Heurstica general para encontrar las clases.
4.2. Otras fuentes de clases.
4.3. Herramientas para el planteamiento y modelamiento de clases, tarjetas CRC.
4.4. Modelamiento de clases.
4.5. Modelamiento de interfaces.
4.6. Modelamiento de relaciones.
4.7. Modelamiento de sistemas.
4.8 Identificacin de estrategias de almacenamiento segn cardinalidad

5. Principios de Diseo y Buenas Prcticas

5.1 Principios de Diseo de Clase


5.1.1 Principios de Cohesin
5.1.1.1 El principio de Responsabilidad Simple
5.1.1.2. El principio de abierto/cerrado.

5.1.2 Principios de Acoplamiento


5.1.2.1 El principio de sustitucin de Liskov.
5.1.2.2 El principio de inversin e inyeccin de dependencia.
5.1.2.3 El principio de separacin de interface.

5.1.3 Diseo por Contrato

5.2 Buenas Prcticas en Diseo O.O.


5.2.1. Principio del Egosmo.
5.2.2. Clase-instancia-objeto.
5.2.3. Principio de seguridad en una clase mediante el this.
5.2.4. Control de acceso e interfaces de una clase.
5.2.5. Acceso en clases e instancias.
5.2.6. Atributos de una clase.
5.2.7. Seguridad de los atributos.
5.2.8. Ley de Demeter.

5.3 Estndares de Codificacin y Gestin de Errores


5.3.1. Revisiones de Cdigo y Estndares: identacin, nombramiento, comentarios,
declaraciones
5.3.2. Tcnicas de Codificacin
5.3.3. Convenciones de Cdigo y Estructura de Programas: variables, constantes, clases,
atributos, estructuras, mtodos, paquetes
5.3.4. Documentacin del Cdigo
5.3.5. Tipos de Errores: lgicos, sintcticos y semnticos
5.3.6. Depuracin frente a errores
5.3.7. Captura y Gestin de Errores

6. Temas Complementarios
6.1 Introduccin a Persistencia en archivos
6.2 Identificacin y uso de prototipos de clase: abstracta, concreta, interface
6.3 Introduccin al diseo por capas (MVC)
6.4 Introduccin al diseo de interfaz grfica
6.5 Uso herramientas documentacin

III. ESTRATEGIAS
Metodologa Pedaggica y Didctica:
Asistencia a clases expositivas y de discusin
Elaboracin y lectura de paper (documentacin).
Se debe procurar incentivar el trabajo de grupo ms que el trabajo individual. (se recomienda
trabajar en grupos de dos o tres estudiantes)
Implementacin y prueba de prototipos (programas) en laboratorio de computacin

Horas Total Horas


Horas
Horas profesor / Estudiante / Crditos
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 tutora del docente a pequeos grupos o de forma
individual a los estudiantes.

Trabajo Autnomo (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:

Aula normal con tablero para sesiones de ctedra y para sesiones de discusin.
Disponibilidad para acceder a proyector multimedia.
Laboratorio de computacin, para las sesiones de laboratorio.
IDEs para desarrollar en java (Eclipse, Netbeans, )
Pgina web para publicar material didctico, guas de ejercicios, soluciones, tareas, etc.
Acceso al material bibliogrfico recomendado.
Asignacin de una persona que tenga las plenas competencias del curso (monitor) para asesorar
a los estudiantes en dudas durante las sesiones del laboratorio de computacin.
Acceso a material digital a travs de bibliotecas digitales

TEXTOS GUIA

Bertrand Meyer. Construccin de Software Orientado a Objetos. Prentice Hall.


Bruce Eckel. Thinking Java. Pretince Hall
Deitel & Deitel. Java2 How To Program. Prentice Hall
TEXTOS COMPLEMENTARIOS

Agustn Froufe Quintas. Java 2 Manual de usuario y tutorial. Alfaomega.


Horstmann Cornell, Core Java 2 vol 1 y vol 2. Pretince Hall.
Horstmann Cornell, Core Java 1. Pretince Hall.
DIRECCIONES DE INTERNET

http://download.oracle.com/javase/6/docs/api/
http://download.oracle.com/javase/6/docs/

V. ORGANIZACIN / TIEMPOS
Espacios, Tiempos, Agrupamientos:
Se recomienda trabajar una unidad cada cuatro semanas, trabajar en pequeos grupos de estudiantes,
utilizar Internet para comunicarse con los estudiantes para revisiones de avances y solucin 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 Introduccin al paradigma Orientado a Objetos

1.1 Paradigmas de Programacin: definicin y caractersticas

1.2 Generalidades de los paradigmas: Abstraccin y Encapsu-


lamiento

1.3 Introduccin al Paradigma Orientado a Objetos

1.4 Lenguajes orientados a objetos

1.5 Fases del Ciclo de vida de Desarrollo de Software

1.6 Identificacin y evolucin de los esquemas de abstraccin.

1.6.1 Identificacin de necesidades del problema

1.6.2 Tarjetas CRC

2 Fundamentos de la programacin orientada a objetos

2.1 Aplicacin de Abstraccin

2.1.1 Clases

2.1.2 Atributos

2.1.3 Operaciones (mtodos)

2.2 Aplicacin de Encapsulacin y ocultamiento de la informa-


cin.

2.3 Modularidad (criterios, principios y reglas)

2.4 El concepto de interfaz

2.5 El concepto de objeto

2.6 Metaclases

2.7 El diseo de aplicaciones OO

2.8 Relaciones entre clases: asociacin, generalizacin, espe-


cializacin, composicin, agregacin

3 Herencia y polimorfismo

3.1 Introduccin a la Herencia

3.2 Herencia Simple

3.3 Herencia Mltiple


3.4 Herencia de Interfaz

3.5 Herencia de Implementacin

3.6 Beneficios y costes de la herencia

3.7 Eleccin de la tcnica de reutilizacin

3.8 Polimorfismo y reutilizacin

3.9 Sobrecarga

3.10 Polimorfismo en jerarquas de herencia

3.11 Variables Polimrficas

3.12 Genericidad

4 Diagramas de clases

4.1 Heurstica general para encontrar las clases.

4.2 Otras fuentes de clases.

4.3 Herramientas para el planteamiento y modelamiento de cla-


ses, tarjetas CRC.

4.4 Modelamiento de clases.

4.5 Modelamiento de interfaces.

4.6 Modelamiento de relaciones.

4.7 Modelamiento de sistemas.

4.8 Identificacin de estrategias de almacenamiento segn car-


dinalidad

5 Principios de Diseo y Buenas Prcticas

5.1 Principios de Diseo de Clase

5.1.1 Principios de Cohesin

5.1.1 El principio de Responsabilidad Simple


.1

5.1.1 El principio de abierto/cerrado.


.2

5.1.2 Principios de Acoplamiento

5.1.2 El principio de sustitucin de Liskov.


.1

5.1.2 El principio de inversin e inyeccin de dependencia.


.2

5.1.2 El principio de separacin de interface.


.3

5.1.3 Diseo por Contrato

5.2 Buenas Prcticas en Diseo O.O.

5.2.1 Principio del Egosmo.

5.2.2 Clase-instancia-objeto.

5.2.3 Principio de seguridad en una clase mediante el this.

5.2.4 Control de acceso e interfaces de una clase.

5.2.5 Acceso en clases e instancias.

5.2.6 Atributos de una clase.

5.2.7 Seguridad de los atributos.

5.2.8 Ley de Demeter.


5.3 Estndares de Codificacin y Gestin de Errores

5.3.1 Revisiones de Cdigo y Estndares: identacin,


nombramiento, comentarios, declaraciones

5.3.2 Tcnicas de Codificacin

5.3.3 Convenciones de Cdigo y Estructura de Programas:


variables, constantes, clases, atributos, estructuras,
mtodos, paquetes

5.3.4 Documentacin del Cdigo

5.3.5 Tipos de Errores: lgicos, sintcticos y semnticos

5.3.6 Depuracin frente a errores

5.3.7 Captura y Gestin de Errores

6 Temas Complementarios

6.1 Introduccin a Persistencia en archivos

6.2 Identificacin y uso de prototipos de clase: abstracta,


concreta, interface

6.3 Introduccin al diseo por capas (MVC)

6.4 Introduccin al diseo de interfaz grfica

6.5 Uso herramientas documentacin

VI. EVALUACIN
TIPO DE EVALUACIN FECHA PORCENTAJE
Parcial escrito, Guas de ejercicios resueltas,
Informes de conceptos basado en anlisis
PRIMER CORTE 35%
(Paper's), Pruebas orales/escritas rpidas
(Quizes), Ejercicios de laboratorio.
Las fechas estarn
Parcial escrito, Guas de ejercicios resueltas,
acorde a las
Informes de conceptos basado en anlisis
programadas por el
SEGUNDO CORTE (Paper's), Pruebas orales/escritas rpidas 35%
calendario acadmico
(Quizes), Ejercicios de laboratorio. Desarrollo
para el periodo en
de Proyecto
curso
Desarrollo de Proyecto. Informe de
desempeo y sustentacin de un prototipo
PROYECTO FINAL 30%
funcional que evale 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 solucin diseada resuelva el problema.
Apego a la formalidad y estndares requeridos.
Que el anlisis de correccin sea exhaustivo.
Que el prototipo corresponda al modelo diseado y no presente errores de sintaxis.
La asistencia a las clases magistrales y a los laboratorios.
El esfuerzo y dedicacin en la resolucin de problemas.
Que la documentacin 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
programacin bajo problemas que requieren un menor tiempo de desarrollo y en una modalidad que
no requiere uso del computador, as como la comprensin conceptual.
DATOS DEL DOCENTE
NOMBRE :
PREGRADO :
POSTGRADO :
ASESORIAS: FIRMA DE ESTUDIANTES
NOMBRE FIRMA CDIGO FECHA
1.
2.
FIRMA DEL DOCENTE

_________________________________

FECHA DE ENTREGA: __________________________

Anda mungkin juga menyukai