Get the coupon in the end of description.
Description
En este curso aprende a programar con C#, uno de los lenguajes de programación mas sencillos y a su vez robustos que existentes actualmente. Además C# cuenta con el respaldo de Microsoft al ser parte de .NET
NOTA: Este curso se actualiza constantemente y en este momento ya está actualizado a .NET 5 y .NET 6
También aprenderás de la mano con Visual Studio, uno de los IDE más potentes en la actualidad, que proporciona las mejores herramientas en su categoría para cualquier desarrollador. Además permite simplificar muchas tareas que en otros lenguajes y entornos de programación podría ser hasta tortuoso. Visual Studio nos permite desarrollar con un conjunto de herramientas completo, desde el diseño inicial hasta la implementación final.
Irás paso a paso conociendo desde cero el lenguaje y los conceptos de programación necesarios para convertirte en un buen programador, con bases sólidas y logrando posteriormente incluso penetrar en cualquier otro lenguaje o plataforma.
Si ya cuentas con las bases de programación, podrás brincarte los fundamentos y pasar directo a la acción, éste curso esta diseñado para iniciar en el nivel que te encuentras.
Tambien aprende a crear excelentes aplicaciones de escritorio con Windows Presentation Fundation (WPF), la mejor plataforma pra crear aplicaciónes llamativas sobre Windows.
El curso incluirá los siguientes temas de estudio :
Fundamentos
i. Introducción.
ii. Introducción a .NET y Visual Studio
Objetivo
Introducción a .NET Framework
Introducción a Visual Studio
Práctica: Instalación de Visual Studio
SDK de .NET
Creación de proyectos con Visual Studio
Práctica: Analizando un proyecto de consola
iii. Introducción a los conceptos básicos de programación
Lógica de programación
Procesamiento y almacenamiento de datos informáticos
Hardware
Software
Ciclo de vida de la aplicación
Tipos de aplicación
Práctica: Tipos de aplicación
Compilación de código
Práctica: Compilación
Resumen
iv. Conceptos básicos del lenguaje de programación
v. Flujo de programa
Introducción a los conceptos de programación estructurada
Introducción a la ramificación
Funciones
Practica: Aplicando programación estructurada
vi. Algoritmos y estructuras de datos
vii. Manejo de errores y depuración
Introducción a los errores del programa
Introducción al manejo estructurado de errores
Práctica. Depuración con Visual Studio.
Práctica. Try Catch Finally.
viii. Introducción a la programación orientada a objetos
Introducción a estructuras y clases.
Clases
Encapsulación
Herencia
Enumeraciones
Práctica. Clases, encapsulación y herencia
Práctica. Clases, encapsulación y herencia. Continuación
Polimorfismo
Vistazo a la biblioteca de clases base de .NET
Tipo Record
ix. Programación Entrada/Salida fundamental
x. Rendimiento de aplicaciones y gestión de memoria
Tipos de valor vs tipos de referencia
Tipos de conversión – Implícitas
Tipos de conversión – Explícitas
Tipos de conversión – System.Convert
El recolector de elementos no utilizados
INTERMEDIO-AVANZADO
xi. Implementando multiprocesamiento y procesamiento asíncrono
Usando Delegados y Lambda fácilmente
Entendiendo hilos (Threads)
Usando la clase Thread
Usando la clase Thread – ParameterizedThreadStart
Usando la clase Thread – ThreadStatic
Usando la clase Thread – ThreadLocal
Usando ThreadPool
Usando Tareas
Usando Tareas – ContinueWith
Usando Tareas – TaskFactory
Usando Tareas – WaitAll
Usando la clase PARALLEL
Usando ASYNC y AWAIT
Usando ASYNC y AWAIT – Ecalabilidad
Usando ASYNC y AWAIT – SynchronizationContext
Usando Parallel Language Integrated Query (PLINQ)
Usando colecciones concurrentes
xii. Administrando subprocesos múltiples (multithreading)
Objetivo de la sección.
Sincronizando recursos
La clase Volatile
La clase Interlocked
Cancelando tareas
xiii. Crear e implementar eventos (EVENTS) y devoluciones de llamada (CALLBACK).
xiv. Usando Tipos en modo avanzado
xv. Programación orientada a objetos avanzada
Objetivo de la sección.
Diseñando e implementando interfaces
Creando y Usando clases base
Práctica: Interfaces y Clases Base
Clases base abstractas y selladas
Principio de sustitución de Liskov
Implementando interfaces estándar de .NET
Práctica: Usando IDisposable.
xvi. Utilizando Reflection
Objetivo de la sección
Creando y usando atributos
Ejercicio: Usando atributos localmente
Usando Reflection
Usando CodeDOM y expresiones Lambda para generar código.
xvii. Usando Strings en modo avanzado.
xviii. Validando la entrada de aplicación
Objetivo
¿Por qué es importante validar las entradas de una aplicación?
Usando Parse, TryParse y Convert
Usando Expresiones Regulares
Validando JSON y XML
Ejercicio. Validando JSON
xix. Ejecutando encriptación simétrica y asimétrica
Objetivo
Usando encriptación simétrica y asimétrica
Trabajando con encriptación en .NET
Usando Hashing
Administrando y creando certificados.
Usando SecureString
xx. Administrando ensamblados (ASSEMBLIES)
xxi. Depuración (DEBUG) avanzada
Objetivo
Configuración de compilación
Crear y administrar directivas de compilación
Gestión de archivos PDB y símbolos
xxii. Implementando el diagnóstico en una aplicación.
xxiii. Entrada/Salida avanzada
Objetivo
Archivos – Usando Drives
Archivos – Usando Directorios
Archivos – Usando Archivos
Archivos – Usando Paths
El FILE SYSTEM no es solo para tí
Comunicándonos a través de la RED.
Implementando E/S asíncrona
xxiv. Consumiendo datos
Objetivo
¿Que es una base de datos?
Instalando Sql Server
Instalando Microsoft Sql Server Management Studio
Trabajando con base de datos – Conexión
Trabajando con base de datos – Consulta
Trabajando con base de datos – Actualización
Trabajando con base de datos – Parámetros
Trabajando con base de datos – Transacciones
Trabajando con base de datos – ORM – Entity Framework
Usando WEB SERVICE – WCF
Consumiendo XML
Consumiendo XML – Clases de .NET
Consumiendo JSON
xxv. Consultando y manipulando datos y objetos usando LINQ
Objetivo
Conceptos LINQ: Explicit Typing
Conceptos LINQ: Sintaxis de inicialización de objetos
Conceptos LINQ: Expresiones LAMBDA
Conceptos LINQ: Métodos de extensión
Conceptos LINQ: Tipos anónimos
Usando queries LINQ
Operadores estándar de LINQ
¿Cómo funciona LINQ?
Usando LINQ para XML
xxvi. Serializar y deserializar datos
WINDOWS PRESENTATION FUNDATION (WPF) PARA PRINCIPIANTES
xxvii. Introducción a WPF
Objetivo
Mi primer aplicación WPF
¿Qué es WPF?
XAML
Codigo subyacente
Controles
Layouts
Data binding
Gráficos y animación
Tipografía y texto
Personalización – Content Model
Personalización – Plantillas y Triggers
Personalización – Estilos
Personalización – Controles
xxviii. XAML
Objetivo
¿Qué es XAML?
Resumen de la sintaxis XAML
Caso y espacio en blanco en XAML
Extensiones de marcado
Convertidores de tipo
Elementos raíz XAML y espacios de nombres XAML
Prefijos personalizados y tipos personalizados en XAML
Eventos y código subyacente XAML
Elementos con nombre XAML
Propiedades adjuntas y eventos adjuntos
Tipos base y XAML
Seguridad XAML
Cargando XAML desde el código
xxix. Code Behind en WPF
Objetivo
¿Qué es Code Behind?
Requisitos de código subyacente, controlador de eventos y clase parcial en WPF
x: Código y Limitaciones del código en línea
xxx. WPF: Windows
Objetivo
La clase Window
Implementando Window
Abriendo una ventana
Ventana propietaria
Activación de una ventana
Cerrar una ventana
Resumen ciclo de vida de una ventana
Ubicación y tamaño de una ventana
Estado de una ventana
Apariencia de una ventana
xxxi WPF: Cuadros de diálogo.
Cuadros de mensaje
Cuadros de diálogo comunes
Cuadros de diálogo personalizados
Elementos de la interfaz de usuario que abren un cuadro de diálogo
Devolver un resultado