Está en la página 1de 12

FACULTAD DE CIENCIAS TECNOLOGICAS

rea Informtica, Sistemas, Redes y Telecomunicaciones

GUA MAAP

DESARROLLO de APLICACIONES I

Febrero - 2016

Santa Cruz, Bolivia


GUIA DE ESTUDIO - MAAP

I. IDENTIFICACIN DE LA ASIGNATURA

Sigla : SIS-1095
Nombre de la Asignatura : Desarrollo de Aplicaciones I
Horas Acadmicas : 60 Horas
Prerrequisitos : Programacin I
Carrera : Ing. Sistemas

II. OBJETIVOS DE LA ASIGNATURA


1. El objetivo de este curso es proveer al estudiante los conocimientos y habilidades
necesarias para desarrollar aplicaciones en lenguaje C# para la Plataforma Microsoft.NET

III. PLAN TEMTICO

Para lograr el objetivo general de la materia, el contenido est estructurado en 9 temas,


que son los siguientes:

Horas Horas # de
TEMA CONTENIDO DE LA MATERIA
Tericas Prcticas Clases
Tema 1 Introduccin 4 2 2
Tema 2 Uso de Variables Tipo Valor 1 2 1
Sentencias de Control de Flujo y
Tema 3 2 4 2
Excepciones
Tema 4 Mtodos y Parmetros 1 2 1
Tema 5 Arreglos 4 2 2
Tema 6 POO. Fundamentos de la POO 4 2 2
Tema 7 Uso de Variables Tipo Referencia 1 2 1
Tema 8 Herencia 4 8 4
Tema 9 Construccin y Destruccin de Objetos 1 2 1
Parciales y Examen Final 9 3
Evaluaciones
Discusin Proyecto Final 3 1
TOTAL 22 38 20

Documentacin Acadmica revisada 2


IV. ORIENTACIONES PARA LA ORGANIZACIN DEL TRABAJO DE APRENDIZAJE
DURANTE EL DESARROLLO DE LA MATERIA

Esta materia est orientada a abordar de manera integral el curso: Microsoft Official
Course (MOC) Introduction to C# Programming for the Microsoft .NET Platform
(Official Course 2124C)
El aprobar esta materia te posibilita tener los conocimientos necesarios para rendir
los exmenes de la certificacin de Microsoft siguientes:

MCAD Microsoft Certified Application Developers


MCSE Microsoft Certified System Engineer
MCPD Microsoft Certified Professional Developer
.
A continuacin se presentan algunas normas bsicas de comportamiento y
recomendaciones, a tomar en cuenta:

a) El proceso de aprendizaje durante toda la materia es integral.-


La misin de la UTEPSA es lograr que cada estudiante desarrolle una experiencia
acadmica de calidad, excelencia, con valores, responsabilidad social, innovacin,
competitividad, y habilidades emprendedoras. Por esto no te sorprendas si adems de ser
evaluado en contenidos propios de la materia, el docente evala tambin aspectos como
puntualidad, pro actividad, ortografa, etc. Nunca pierdas de vista que lo se te exige es por
tu propio beneficio.

b) Asistencia y puntualidad.-
Asistir a clases y hacerlo de manera puntual, es una manera de demostrar que somos
responsables:
Tu asistencia es importante en TODAS las clases. Por si surgiera un caso de fuerza
mayor, en el reglamento de la Universidad se contemplan tres faltas por mdulo (Art.
13 Inc. B y C del Reglamento Estudiantil UPTESA). Si sobrepasas esta cantidad de
faltas PERDERAS EL DERECHO A TOMAR LA EVALUACIN FINAL de la materia. Se
considera asistencia estar al inicio, durante y al final de la clase.
Esfurzate por estar en la clase a la hora de inicio. Se dar un margen de 10 minutos
de tolerancia. despus de estos, podrs entrar tan pronto como el docente considere
que tu ingreso no ser una distraccin para la clase o despus de la hora de
descanso, de esta manera no perjudicaremos el avance de la clase distrayendo a los
compaeros.
Si te retiras de la clase antes de que esta termine, tampoco registraras asistencia
completa.
Ten especial cuidado con la asistencia y la puntualidad los das de evaluacin.
Normalmente la fecha de pruebas, es comunicada con varios das de antelacin, esto
te permite programarlos como ocasiones a las que tienes que darles una espacial
atencin.

Documentacin Acadmica revisada 3


Si confirmas la materia el 2do o 3er da de clases, ya tienes acumuladas
automticamente las faltas de los das que no has asistido. Favor tmalo en cuenta.
c) Comportamiento en clases.-
Los estudiantes y los docentes, evitamos beber y comer en el aula. De ninguna
manera podemos fumar dentro de esta.
A fin de evitar interrupciones, los celulares se apagarn al entrar al aula o se pondrn
en modo silencioso para atender llamadas o mensajes SOLO en caso de emergencia.
Cualquier falta de respeto a los compaeros, al docente, al personal de apoyo o al
personal administrativo, ser severamente sancionada de acuerdo al reglamento de la
Universidad. En todo caso confiamos en que todos respetaremos las normas de
conducta adecuadas.

V. OBJETIVOS Y ACTIVIDADES DE CADA TEMA

UNIDAD 1: PROGRAMACIN ORIENTADA A OBJETOS POO


A. Objetivos.
1. Explicar la estructura de un programa simple en C#.
2. Uso de la clase Console del nombre de espacios System para realizar
operaciones bsicas de entrada y salida.
3. Manipular excepciones en un programa C#.
4. Compilar y ejecutar un programa C#
5. Usar el depurador para validar la ejecucin de un programa

B. Actividades de aprendizaje
1. Estudiar el tema y contestar a las preguntas de control que se muestran ms
abajo
2. Realizar los laboratorios sealados en el tema, de forma individual o colectiva,
segn las fechas establecidas para los mismos.

Preguntas de Autocontrol:
1. Donde comienza la ejecucin de una aplicacin C#?
2. Cuando la ejecucin de una aplicacin finaliza?
3. Cuantas clases puede contener una aplicacin C#?
4. Cuantas mtodos Main puede contener una aplicacin C#?
5. Como se pueden leer las entradas de usuario desde teclado en una aplicacin C#?
6. En cual nombre de espacio se encuentra la clase Console?
7. Que sucede si una aplicacin C# causa una excepcin que no es capturada?

UNIDAD 2: USO DE VARIABLES TIPO VALOR


A* Objetivos*
1. Describir los tipos de variables que pueden ser utilizadas en una aplicacin C#.
2. Nombrar variables acorde a la convencin estndar de nombres en C#.
3. Declarar variables utilizando tipos de datos primitivos
4. Asignar valores a variables.
5. Convertir variables de un tipo a otro tipo.
6. Crear y utilizar tipos de datos propios

Documentacin Acadmica revisada 4


B* Actividades de aprendizaje
1) Estudiar el tema y contestar a las preguntas de control que se muestran ms abajo
2) Realizar los laboratorios sealados en el tema, de forma individual o colectiva,
segn las fechas establecidas para los mismos.

Preguntas de Autocontrol:
1. Que es el Sistema de Tipos Comunes (CTS)?
2. Puede un Dato de Tipo de Valor ser null?
3. Se puede no inicializar variables en C#? Por qu?
4. Puede haber perdida de precisin en un resultado debido a una conversin
implcita?

UNIDAD 3: SENTENCIAS de CONTROL de FLUJO y EXCEPCIONES


A* Objetivos*
1. Describir los diferentes tipos de sentencias de control.
2. Utilizar sentencias de salto.
3. Utilizar sentencias de seleccin.
4. Utilizar sentencias de iteracin.
5. Manipular y lanzar excepciones

B* Actividades de aprendizaje
1) Debe estudiar el tema y a continuacin pasar a contestar las preguntas de control
que se relacionan ms abajo.
2) Debe realizar los laboratorios sealados en el tema, de forma individual o
colectiva, segn las fechas establecidas para los mismos.
.
Preguntas de Autocontrol:
1. Escriba una sentencia if que analice si una variable de tipo int denominada hour
es mayor o igual que cero y menor de 24. En caso contrario devolver la variable
hour como cero.
2. Escriba una sentencia do while, donde en el cuerpo de la misma se lea un valor
entero de la consola y se almacene en una variable de tipo int denominada hour.
Escriba el bucle de forma que termine solo cuando la variable hour tenga un valor
entre 1 y 23 (inclusive).
3. Escriba una sentencia for que rena todas las condiciones de la pregunta anterior
y que solo permita cinco intentos para la entrada de un valor vlido de la variable
hour. No utilice sentencias break o continue.
4. Reescriba el cdigo de la pregunta 3, pero esta vez utilice una sentencia break.
5. Escriba una sentencia que lance una excepcin del tipo
ArgumentOutOfRangeException si la variable percent es menor que cero y
mayor que 100.
6. El cdigo que sigue lee de un archivo utilizando el recurso StreamReader. El
mismo cierra el recurso StreamReader invocando el mtodo Close. Explique por
qu el cdigo no es una excepcin segura y pierde el recurso cuando se lanza la
excepcin. Utilice un bloque try finally para arreglar el problema.
File source = new File("code.cs");
StreamReader reader = source.OpenText( );
//... Use reader
reader.Close( );

Documentacin Acadmica revisada 5


UNIDAD 4: MTODOS y PARMETROS.
A* Objetivos*
1. Crear mtodos estticos que acepten parmetros y retornen valores.
2. Pasar parmetros a los mtodos de diferentes maneras.
3. Declarar y utilizar mtodos sobrecargados

B* Actividades de aprendizaje
1) Debe estudiar el tema y a continuacin pasar a contestar las preguntas de control
que se relacionan ms abajo.
2) Debe realizar los laboratorios sealados en el tema, de forma individual o
colectiva, segn las fechas establecidas para los mismos.

Preguntas de Autocontrol:
1. Explique que son los mtodos y por qu son importantes?
2. Diga tres formas en las cuales los datos pueden ser pasados como parmetros y
cules son las palabras claves (keywords) asociadas en C# para ello.
3. Cundo las variables locales son creadas y eliminadas?
4. Qu palabra clave (keyword) debe ser aadida a la definicin de un mtodo si el
mtodo necesita ser invocado desde otra Clase?
5. Qu partes de un mtodo constituyen la firma del mismo?
6. Defina la firma de un mtodo esttico denominado Rotate que no retorna ningn
valor pero debe rotar a la derecha sus tres parmetros de tipos entero.

UNIDAD 5: ARREGLOS.
A* Objetivos*
1. Crear, inicializar y utilizar arreglos de dimensiones variables.
2. Utilizar argumentos en el command-line en un programa C#.
3. Entender la relacin entre una variable tipo arreglo y una instancia de un arreglo.
4. Utilizar arreglos como parmetros de mtodos.
5. Retornar arreglos de un mtodo

B* Actividades de aprendizaje
1) Debe estudiar el tema y a continuacin pasar a contestar las preguntas de control
que se relacionan ms abajo.
2) Debe realizar los laboratorios sealados en el tema, de forma individual o
colectiva, segn las fechas establecidas para los mismos.

Preguntas de Autocontrol:
1. Declare un arreglo unidimensional de enteros denominado evens, e inicialcelo con
los primeros 5 nmeros pares comenzando desde cero.
2. Escriba una sentencia que declare una variable denominada crowd de tipo int e
inicialcela con el segundo elemento de evens. Recuerde que el segundo elemento
no tiene el ndice 2 porque los ndices de los arreglos no comienzan en 1.
3. Escriba dos sentencias. La primera declara un arreglo de una dimensin de enteros
denominado copy y la segunda asigna a copy el arreglo evens.
4. Escriba un mtodo esttico denominado Method que retorne un arreglo de dos
dimensiones de tipo entero y que no posea argumentos. El cuerpo del mtodo

Documentacin Acadmica revisada 6


contendr una sola sentencia return, que retornar un arreglo de dos dimensiones
(3, 5) creado en el mtodo con sus 15 elementos inicializados en el valor 42.
5. Escriba un mtodo esttico denominado Parameter que no contenga valor de
retorno y que recibe como nico argumento un arreglo de dos dimensiones. El
cuerpo del mtodo contendr dos sentencias WriteLine que escriban en la consola
cada dimensin de dicho arreglo.
6. Escriba una sentencia foreach que recorra a un arreglo unidimensional de cadenas
denominado names, y escriba cada nombre que ste contiene en la consola.

UNIDAD 6: PROGRAMACIN ORIENTADA a OBJETO POO.


A* Objetivos*
6.1 ESENCIA de la PROGRAMACIN ORIENTADA a OBJETO
1. Definir los trminos objeto y clase en el contexto de la programacin orientada a
objeto.
2. Definir los tres aspectos fundamentales de un objeto: identidad, estado y
comportamiento.
3. Describir la abstraccin y como la misma ayuda a crear clases reusables de fcil
mantenimiento..
4. Usar el encapsulamiento para combinar mtodos y datos en una clase.
5. Explicar los conceptos de herencia y polimorfismo.
6. Crear y utilizar clases en el lenguaje C#

6.2 HERENCIA en C#
1. Derivar una nueva clase de una clase base e invocar los miembros y constructores
de la clase base desde la clase derivada.
2. Declarar mtodos como virtual y override u ocultarlo cuando se requiera.
3. Impedir que de una clase puedan derivarse otras.
4. Implementar interfaces utilizando mtodos implcitos as como explcitos.
5. Describir el uso de clases abstractas y su implementacin de interfaces.

6.3 CREACIN y DESTRUCCIN de OBJETOS


1. Uso de constructores para la inicializacin de objetos
2. Sobrecarga de constructores que acepten distintos tipos de parmetros

6.4 PROPIEDADES E INDEXADORES


1. Crear propiedades para encapsular datos dentro de una clase.
2. Definir Indexadores para obtener acceso a una clase utilizando la notacin
parecida a la de los arreglos

B* Actividades de aprendizaje
1) Debe estudiar el tema y a continuacin pasar a contestar las preguntas de control
que se relacionan ms abajo.
2) Debe realizar los laboratorios sealados en el tema, de forma individual o
colectiva, segn las fechas establecidas para los mismos.

Preguntas de Autocontrol:
1. Explique el concepto de abstraccin y diga por qu es importante en la ingeniera
de software?
2. Cules son los dos principios del encapsulamiento?

Documentacin Acadmica revisada 7


3. Describa que es la herencia en el contexto de la Programacin Orientada a Objeto
POO.
4. Qu es el Polimorfismo? Cmo est relacionado con el enlace temprano y tardo?
5. Describa la diferencia entre interface, clase abstracta y clase concreta.
6. Declare una clase denominada Date con un constructor publico que espera tres
parmetros de tipo entero (int) llamados year, month, y day.
7. Generar el compilador un constructor implcito para la clase Date declarada en la
pregunta anterior. Qu pasa si Date fuera una estructura con los mismos tres
parmetros de tipo int en su constructor?
8. En un objeto cual mtodo invocar al colector de basura (garbage collector)
justo antes de reciclar el objeto de la memoria heap?. Declare una clase
denominada SourceFile que contenga dicho mtodo.
9. Qu es errneo en el siguiente fragmento de cdigo?
class Example
{
~Example( ) { }
protected void override Finalize( ) { }
}
10. Crear una clase denominada Widget que declare dos mtodos pblicos. Cree
ambos mtodos sin valor de retorno y que no contengan parmetros. De nombre
First al primero y declrelo como virtual. De nombre Second al Segundo y no lo
declare virtual, Cree una clase denominada FancyWidget que extienda a Widget,
prevaleciendo (overriding) al mtodo First heredado y que oculte el mtodo
Second heredado..
11. Cree una Interface denominada IWidget que declare dos mtodos pblicos. Cree
ambos mtodos sin valor de retorno y que no contengan parmetros. De nombre
First al primero y Second al Segundo. Cree una clase llamada Widget que
implemente IWidget, implemente First como virtual e implemente Second de
forma explcita.
12. Crear una clase abstracta denominada Widget que declare un mtodo abstracto
protegido llamado First que no tenga valor de retorno y sin parmetros. Cree una
clase denominada FancyWidget que extienda a la clase Widget y haga prevalecer
(overriding) al mtoso First heredado.
13. Cree una clase sellada (Class Sealed) denominada Widget que implemente la
interface IWidget creada en la pregunta 11. Cree Widget de forma que
implemente ambos mtodos de forma explcita.
14. Declare una clase denominada Font que contenga una propiedad de Solo-
Lectura denominada Name de tipo string.
15. Declare una clase denominada DialogBox que contenga una propiedad de lectura
y escritura denominada Caption de tipo string.
16. Declare una clase denominada MutableString que contenga un indexador de
lectura y escritura de tipo char que espere un solo parmetro de tipo int.
17. Declare una clase denominada Graph que contenga un indexador de Solo-Lectura
de tipo double que espere un solo parmetro de tipo Point.

Documentacin Acadmica revisada 8


UNIDAD 7: USO de VARIABLES TIPO REFERENCIA
A* Objetivos*
1. Describir la importancia de la diferencia entre las variables tipo referencia y
valor.
2. Utilizar los tipos comunes de referencia tal como string
3. Explicar cmo trabajan los objetos y llegar a familiarizarse con los mtodos que
estos suministran.
4. Describir los nombres de espacio comunes en el Framework .NET de
Microsoft.
5. Determinar cuando los diferentes tipos de datos y los objetos son compatibles.
6. Convertir los diferentes tipos de datos de referencia de forma explcita e
implcita.
7. Realizar conversiones boxing y unboxing entre los datos de tipo referencia y
valor.

B* Actividades de aprendizaje
1) Debe estudiar el tema y a continuacin pasar a contestar las preguntas de control
que se relacionan ms abajo.
2) Debe realizar los laboratorios sealados en el tema, de forma individual o
colectiva, segn las fechas establecidas para los mismos.

Preguntas de Autocontrol:
1. Explique cmo es colocada y quitada una variable de tipo referencia en la
memoria.
2. Qu valor especial indica que una variable de tipo referencia no contiene
ninguna referencia a un objeto? Qu pasa si se trata de acceder a una
variable referencia con este valor?
3. Liste las palabras claves que caracterizan a la Clase String.
4. De qu tipo es el tipo base de todas las clases?
5. Explique las diferencias entre el operador cast y el operador as cuando es
usado para la conversin entre referencias de clases.
6. Liste las formas en que se puede determinar el tipo de un objeto

Documentacin Acadmica revisada 9


SISTEMA DE EVALUACIN DE APRENDIZAJE DE LA ASIGNATURA
El sistema de evaluacin se describe a continuacin:
TIPO DE
NUM* OBJETIVOS A EVALUAR PUNTOS CLASE
EVALUACIN
Se evaluarn los
conceptos tericos y
prcticos mediante las
habilidades adquiridas en
1 Practica la codificacin de 15 7
sentencias selectivas e
iterativas, as como el
empleo de mtodos y las
variables tipo valor
Se evaluarn los
conceptos tericos y
prcticos mediante las
habilidades adquiridas en
2 Practica 20 12
la codificacin de
aplicaciones OO,
considerando los pilares
de la POO
Prueba integradora de
conocimientos (en el
examen final se tomara
todo el contenido
avanzado en la materia).
Examen
Practica Se evaluarn los 30 19
Final
conceptos y habilidades
adquiridas en la
codificacin en las PCs, en
todos los temas
desarrollados en clases
Se plantean tres trabajos
prcticos de:
Ejercicios de
Instrucciones y
Trabajos Escritos y
Excepciones. 15
prcticos prcticos
Ejercicios de Arreglos y
Clases
Ejercicios de Herencia

Caso de Exposicin Se evala el anlisis y 20 20


Estudio CE planteamiento de una
aplicacin en modo
consola con un men para
la lectura de datos, salvar
y leer datos de un archivo
as como mostrar
resultados en la consola.
La aplicacin estar

Documentacin Acadmica revisada 10


encaminada a una
problemtica donde se
empleen colecciones como
tema principal.
Debe incluir adems la
validacin de los datos de
entrada y la gestin
estructurada de
excepciones GEE

Descripcin de las caractersticas generales de las evaluaciones

EVALUACIN 1 Tema I: Introduccin al lenguaje C#.net


PRUEBA PARCIAL Tema II: Uso de variables tipo valor
Tema III: Instrucciones y Excepciones
Tema IV: Mtodos y Parmetros
Ponderacin: 15 %
EVALUACIN 2 Tema V: Arreglos y Colecciones
PRUEBA PARCIAL Tema VI: Fundamentos de la POO
Ponderacin: 20 %
EVALUACIN FINAL Temas I, al VI y adems:
Tema VII: Uso de variables Tipo Referencia
Tema VIII: Herencia
Tema IX: Construccin y Destruccin de Objetos
Ponderacin: 30 %
TRABAJOS Se presentaran 3 Trabajos de Clases TCs
PRCTICOS TC-1 Instrucciones y Excepciones
TC-2 Ejercicios de Clases y Arreglos
TC-3 Ejercicios de Herencia
Ponderacin: 15 %
PROYECTO Se presentara un proyecto final o Caso de Estudio de tema libre
segn los requerimientos entregados por el docente
El CE se discutir con el docente en aspectos de solucin (3
capas) planteada, presentacin, documentacin, funcionamiento y
validacin de la solucin en las PCs

VI. BIBLIOGRAFA RECOMENDADA

BSICA
Ttulo: INTRODUCTION TO C# PROGRAMMING FOR THE MICROSOFT .NET
PLATFORM Official Course MOC-2124A
Autor: Microsoft .
Editorial: Microsoft

COMPLEMENTARIA

Documentacin Acadmica revisada 11


Ttulo: MICROSOFT VISUAL C#. STEP by STEP
Autor: John Sharp & Jon Jagger
Editorial: Microsoft 2008.

Ttulo: MICROSOFT VISUAL STUDIO 2010


Autor: Ayuda Incorporada del Visual Studio para C#.NET
Editorial: Microsoft 2010

Ttulo: CURSO 98-361 FUNDAMENTOS DE DESARROLLO DE SOFTWARE


para la CERTIFICACION de MICROSOFT TECHNOLOGY ASSOCIATE
MTA
Autor: Microsoft
Editorial: Microsoft 2010

Ttulo: GUA LABORATORIOS DE DESARROLLO DE APLICACIONES - I


Autor: Ing. Jos Castro Medina Docente Utepsa
Editorial: UTEPSA (Folleto), Sta. Cruz De La Sierra /2010

GUA PARA EL PROYECTO FINAL

OBJETIVOS DEL TRABAJO FINAL:


El estudiante ser capaz de codificar problemas de mayor complejidad para aplicaciones
de consola en el lenguaje estudiado despus de haber estudiado los temas relativos a la
POO en trminos de aplicar conceptos avanzados, con la ayuda de las clase prcticas,
los trabajos de clase orientados y el apoyo de la bibliografa bsica y complementaria y
tomando en cuenta los requisitos de la codificacin en un lenguaje de alto nivel como se
orientan en la materia.

ESTRUCTURA DEL TRABAJO FINAL:


Se entregar la documentacin escrita del CE considerando:
Codificacin en el lenguaje de alto nivel estudiado del problema en especfico.
Utilizacin de una solucin en modo consola.
Diagramas UML de clases e interrelacin con la DB
Empleo de elementos de POO avanzada (Herencia, mtodos polimrficos, etc)
Funcionalidad de la aplicacin.
Manejo de errores y excepciones
Entrega de la documentacin de los casos en formato impreso y digital

Documentacin Acadmica revisada 12