CURSO MODALIDAD ANALISTA PROGRAMADOR Nivel Medio Presencial ORIENTACION Desarrollo de Videojuegos y Aplicaciones para Dispositivos Móviles CARGA HORARIA Dos horas Dos veces por semana/seminarios/talleres/eventos AÑO Primer Año REGIMEN DE DICTADO Cátedras Abiertas/ Talleres interactivos DOCENTES FUNDAMENTACION APELLIDO Y NOMBRE MGTER. ESTIGARRIBIA, OSCAR ALBERTO JONATHAN ESTIGARRIBIA INDICAR Cargo Profesores En esta asignatura se incorpora un conjunto de métodos, con el objetivo de resolver ejercicios de programación, tanto con lápiz y papel como en computador. Se incorpora el paradigma de programación (Estructurada y Objetos). Además tendrá la capacidad de revisar y corregir programas dados. Resolver diversos tipos de problemas comenzando por especificar su propia comprensión de la asignación, diseñar una solución, programar o integrar partes de código utilizando el ambiente de programación indicado, documentándola de acuerdo a buenas prácticas y realizar la verificación unitaria de lo realizado. Intercambiar artefactos de software asumiendo la obligación de interpretar y criticar o mejorar lo recibido OBJETIVOS INDICAR Conocer y manejar los paradigmas de programación estructurada, programación modular, programación orientada a objeto.
Introducir al alumno en el análisis de complejidad de los algoritmos, así como en el diseño e implementación de éstos con las técnicas y métodos más usados. Desarrollar habilidades en el uso de las técnicas de análisis y diseño de algoritmos computacionales. Analizar la eficiencia de diversos algoritmos para resolver una variedad de problemas, principalmente no numéricos. Enseñar al alumno a diseñar y analizar nuevos algoritmos. Aprender a programar en lenguaje Java. Contenidos conceptuales. CONTENIDO POR UNIDAD UNIDAD 1 Introducción a la programación Concepto de algoritmo, características. Resolución algorítmica de problemas. Razones para estudiar los algoritmos. Formas de representación: (diagramas de flujo, Pseudocódigo). Análisis del problema, Concepto de programa, Partes constitutivas, instrucciones y tipos de instrucciones. Elementos básicos de un programa, Estructuras fundamentales, variables, tipos, expresiones y asignaciones, entrada/salida, estructuras de control condicionales e iterativas, contadores, acumuladores decisión o selección, interruptores. Cabecera del programa o algoritmo, variables, declaración, constantes, variables carácter, comentarios. Resolución algorítmica de problemas UNIDAD 2 Estructuras de programas Concepto de programación estructurada, programación modular. Estructura secuencial, selectiva: alternativas simples, doble múltiple. Estructura repetitivas: mientras, repetir, desde, para. Decisiones anidadas, repetitivas. Concepto de sub algoritmos o sub programas, funciones,
subrutina. Declaración de funciones, invocación. Procedimiento y funciones: conceptos, declaración, invocación y diferencias. Ámbito de variables. Funciones y pasaje de parámetros, descomposición estructurada. Representación de datos de caracteres: juego de caracteres, cadena, operaciones. UNIDAD 3 Programación orientada a objetos Introducción a la POO, Objetos, Métodos, Propiedades, Clases, Herencia, Encapsulación, Polimorfismo. UNIDAD 4 El lenguaje Java Introducción, Que es Java?, Origen, Principales características, El entorno Java, JDK, Instalación, Compilador, Applets, Sintaxis, Definición de variables, Operadores y expresiones, Estructuras de control, IF Else, While, For, Do While, Break, Experto en Programación en Java, Continue, Clases, Trabajando con objetos, Inner Class, Algunas clases Java, Math, Integer, Random, Streams, aplicaciones básicas en Java, La primer aplicación. UNIDAD 5 Manejo del dato en memoria Representación de datos numéricos, rango, precisión y errores de redondeo. Estructura de datos (arrays), concepto, vectores, matrices. Operaciones con vectores: asignación, lectura, escritura, actualización. Algoritmos de búsqueda, ordenamiento Manejo de memoria en tiempo de ejecución, punteros y referencias, estructuras encadenadas, pilas, colas. UNIDAD 6 Estructuras de datos Conceptos Datos, Información, noción de archivo, registro, campo, estructura jerárquica. Organización secuencial, directa, secuencial indexada. Operaciones sobre archivos: creación, consulta, actualización, clasificación, reorganización, destrucción. UNIDAD 7 La interfaz gráfica AWT, Swing, Contenedores y componentes, Trabajando con ventanas, Eventos, Los Menús, Entorno integrado de desarrollo, Introducción a Eclipse, Instalación, Entorno de
desarrollo, Primer aplicación con Eclipse, Aplicaciones de escritorio, Desarrollo de aplicaciones, Errores y excepciones. UNIDAD 8 Bases de datos Introducción a las bases de datos relacionales. Modelo de datos. Ciclo de vida de una base de datos. Restricciones de integridad. Modelo Relacional. Definición de clave. Relaciones. Modelo Entidad / Relación. Entidades. Atributos. Dominios. Claves. Lenguaje SQL. MySQL. Instalación. Herramientas. MySQL GUI Tools. Entorno MySQL Query Browser. Tipo de datos. Creación de tablas. El uso de la base. Consultas. UNIDAD 9 Aplicaciones de escritorio avanzadas Análisis y etapas para el desarrollo de aplicaciones, programación en red. JDBC. Conexión a bases de datos MySQL. Desarrollo de aplicaciones. Aplicaciones Web. Servicios de Internet. Aplicaciones Web y Sitios Web. Componentes Web en una aplicación J2EE. Modelo de petición-respuesta de HTTP. Servlets. Ciclo de vida del servlet. JSP. Ciclo de vida de una página JSP. Java Server Faces. Desarrollo de aplicaciones web. Contenidos procedimentales. El docente para poder lograr los objetivos, utilizará guía de ejercicios prácticos, como material de estudio, Aula Virtual, video conferencia, libros. Los ejercicios prácticos se resolverán en computadora y en clase. Guía de ejercicios: 1 - Instalación de Java 2 - Instalación del editor Eclipse 3 - Pasos para crear un programa con Eclipse 4 - Objetivos del curso y nociones básicas indispensables 5 - Errores sintácticos y lógicos 6 - Estructura de programación secuencial 7 - Estructuras condicionales simples y compuestas 8 - Estructuras condicionales anidadas 9 - Condiciones compuestas con operadores lógicos 10 - Estructura repetitiva while
11 - Estructura repetitiva for 12 - Estructura repetitiva do while 13 - Cadenas de caracteres en Java 14 - Declaración de una clase y definición de objetos. 15 - Declaración de métodos. 16 - Estructura de datos tipo vector. 17 - Vector (Tamaño de un vector) 18 - Vectores paralelos 19 - Vectores (mayor y menor elemento) 20 - Vectores (ordenamiento 21 - Vectores (ordenamiento con vectores paralelos) 22 - Estructura de datos tipo matriz 23 - Matrices (cantidad de filas y columnas) 24 - Matrices y vectores paralelos 25 - Matrices irregulares 26 - Constructor de la clase 27 - Clase String 28 - Colaboración de clases 29 - Herencia 30 - Interfaces visuales (componentes Swing) 31 - Swing - JFrame 32 - Swing - JLabel 33 - Swing - JButton 34 - Swing - JTextField 35 - Swing - JTextArea 36 - Swing - JComboBox 37 - Swing - JMenuBar, JMenu, JMenuItem 38 - Swing - JCheckBox 39 - Swing - JRadioButton 40 - Estructuras dinámicas 41 - Estructuras dinámicas: Listas 42 - Estructuras dinámicas: Listas tipo Pila 43 - Estructuras dinámicas: Listas tipo Pila - Problema de aplicación 44 - Estructuras dinámicas: Listas tipo Cola 45 - Estructuras dinámicas: Listas tipo Cola - Problemas de aplicación 46 - Estructuras dinámicas: Listas genéricas 47 - Estructuras dinámicas: Listas genéricas ordenadas 48 - Estructuras dinámicas: Listas genéricas doblemente encadenadas 49 - Estructuras dinámicas: Listas genéricas circulares 50 - Recursividad: Conceptos básicos 51 - Recursividad: Problemas donde conviene aplicar la recursividad 52 - Estructuras dinámicas: Conceptos de árboles 53 - Estructuras dinámicas: Inserción de nodos y recorrido de un árbol binario
54 - Estructuras dinámicas: Implementación en Java de un árbol binario ordenado 55 - Plug-in WindowBuilder para crear interfaces visuales. 56 - Plug-in WindowBuilder problemas resueltos 57 - Clase Graphics y sus métodos 58 - Gráficos estadísticos 59 - JDBC con MySQL 60 - Alta y Consulta de una tabla de MySQL 61 - Baja y modificación de datos de una tabla de MySQL 62 - Instalación del "Eclipse IDE for Java EE Developers" y el servidor "Apache Tomcat" 63 - Servlet 64 - Recuperación de los datos de un formulario HTML en un servlet 65 - Llamada a servlet desde un hipervínculo (con y sin parámetros) 66 - Redireccionamiento a otro sitio o página desde un servlet Contenidos actitudinales El docente participa con los alumnos, motivándolo a resolver ejercicios prácticos, que despierten la creatividad, en relación con los temas dictados- ESTRATEGIA DE APRENDIZAJE La metodología planteada para el desarrollo del programa está fundamentada en el aprendizaje individual y grupal. La actividad del estudiante consiste en investigar, reflexionar, evaluar, sacar conclusiones y descubrir caminos. Modalidad de trabajo: Unidad I: Ejercicios prácticos (problemas de programación), serán resuelto con diagrama de flujo y pseudo código Unidad II AL IX: Ejercicios prácticos (problemas de programación), serán resueltos en computadoras con lenguaje Java. SISTEMA DE EVALUACION Para regularizar la materia: Deberá presentar todos los ejercicios prácticos propuesto, codificado, depurado en lenguaje Java, y aprobar parciales.
Para rendir Final: Deberá defender, y programar un problema planteado, teniendo en cuenta la integración de todos los ejercicios práctico propuesto.
CURSO MODALIDAD ANALISTA PROGRAMADOR Nivel Avanzado Presencial ORIENTACIÓN Desarrollo de Videojuegos y Aplicaciones para Dispositivos Móviles CARGA HORARIA Dos horas Dos veces por semana/seminarios/talleres/eventos AÑO Segundo Año REGIMEN DE DICTADO Cátedras Abiertas/ Talleres interactivos DOCENTES FUNDAMENTACION APELLIDO Y NOMBRE MGTER. ESTIGARRIBIA, OSCAR ALBERTO JONATHAN ESTIGARRIBIA INDICAR Cargo Profesores En esta asignatura se incorpora un conjunto de métodos, con el objetivo de resolver ejercicios de programación orientada a Objetos, utilizando como medio de programación, dispositivos móviles, con sistema operativo Android, o computadoras con emuladores Android. Además el alumno tendrá la capacidad de revisar y corregir programas dados. Resolver diversos tipos de problemas comenzando por especificar su propia comprensión de la asignación, diseñar una solución, programar o integrar partes de código utilizando el ambiente de programación indicado, documentándola de acuerdo a buenas prácticas y realizar la verificación unitaria de lo realizado. Intercambiar artefactos de software asumiendo la obligación de interpretar y criticar o mejorar lo recibido OBJETIVOS INDICAR Conocer y manejar los paradigmas de programación orientada a objeto. Introducir al alumno en el análisis de complejidad de los
algoritmos, así como en el diseño e implementación de éstos con las técnicas y métodos más usados. Desarrollar habilidades en el uso de las técnicas de análisis y diseño de algoritmos computacionales, e implementarlo en dispositivos móviles. Analizar la eficiencia de diversos algoritmos para resolver una variedad de problemas, principalmente no numéricos. Aprender a programar en un entorno Android Studio. Contenidos conceptuales. CONTENIDO POR UNIDAD Unidad 1. Android Studio Entorno de desarrollo Instalación de componentes, Emuladores,. Un ejemplo básico, Depuración en emulador y en hardware. Unidad 2. Anatomía de la aplicación Permisos, requerimientos hardware, librerías, manifest Recursos (string, colors, arrays, xml, etc). Referencia a recursos del sistema. Unidad 3. Interfaz de usuario Vistas, componentes y disposición. Tipos de componentes básicos. Barra de progreso. Opciones y menús contextuales Eventos. Estilos y temas. Layouts y animaciones Unidad 4 Interacción con el Móvil Almacenamiento de la información en BD y archivos. Debugging. LogCat. Conectividad con el exterior. HTTP. JSON. XML. Push. Geo-localización. Mapas. Hilos. Asynctask. Publicación de aplicaciones en Google Play Store. Servicios. Unidad 5 Listas personalizadas. Manejo de propiedades. Fragments. Notificaciones. Controles avanzados. Buenas prácticas. Frameworks y librerías.
Contenidos procedí mentales. El docente para poder lograr los objetivos, utilizará guía de ejercicios prácticos, como material de estudio, Aula Virtual, video conferencia, libros. Celulares con Sistema Operativo Android. Los ejercicios prácticos se resolverán en computadora con simulador, celulares, y en clase. Guía de ejercicios: 1 - Instalación de las herramientas necesarias para programar para Android Studio 2 - Pasos para crear el primer proyecto Android Studio 3 - Capturar el clic de un botón 4 - Controles RadioGroup y RadioButton 5 - Control CheckBox 6 - Control Spinner 7 - Control ListView (con una lista de String) 8 - Control ImageButton 9 - Notificaciones sencillas mediante la clase Toast 10 - Control EditText 11 - Lanzar un segundo "Activity" 12 - Lanzar un segundo "Activity" y pasar parámetros 13 - Almacenamiento de datos mediante la clase SharedPreferences 14 - Almacenamiento de datos en un archivo de texto en la memoria interna 15 - Almacenamiento de datos en un archivo de texto localizado en una tarjeta SD 16 - Almacenamiento en una base de datos SQLite 17 - Instalación del programa Android en un dispositivo real 18 - Layout (LinearLayout) 19 - Layout (TableLayout) 20 - Layout (FrameLayout) 21 - Layout (ScrollView y LinearLayout) 22 - Icono de la aplicación 23 - Reproducción de audio (archivo contenido en la aplicación) 24 - Reproducción, pausa, continuación y detención de un archivo de audio. 25 - Reproducción de audio (archivo contenido en una tarjeta SD) 26 - Reproducción de audio (archivo localizado en internet) 27 - Reproducción de audio utilizando el reproductor propio de Android (vía Intent) 28 - Grabación de audio mediante el grabador provisto por Android (via Intent) 29 - Captura de audio mediante la clase MediaRecorder 30 - Dibujar: graficar un píxel 31 - Dibujar: pintar fondo y dibujar líneas 32 - Dibujar: rectángulos
33 - Dibujar: círculos 34 - Dibujar: óvalos 35 - Dibujar: texto 36 - Dibujar: texto con fuentes externas 37 - Dibujar: texto sobre un camino 38 - Dibujar: una imagen 39 - Evento touch: dibujar un círculo 40 - Evento touch: juego del buscaminas 41 - Archivo strings.xml 42 - Internacionalización y archivo strings.xml 43 - Localización y archivo strings.xml 44 - Componente ActionBar (Básica) 45 - Componente ActionBar (Botones de acción) 46 - Componente ActionBar (Ocultarlo y mostrarlo) 47 - Componente ListView (con un ImageView y un TextView) 48 - Agregar y eliminar elementos de un ListView 49 - Componente ListView (grabar sus datos con la clase SharedPreferences) 50 - Tomar una foto y grabarla en un archivo (mediante Intent) 51 - Tomar un video y grabarlo en un archivo (mediante Intent) 52 - Componente ViewPager Contenidos actitudinales El docente participa con los alumnos, motivándolo a resolver ejercicios prácticos, que despierten la creatividad, en relación con los temas dictados- ESTRATEGIA DE APRENDIZAJE La metodología planteada para el desarrollo del programa está fundamentada en el aprendizaje individual y grupal. La actividad del estudiante consiste en investigar, reflexionar, evaluar, sacar conclusiones y descubrir caminos. Modalidad de trabajo: Unidad I AL V: Ejercicios prácticos (problemas de programación), serán resueltos en computadoras con lenguaje emuladores, o dispositivos Móviles con Sistema Operativo Android.
SISTEMA DE EVALUACION Para regularizar la materia: Deberá presentar todos los ejercicios prácticos propuesto, codificado, depurado en un entorno Android Studio, y aprobar parciales. Para rendir Final: Deberá defender, y programar un problema planteado, teniendo en cuenta la integración de todos los ejercicios práctico propuesto.