¿Sabías que C# es uno de los lenguajes más usados en el mundo empresarial? ¿Querés adquirir un conocimiento que puede ayudarte a ganar más de 80000 dolares al año?
Entonces este curso es para ti...
C# PRÁCTICO PARA PRINCIPIANTES es un Curso para Iniciados 100% práctico en donde aprenderás a trabajar con los fundamentos de C# desde la práctica, escribiendo pequeños juegos de escritorio, APIs y hasta dos aplicaciones web MVC y Blazor.
Este curso debe ser pensado como un laboratorio: la idea es que puedas sumar una buena cantidad de horas de práctica en C# a través del diseño y la implementación de 15 proyectos, ya que está demostrado que la mejor manera de asimilar el conocimiento es a través de la práctica y la experimentación.
Si no sabes NADA de C#, te recomiendo tomar primero mi curso "Aprende C# desde Cero" en donde explico a detalles los fundamentos de C# más desde la teoría aunque también con algunos proyectos prácticos. En este curso práctico de C# vamos a saltar directamente a la acción y a escribir código desde las primeras lecciones. Si ya sabés algo de C# o te sientes cómodo aprendiendo directamente con proyectos, entonces este curso funcionará también para ti porque aquí explico absolutamente todo lo que hago y no omito ningún detalle.
Pero este curso no es tan sólo acerca de los fundamentos de C#: conforme avances también aprenderás sobre buenas prácticas, código limpio y arquitectura de aplicaciones del mundo real. Además aprenderás a construir proyectos completos, con sus distintas formas de acceso a datos, capas de servicios y presentación; y en los últimos tres proyectos conectarás una aplicación web con una base de datos SQL.
La intención es que además de aprender C#, tengas una idea muy concreta de qué es trabajar con aplicaciones .NET y que además tengas un vistazo general de algunas de las opciones que tienes cuando se trata de trabajar con C# y .NET.
Este curso no depende de la versión actual de .NET y puede ser realizado para aprender C# en cualquier versión del framework. Los proyectos han sido escritos en .NET 6 pero han sido pensados y diseñados para funcionar con cualquier versión futura del framework ya que trabajan sobre los conceptos fundamentales del lenguajes. Lo que vemos aplicado en el curso no está afectado en lo más mínimo por la versión del framework.
Estos son los proyectos que encontrarás en el curso:
Piedra Papel o Tijera
Sencilla aplicación de consola para adentrarnos de a poco en el mundo C#. El usuario tendrá que elegir una opción y luego aleatoriamente la aplicación eligirá otra. Además la aplicación tiene que identificar quién ganó y mostrarlo por pantalla.
Adivina el número
Otra aplicación de consola pero esta vez con un poco más de funcionalidad. El usuario tiene que intentar adivinar cual es el número que la aplicación ha calculado aleatoriamente dentro de un rango de números. Cada vez que el usuario no acierte, la aplicación tiene que dar una pista al usuario para que pueda acercarse al número.
Además, el juego debe mantener un registro de todos los intentos y también mostrar quién lo logró en la menor cantidad de intentos.
Juego de Preguntas
El último juego de consola antes de pasar a las aplicaciones de escritorio. Aquí el usuario será presentado con una serie de preguntas, cada una de las cuales tendrá una lista de opciones en donde sólo una es la correcta. El juego debe mostrar nombre de usuario y puntuación según la cantidad de respuestas correctas, y además deberá mostrar una lista de usuarios y puntajes al finalizar. Este será el primer proyecto en donde aplicaremos la programación orientada a objetos y resolveremos el problema utilizando abstracción.
Administrador de Archivos
La primera aplicación de escritorio del curso, consistirá en un manejador de archivos de propósito general en donde aprenderás a trabajar con archivos, directorios y objetos del sistema operativo. Implementarás funcionalidad para crear, copiar y mover directorios, subdirectorios y archivos, y además para crear, leer, escribir y actualizar el contenido de los archivos. Una vez terminado este proyecto, sabrás prácticamente todo lo que hay que saber sobre trabajar con archivos.
Qué hora es en...
En esta aplicación implementaremos un reloj que muestre la hora local y se actualice segundo a segundo. El reloj tendrá un estilo moderno y será similar al popular reloj digital que encuentras en internet. Además de la hora local, implementaremos la hora en tres zonas horarias diferentes, todas actualizándose en tiempo real. Aquí aprenderás a trabajar con los distintos elementos del tipo de datos DateTime (fecha y hora), y además con la cultura de ese tipo de datos y con la misma fecha aplicada a diversas zonas horarias.
Conversor de Unidades
En este aplicación de escritorio implementaremos el famoso conversor de unidades que siempre se recomienda para practicar los fundamentos de cualquier lenguaje de programación.
Aplicaremos lo que ya sabemos en cuanto a estructuras de control y usaremos una en particular para convertir valores de Tiempo, Masa y Temperatura. En los recursos del proyecto están todas las fórmulas así que ¡sólo tendrás que preocuparte por el código! Además, este es el proyecto perfecto para adelantarte al instructor e intentar resolver algunas de las conversiones por ti mismo.
Juego de la Memoria
El clásico y popular juego de la memoria también puede ser implementado en C#. Lo interesante es que en este proyecto aprenderás a trabajar con los "recursos de proyecto", una herramienta importante en toda aplicación .NET de escritorio a partir de la cual puedes trabajar con imágenes y archivos en general. Además, pondrás en práctica conceptos que aprendiste en proyectos anteriores cómo timers y la aplicación de ciertas estructuras de control.
Generador de Contraseñas
En este sencillo pero poderoso generador de contraseñas, el usuario podrá generar contraseñas con distintas variantes como mayúsculas, minúsculas, números y símbolos, además de elegir la cantidad de caractéres de la clave. Con lo aprendido hasta aquí en el curso, este proyecto es un gran ejemplo de otro ejercicio en el cual puedes adelantarte al instructor e intentar resolverlo con las herramientas que ya tienes.
Tarjetas Matemáticas (Flash Cards Math)
En esta aplicación de escritorio habrá un cálculo matemático aleatorio, junto con una serie de opciones y el usuario tendrá que elegir la respuesta correcta. Aquí pondremos en práctica todo lo que hemos aprendido hasta aquí e iremos al extremo cuando se trata de cálculos aleatorios, ya que todo será aleatorio: los operandos, la operación matemática y la posición de las opciones entre las cuales el usuario tiene que elegir.
Además, aquí comenzaremos a ver algunos conceptos un poco más avanzados como los métodos de extensión.
Ta Te Ti
No podía faltar en este curso el desarrollo del juego más popular entre quienes aprenden cualquier lenguaje de programación: el ta-te-ti. En esta implementación en C# aplicarás todos los conceptos ya vistos y estoy seguro de que podrás implementarlo por ti mismo sin tanta fricción llegado a este punto, ya que dispondrás de todos los conceptos necesarios.
Simón Dice
¿Alguna vez jugaste al Simón Dice? Es un juego en el cual el usuario tiene que prestar atención a una particular secuencia aleatoria que ejecuta la aplicación y luego debe repetirla de manera exacta.
Este es el último proyecto de escritorio del curso y servirá para afianzar las bases de los fundamentos de C# antes de saltar a aplicaciones web y a su estructura específica.
Utilizaremos recursos para agregar los sonidos que luego serán ejecutados cada vez que uno de los botones ya sea apretado por el usuario o por la aplicación.
API en Memoria - Gestor de Libros
Este es el primer proyecto web del curso, en donde aprenderás todo sobre APIs en general: desde la estructura de la solución hasta los verbos de las solicitudes HTTP. En este ejemplo particular implementarás un gestor de libros utilizando una base de datos en memoria con Entity Framework.
Es decir que, una vez terminado el proyecto, el usuario será capaz de agregar, actualizar, eliminar y listar libros a través de la API.
API SQL Server - Gestor de Libros
Ahora nos ponemos más serios y empezamos a trabajar con bases de datos. Ya que sabes lo que es una API porque lo aprendiste en el proyecto anterior, aquí trabajaremos sobre un acceso a datos más parecido a los del mundo real y haremos que la información persista en una base de datos relacional.
Aquí aprenderás a conectar aplicaciones .NET con bases de datos ya que aprenderás una manera de hacerlo que luego funcionará con cualquier base de datos.
Aplicación MVC - Gestor de Contactos
Las aplicaciones MVC son las aplicaciones web .NET más populares de la industria, y como parte de este curso conocerás su estructura, cómo funcionan, cómo se crean y cómo se implementan.
Como parte de este proyecto, implementarás un CRUD de Contactos que persistirá sus datos en una base de datos relacional SQL Server.
Aplicación Blazor - Gestor de Contactos
Blazor es la apuesta más reciente de Microsoft para poder ser un desarrollador Full Stack utilizando únicamente C#. Esto significa que no necesitarás utilizar React, Angular ni ningún framework de Javascript para crear una aplicación web robusta y completa.
En este proyecto utilizaremos la capa de acceso a datos que ya implementamos como parte de nuestra aplicación MVC, y nos centraremos en aprender qué es Blazor, cómo funciona, cuales son sus ventajas y por qué es tan interesante aprenderlo. Cuando llegues a este punto, ya podrás moverte con facilidad en aplicaciones .NET .
Cuando hayas terminado el curso, serás capaz de:
Trabajar en aplicaciones C# más complejas.
Entender los tipos de aplicaciones .NET que existen.
Explorar a detalle aplicaciones .NET que te interesen, como WebAPIs, MVC o Blazor.
Utilizar Dapper
Usar SQL Server
Escribir una API en .NET
Conectar aplicaciones .NET con bases de datos.
Consumir APIs con aplicaciones .NET
Tendrás suficiente código de ejemplo como para poder reutilizar en tus proyectos personales, crear un portfolio propio o también para usar a lo largo de tu carrera laboral con .NET.
Con todos estos proyectos realizados, ya podrás dejar de decir que conoces sólo los fundamentos de C# porque habrás abarcado una gran mayoría de las posibilidades que tienes a la hora de trabajar con .NET en general.
Así que... ¿Qué esperas? ¿Estás listo para convertirte en un Maestro en C#?