Este repositorio contiene material suplementario al curso online de Programación Aplicada ACI2227.
Aquí encontrarás material para complementar tu aprendizaje y poner en práctica tus conocimientos obtenidos en la plataforma blackboard.
Estimad@s alumn@s,
Esperando que se encuentren bien les recuerdo que ya se encuentra disponible para rendir el Ejercicio n°1 de ACI2227EL Programación Aplicada. La evaluación estará disponible hasta el lunes 29 de agosto, hasta las 23:59 hrs.
A saber:
El Ejercicio n°1 es de tipo individual.
Cuenta con 1 intento de 120 minutos, desde que se da inicio a la evaluación.
La nota mínima de aprobación 4,0 se obtiene logrando el cumplimiento del 60% de este puntaje.
Los resultados de la evaluación junto con la revisión se liberarán una vez terminado el plazo de disponibilidad de la actividad.
Revise y guarde sus respuestas, antes de realizar el envío.
El Ejercicio n°2 es de tipo individual.
- Preguntas de Emparejamiento, elegir la palabra perdida, Verdadero o Falso, Desarrollo.
- Desarrollo:
--> Se pide subir identado un codigo en JAVA.
--> Se pide lineas para solucionar problemas en Python
-->Fase de requerimiento, análisis y diseño
Además tener en cuenta que existe este material adicional a su aprendizaje, el cual tambien deben considerar para rendir su evaluación ya que podrían tener preguntas relacionadas.
Link de la grabación lo encuentran tablero de discusión, en anuncios del Profesor en Blackboard.
Ya has aprendido el modelo cascada o waterfall model, el cual tiene etapas como Análisis
, Diseño
, Codificación
, Ejecución
, Verificación
y Mantenimiento y Documentación
.
Este es un modelo clásico que tiene ventajas y desventajas
Ventajas | Desventajas |
---|---|
Lleva un orden del trabajo a realizar. | Para proyectos grandes o complejos, puede que sea más difícil dividirlo en fases ordenadas, por lo que este modelo puede no ser el más adecuado. |
Útil para comenzar en programación | Al ser una forma de trabajo lineal, no se puede pasar a la etapa siguiente hasta que completes la anterior. |
Funciona de manera óptima en la mayoría de los dispositivos. | En ocasiones, los fallos no se detectan hasta la última fase del desarrollo por lo que se regresa a las fases anteriores |
Ayuda a tener claridad en los objetivos desde el comienzo del proyecto ya que es sencillo y fácil de seguir. | No es eficiente para subdividir procesos y trabajar en equipo para proyectos mas complejos |
Al encontrar un problema, se puede fácilmente detectar la fase en la que surgió y así arreglarlo. |
Existen otras metodologías como : Agile, desarrollo por etapas, desarrollo concurrente, modelo en espiral, entre otros. Te recomiendo buscar más información sobre AGILE.
Agile es una forma más flexible y eficiente de desarrollar o enfocarse en el desarrollo del producto. El significado de Agile (ágil) es la capacidad de moverse rápida y fácilmente.
- Agile es un enfoque incremental e iterativo
- Agile separa un proyecto en sprints
- Agile ayuda a completar muchos proyectos pequeños,
- Agile trabaja bajo una mentalidad de producto con un enfoque en la satisfacción del cliente. En tanto, la metodología Waterfall se desarrolla con un enfoque en la entrega exitosa del proyecto.
Buscar sobre SCRUM para complementar.
Para comenzar a practicar, te recomendo realizar una cuenta en google colaboratory solo necesitas tener un correo gmail.
2.0 Introducción google colab, puedes ver este [video](https://www.youtube.com/watch?v=8VFYs3Ot_aA
3.0 Introducción a Jupyter Notebooks
4.0 ¿Qué es GitHub?
5.0 Tutorial OPCIONAL de instalación de por si quieres tener instlado Python de forma local: Anaconda
6.0 Pack Studiantes Registrar con su cuenta .edu
1.0 Complementa tu aprendizaje con estas slides y jupyter notebook para practicar en Python:
2.0 Material Suplementario: Tutorial de diagramas de Clases con UML
: Con esta aplicación puedes realizar hasta 3 proyectos gratuitos de UML
Si necesitas instalar NetBeans, puedes ver el video
EJEMPLO1: con código, crear una clase en JAVA, instanciar un objeto y concepto de encapsulamiento
EJEMPLO2: con código, concepto de Herencia en JAVA.
EJEMPLO3: con código, concepto de polimorfismo en JAVA.
EJEMPLO4: con código, sobrecarga de métodos en Java.
EJEMPLO 5: con código, método constructor en JAVA:
Java proporciona la clase Graphics, que permite dibujar elipses, cuadrados, líneas, mostrar texto y también tiene muchos otros métodos de dibujo. Para cualquier programador, es esencial el entendimiento de la clase Graphics, antes de adentrarse en el dibujo en Java.
Si deseas profundizar en la Clase Graphics y sus métodos te esta pagina web, tiene ejemlpos y videos a esos ejemplos
Cuando el usuario de un programa o applet mueve el ratón, o hace un clic o usa el teclado, genera un Evento. En Java los eventos, como cualquier otra cosa, se representan como instancias u objetos de alguna clase. Para programar una interfaz gráfica es necesario aprender a utilizar los eventos. Un aspecto importante es conocer que hacen estos eventos, por lo que te recomiendo complementar tu estudio esta Unidad
Para crear FileFilter, utilice la clase FileNameExtensionFilter. El siguiente es un ejemplo para mostrar el tipo de archivo en JFileChooser
Ejemplo
import javax.swing.JFileChooser;
import javax.swing.filechooser.FileNameExtensionFilter;
public class SwingDemo {
public static void main(String[] args) {
JFileChooser file = new JFileChooser();
file.setAcceptAllFileFilterUsed(false);
FileNameExtensionFilter extFilter = new FileNameExtensionFilter("JPEG file", "jpg", "jpeg");
file.addChoosableFileFilter(extFilter);
file.showOpenDialog(null);
}
}
Salida
Requisitos: Instalar JAVA y netbeans
Para comenzar a practicar con Java Swing con netbeans les recomiedo hacer este mini curso:
1.0 JAVA Swing Para principiantes y complementar tips para mejorar el diseño como: