En este curso aprende a programar con C#, uno de los lenguajes de programacin mas sencillos y a su vez robustos que existentes actualmente. Adems C# cuenta con el respaldo de Microsoft al ser parte de .NETNOTA: Este curso se actualiza constantemente y en este momento ya est actualizado a .NET 5, .NET 6 y .NET 7Tambin aprenders de la mano con Visual Studio, uno de los IDE ms potentes en la actualidad, que proporciona las mejores herramientas en su categora para cualquier desarrollador. Adems permite simplificar muchas tareas que en otros lenguajes y entornos de programacin podra ser hasta tortuoso. Visual Studio nos permite desarrollar con un conjunto de herramientas completo, desde el diseo inicial hasta la implementacin final. Irs paso a paso conociendo desde cero el lenguaje y los conceptos de programacin necesarios para convertirte en un buen programador, con bases slidas y logrando posteriormente incluso penetrar en cualquier otro lenguaje o plataforma. Si ya cuentas con las bases de programacin, podrs brincarte los fundamentos y pasar directo a la accin, ste curso esta diseado para iniciar en el nivel que te encuentras. Tambien aprende a crear excelentes aplicaciones de escritorio con Windows Presentation Fundation (WPF), la mejor plataforma para crear aplicacines llamativas sobre Windows. El curso incluir los siguientes temas de estudio: Fundamentosi. Introduccin. Presentacinii. Introduccin a .NET y Visual StudioObjetivoIntroduccin a .NET FrameworkIntroduccin a Visual StudioPrctica: Instalacin de Visual StudioSDK de .NETCreacin de proyectos con Visual StudioPrctica: Analizando un proyecto de consolaiii. Introduccin a los conceptos bsicos de programacinLgica de programacinProcesamiento y almacenamiento de datos informticosHardwareSoftwareCiclo de vida de la aplicacinTipos de aplicacinPrctica: Tipos de aplicacinCompilacin de cdigoPrctica: CompilacinResumeniv. Conceptos bsicos del lenguaje de programacinIntroduccinSintaxisPrctica: SintaxisTipos de datosVariables y constantesPrctica: Tipos, variables y constantesResumenv. Flujo de programaIntroduccin a los conceptos de programacin estructuradaIntroduccin a la ramificacinFuncionesPractica: Aplicando programacin estructuradavi. Algoritmos y estructuras de datosAlgoritmosEstructura de datosPrctica. Matrices. Prctica. Colas y pilas. Practica. ListasPrctica. Otras colecciones. vii. Manejo de errores y depuracinIntroduccin a los errores del programaIntroduccin al manejo estructurado de erroresPrctica. Depuracin con Visual Studio. Prctica. Try Catch Finally. viii. Introduccin a la programacin orientada a objetosIntroduccin a estructuras y clases. ClasesEncapsulacinHerenciaEnumeracionesPrctica. Clases, encapsulacin y herenciaPrctica. Clases, encapsulacin y herencia. ContinuacinPolimorfismoVistazo a la biblioteca de clases base de .NETTipo Recordix. Programacin Entrada/Salida fundamentalUso de la E/S de la consolaPrctica. Usando E/S en consolaUsando E/S en archivosx. Rendimiento de aplicaciones y gestin de memoriaTipos de valor vs tipos de referenciaTipos de conversin - ImplcitasTipos de conversin ExplcitasTipos de conversin System. ConvertEl recolector de elementos no utilizadosINTERMEDIO-AVANZADOxi. Implementando multiprocesamiento y procesamiento asncronoUsando Delegados y Lambda fcilmenteEntendiendo hilos (Threads)Usando la clase ThreadUsando la clase Thread - ParameterizedThreadStartUsando la clase Thread ThreadStaticUsando la clase Thread ThreadLocalUsando ThreadPoolUsando TareasUsando Tareas ContinueWithUsando Tareas TaskFactoryUsando Tareas - WaitAllUsando la clase PARALLELUsando ASYNC y AWAITUsando ASYNC y AWAIT EcalabilidadUsando ASYNC y AWAIT - SynchronizationContextUsando Parallel Language Integrated Query (PLINQ)Usando colecciones concurrentesxii. Administrando subprocesos mltiples (multithreading)Objetivo de la seccin. Sincronizando recursosLa clase VolatileLa clase InterlockedCancelando tareasxiii. Crear e implementar eventos (EVENTS) y devoluciones de llamada (CALLBACK).Objetivo de la seccin. Entendiendo delegados (DELEGATES)Usando expresiones LAMBDAUsando eventos (EVENTS)xiv. Usando Tipos en modo avanzadoObjetivo de la seccin. Creando enumeracionesUsando tipos genricos (GENERICS)Extendiendo tipos existentesUsando tipos dinmicosxv. Programacin orientada a objetos avanzadaObjetivo de la seccin. Diseando e implementando interfacesCreando y Usando clases basePrctica: Interfaces y Clases BaseClases base abstractas y selladasPrincipio de sustitucin de LiskovImplementando interfaces estndar de .NETPrctica: Usando IDisposable. xvi. Utilizando ReflectionObjetivo de la seccinCreando y usando atributosEjercicio: Usando atributos localmenteUsando ReflectionUsando CodeDOM y expresiones Lambda para generar cdigo. xvii. Usando Strings en modo avanzado. Objetivo Usando strings en .NETManipulando StringsBuscando y enumerando StringsFormateando StringsEjercicio. Formateo de Stringsxviii. Validando la entrada de aplicacinObjetivoPor qu es importante validar las entradas de una aplicacin?Usando Parse, TryParse y ConvertUsando Expresiones