Plan Global Programacion - Carreras de Informática y Sistemas

Anuncio
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
I. DATOS
DE IDENTIFICACIÓN

Carga horaria:

Materias con las que se relaciona:
24 hrs
VERTICAL
HORIZONTAL
1. Elementos de Programación y 1.
Estructura de Datos (2010003)
2. Arquitectura de Computadoras I 2.
(2010013)
3. Algebra II (2008022)
4. Cálculo II (2008143)
5. Inglés II (1803002)
Introducción a la programación
(2010010)
Teoría de Grafos (2010037)

Docente: Lic. Rosemary Torrico Bascopé

Teléfono:

Correo Electrónico: [email protected]
4452760
:
1
II. JUSTIFICACIÓN
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.
III. OBJETIVOS
 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.
2
IV. SELECCIÓN Y ORGANIZACIÓN DE CONTENIDOS
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
3
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
4
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
V. METODOLOGÍAS
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.
5
VI. CRONOGRAMA O DURACIÓN EN PERIÓDOS ACADÉMICOS POR UNIDAD
VII. CRITERIOS DE EVALUACIÓN
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:
UNIDAD
100%
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
6
VIII. BIBLIOGRAFIA
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
7
Descargar