You are on page 1of 7

1

UNIVERSIDAD MAYOR DE SAN SIMÓN
FACULTAD DE CIENCIAS Y TECNOLOGÍA


PLAN GLOBAL










































 Nombre de la materia: Programación Código: 2010200
 Grupo B
 Carga horaria: 24 hrs
 Materias con las que se relaciona:
VERTICAL HORIZONTAL
1. Elementos de Programación y
Estructura de Datos (2010003)
2. Arquitectura de Computadoras I
(2010013)
3. Algebra II (2008022)
4. Cálculo II (2008143)
5. Inglés II (1803002)
1. Introducción a la programación
(2010010)
2. Teoría de Grafos (2010037)

 Docente: Lic. Rosemary Torrico Bascopé
 Teléfono: 4452760
 Correo Electrónico: rosemarytb@yahoo.com
:

I. DATOS DE IDENTIFICACIÓN
2































 Desarrollar una base sólida en el área de programación
 Mejorar las habilidades de programación en base a técnicas de verificación
 Desarrollar habilidades de generación de código autodocumentado
 Estimular el razonamiento lógico y abstracto en la resolución de problemas del mundo real.
















El curso de programación es fundamental en la formación del estudiante de la carrera de
informática, debido a que en esta asignatura los estudiantes profundizaran razonamiento lógico
algorítmico en la resolución de problemas computacionales tomando en cuenta, principios de la
filosofía de programación orientada a objetos, de código limpio y reutilizable, correcto, etc.
Buscando la mejora continua en sus destrezas de programación, teniendo una actitud crítica y
reflexiva respecto su estilo de programación.
Por lo que se desea dar especial énfasis al razonamiento, abstracción, lógica y la construcción de
algoritmos, que podrán ser aplicados en cualquier lenguaje de programación, puesto que la
utilización de los lenguajes de programación está sujeta al tipo de problema que se desea resolver.
Sin embargo para que el estudiante tenga experiencias concretas y reales todos los conceptos
teóricos aprendidos se utilizará un lenguaje de programación, para este propósito se eligió el
lenguaje Java.

II. JUSTIFICACIÓN
III. OBJETIVOS
3






















































UNIDAD 1.- Elementos de Programación y Lenguajes
Objetivos de la Unidad.
 Identificar los principales elementos de programación
 Analizar el proceso de abstracción procedimental de datos
 Analizar principios de la programación orientada objetos.
 Reflexionar sobre la importancia de la programación orientada a objetos.

Contenido
1.1 Sintaxis y semántica
1.2 Abstracción procedimental y de Datos
1.3 Tipos abstractos de datos
1.4 Clases y objetos
1.4.1 Conceptos
1.4.2 Relaciones entre clases


UNIDAD 2: Polimorfismo y Herencia avanzada
Objetivos de la Unidad

 Identificar las características de Herencia
 Diseñar soluciones aplicando el concepto de Herencia
 Construir Jerarquías de Clases
 Identificar las características principales de Polimorfismo.
 Diseñar soluciones aplicando el concepto de Polimorfismo.
 Identificar las características y aplicabilidad de las Interfaces.
Contenido
2.1 Herencia
2.1.1 Concepto
2.1.2 Enmascaramiento de variable y sobreescritura de métodos
2.1.3 Jerarquías de clases (paquetes)
2.1.4 Polimorfismo
2.2 Herencia múltiple
2.3 Interfaces


IV. SELECCIÓN Y ORGANIZACIÓN DE CONTENIDOS
4

UNIDAD 3 .- Refactorización
Objetivos de la Unidad.
 Identificar las características principales de la Refactorización
 Definir estrategias para hacer Refactorización
 Identificar las principales reglas de Refactorización
 Analizar las ventajas de la aplicación de la Refactorización

Contenido
3.1 Introducción
3.2 Tratamiento de BadSmell
3.3 Metáfora de los dos sombreros
3.4 Composición y Métodos
3.5 Migración de características en métodos
3.6 Reglas de Refactorización

UNIDAD 4.- Programación guidada por verificación
Objetivos de la Unidad.
 Describir las cualidades esenciales de la programación guiada por verificación
 Identificar las características de los Assertions y su aplicabilidad
 Analizar el Principio de Invarianza
 Identificar los componentes principales del los tests de unidad
 Diseñar tests de unidad

Contenido
4.1 Introducción
4.2 Assertions
4.3 Principio de Invarianza
4.4 Tests de unidad
4.4.1 Introducción
4.4.2 Cómo escribir Test de Unidad
5


UNIDAD 5.- Verificación para simulación con objetos
Objetivos de la Unidad.
 Asegurar un correcto aislamiento de la clase bajo test mediante Mock Objects
 Simular el comportamiento de código existente mediante Stubs
 Identificar características y aplicabilidad del Dummy Code

Contenido
5.1 Introducción
5.2 Mock Objects
5.3 Stubs
5.4 Dummy Code

UNIDAD 6.- Programación orientada por componentes
Objetivos de la Unidad.
 Describir las cualidades esenciales de la programación guiada por componentes
 Identificar la principales restricciones para componentes
 Analizar las interfaces de los componentes
 Diseñar componentes reutilizables

Contenido
6.1 Conceptos básicos
6.2 Definición de interfaces de componentes
6.3 Definición de restricciones para componentes
6.4 Uso de componentes























La metodología de enseñanza que se consideró apropiada para lograr el máximo aprovechamiento del
estudiante dentro del proceso enseñanza-aprendizaje será:

1. Clase dialogada.
2. Uso de analogías y metáforas relacionadas con los temas a desarrollar.
3. Método basado en la resolución de problemas.
4. Dinámicas grupales incorporando elementos lúdicos para la comprensión de las unidades
temáticas.



V. METODOLOGÍAS
6




































UNIDAD DURACIÓN
(HORAS
ACAD.)
DURACIÓN EN
SEMANAS

UNIDAD 1.- Elementos de Programación y Lenguajes


12

2

UNIDAD 2: Polimorfismo y Herencia avanzada

24

4


UNIDAD 3 .- Refactorización


24

4

UNIDAD 4.- Programación guidada por verificación


24

4

UNIDAD 5.- Verificación para simulación con objetos


18

3

UNIDAD 6.- Programación orientada por componentes


18

3
VI. CRONOGRAMA O DURACIÓN EN PERIÓDOS ACADÉMICOS POR UNIDAD


El nivel de conocimientos de los estudiantes se medirá y calificará mediante pruebas
escritas, participación activa en actividades desarrolladas en las clases y trabajo
prácticos. Para motivar la participación activa de los estudiantes se calificará los aportes
que realice en clase.


Porcentaje de distribución de la nota
Actividades en clases: 10%
Trabajos Prácticos: 10%
Exámenes: 80%
Total: 100%


VII. CRITERIOS DE EVALUACIÓN
7







Textos Base:
 “Refactoring Improving de Design of Existing Code”, Martin Fowler, Editorial Addison
Wesley,2002.
 “Introducción a la programación con Orientación a Objetos”, Carmelia Muñoz Caro, Alfonso Niño
Ramos, Aurora Vizcaino Barceló, Editorial Prentice Hall, 2002.

Textos de referencia y consulta:
 http://ebooks.elportal.info/Addison%20Wesley%20-%20Refactoring%20-
%20Improving%20the%20Design%20of%20Existing%20Code.pdf
 http://www.chuidiang.com/ood/refactoring/refactoring.php
 http://el-golem.com.ar/index.php/poc/22-que-es-la-programacion-orientada-a-componentes
 http://wwwdi.ujaen.es/asignaturas/progav/progav-tema4.pdf


VIII. BIBLIOGRAFIA