Programación 2 - ASP.NET Core with Razor Pages

Introducción

Este curso esta diseñado para que los alumnos aprendan e interioricen los conceptos básicos de la programación orientada a objetos, patrones de diseño y principios SOLID. Además, se busca que los alumnos adquieran habilidades en el desarrollo de aplicaciones web utilizando ASP.NET Core con Razor Pages.

Objetivos

  • Aprender los conceptos básicos de la programación orientada a objetos.
  • Conocer los principios SOLID y su aplicación en el desarrollo de software.
  • Uso de patrones de diseño y su aplicación en el desarrollo de software.
  • Diseño de aplicaciones utilizando UML.
  • Desarrollo de aplicaciones web utilizando ASP.NET Core MVC con Razor Pages.

Carga horaria

Semanas: (16)

Clases por semana: (2)

Clases totales: (32)

Horas por clase: (3)

Horas totales: (96)

Requerimientos de hardware y software

Software

  • Visual Studio 2022 Community Edition - IDE para el desarrollo de aplicaciones .NET.
  • .NET 8 SDK - SDK para el desarrollo de aplicaciones .NET.
  • SQL Server Express - Base de datos para el desarrollo de aplicaciones .NET.
  • Git - Sistema de control de versiones para el manejo de código fuente.
  • Windows 10+ - Sistema operativo preferido.

Hardware

  • Procesador: Intel Core i5 o superior.
  • Memoria RAM: 8 GB o superior.
  • Almacenamiento: 256 GB SSD o superior.

Contenidos

Clase 1: Arquitectura cliente-servidor e instalación de herramientas y configuración del entorno de desarrollo

Objetivos:

  • Instalar el nuevo entorno de desarrollo para C#
  • Presentar ASP.NET Core y .NET como plataforma
  • Repaso y profundizacion en arquitectura cliente-servidor

Temas de clase:

  • Conceptos básicos de la arquitectura cliente-servidor.
  • Ejercicios prácticos de arquitectura cliente-servidor, identificando funcionalidades que se ejecutan en el cliente y en el servidor.

Actividades:

  • Instalación de Visual Studio 2022 Community Edition.
  • Instalación del .NET 8 SDK.
  • Instalación de SQL Server Express.
  • Instalación de Git.
  • Creación de un proyecto ASP.NET Core con Razor Pages.

Clase 2: Repaso de programación I y conceptos fundamentales de framework .NET

Objetivos:

  • Introducción a la syntaxis de C#
  • Ejercitar algoritmia básica en C#

Temas de clase:

  • Introducción a los conceptos fundamentales de .NET.
  • C#: En consola.
  • C#: Sintaxis básica y estructuras de control.
  • Definición de variables y tipos de datos.
  • Visibilidad de variables y métodos.los conceptos.
  • Instrucciones de control: if, else, switch.
  • Instrucciones de ciclos: for, while, do-while.
  • Introducción a fundamentales de .NET.

Actividades:

  • Profesor codificando en vivo la syntaxis básica

Clase 3 y 4: Introducción a ASP.NET Core y Razor Pages

Objetivos:

  • Ejercitar algoritmia básica en C#
  • Recuperar el ritmo y nivel del final del primer semestre

Temas de clase:

  • Conversión de tipos de datos.
  • Arrays y Listas
  • Firma de funciones, sobrecarga de funciones,

Actividades

  • Rartido de 100 ejercicios del semestre anterior. Ahora resolver en C#

Clase 5 y 6: Algoritmia y mas repaso de programación I

Objetivos:

  • Introducción y familiarización con Razor Pages
  • Continuar ejercitando algoritmia básica con C#

Temas de clase:

Actividades:

  • Ejercicio básico de uso de formularios y validaciones

Clase 7 y 8: Intro a MVC

Objetivos:

  • Familiarización con MVC, separación de responsabilidades
  • Mantener el foco en algoritmia pero avanzando de a poco sobre Orientado a Objetos

Temas de clase:

  • Modelos, Controladoras, Vistas en C# MVC
  • Rutas, en C# MVC
  • Diferencias entre back-end y front-end

Actividades:

  • Implementar validaciones de datos de entrada
  • Utilizar diferentes controles web

Clase 9 y 10: Programación Orientada a Objetos

Objetivos:

  • Repaso de conceptos básicos de POO
  • Familiarización con visibilidad de propiedades y métodos
  • Introducción a relaciones de asociación y agregación

Temas de clase:

  • Métodos constructores, con y sin sobrecarga
  • Visibilidad de propiedades
  • Visibilidad de métodos

Actividades:

  • Creación de clases, métodos y propiedades con todas las visibilidades
  • Ejemplos prácticos de uso de propiedades y métodos con diferente visibilidad

Clase 11 y 12: Programación Orientada a Objetos II

Objetivos:

  • Introducción al diseño de diagramas UML
  • Comprender relaciones básicas entre clases

Temas de clase:

  • Diagramas UML
  • Relaciones entre clases en el diagrama UML
  • Patrón MVC en UML

Actividad:

  • Diagramas UML con varias clases
  • Diagrama UML de aplicación conocida

Clase 13 y 14: Programación Orientada a Objetos III

Objetivos:

  • Implementar diagramas UML en C#
  • Implementar relaciones de agregación y asociación en C#

Temas de clase:

  • Implementación de listas de objetos
  • Implementación de List OF
  • Implementación de Agregar, Obtener, Eliminar, Recorrer

Actividad:

  • Implementar dos clases con relación de agregación y métodos de colección
  • Implementar dos clases con relación de asociación y sus métodos correspondientes

Clase 15 y 16: ASP.NET Core MVC

Objetivos:

  • Aplicar conocimientos de POO con una orientación web
  • Controles de navegación mediante links y formularios
  • Explorar manejo de usuarios y sesiones que viene con MVC

Temas de clase:

  • Manejo de usuarios ofrecido por MVC
  • Uso de la POO dentro de un framework MVC
  • Formularios y los diferentes métodos HTTP
  • Respondiendo a requests con otros métodos HTTP

Actividad:

  • Sitio web de varias paginas con formulario de contacto

Clase 17 y 18: ORM Objet Relational Mapping

Materiales y recursos adicionales

Lecturas recomendadas

Herramientas y recursos en línea

Evaluación y acreditación

Evaluación

El profesor utilizará los siguientes criterios de evaluación y determinar el puntaje final del alumno:

  • Participación en clase y contribución a discusiones y actividades grupales.
  • Parciales. Se realizarán dos parciales. Semana 8, 7 de Octubre y Semana 16, 2 de Diciembre.
  • Obligatorios. Se realizarán dos obligatorios, con fechas de entrega la semana 11 y la semana 16.
  • El puntaje final será dado a conocer la semana siguiente a la última clase.

Acreditación

  • Menos de 70 puntos: Recursar.
  • Se aprueba si el puntaje final es 70 puntos o más. Tiene que dar examen final.
  • Se exonera si el puntaje final es de 85 puntos o más.