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 se esta actualizando a .NET 5
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.
El curso incluirá los siguientes temas de estudio :
Fundamentos
i. Introducción.
1. Presentación
ii. Introducción a .NET y Visual Studio
2. Introducción a .NET Framework
3. Introducción a Visual Studio
4. Práctica: Instalación de Visual Studio
5. SDK de .NET
6. Creación de proyectos con Visual Studio
7. Práctica: Analizando un proyecto de consola
iii. Introducción a los conceptos básicos de programación
8. Procesamiento y almacenamiento de datos informáticos
9. Hardware
10. Software
11. Ciclo de vida de la aplicación
12. Tipos de aplicación
13. Práctica: Tipos de aplicación
14. Compilación de código
15. Práctica: Compilación
16. Resumen
iv. Conceptos básicos del lenguaje de programación
17. Introducción
18. Sintaxis
19. Práctica: Sintaxis
20. Tipos de datos
21. Variables y constantes
22. Práctica: Tipos, variables y constantes
23. Resumen
v. Flujo de programa
24. Introducción a los conceptos de programación estructurada
25. Introducción a la ramificación
26. Funciones
27. Practica: Aplicando programación estructurada
vi. Algoritmos y estructuras de datos
28. Algoritmos
29. Estructura de datos
30. Práctica. Matrices.
31. Práctica. Colas y pilas.
32. Practica. Listas
33. Práctica. Otras colecciones.
vii. Manejo de errores y depuración
34. Introducción a los errores del programa
35. Introducción al manejo estructurado de errores
36. Práctica. Depuración con Visual Studio.
37. Práctica. Try Catch Finally.
viii. Introducción a la programación orientada a objetos
38. Introducción a estructuras y clases.
39. Clases
40. Encapsulación
41. Herencia
42. Práctica. Clases, encapsulación y herencia
43. Práctica. Clases, encapsulación y herencia. Continuación
44. Polimorfismo
45. Vistazo a la biblioteca de clases base de .NET
ix. Programación Entrada/Salida fundamental
46. Uso de la E/S de la consola
47. Práctica. Usando E/S en consola
48. Usando E/S en archivos
x. Rendimiento de aplicaciones y gestión de memoria
49. Tipos de valor vs tipos de referencia
50. Tipos de conversión - Implícitas
51. Tipos de conversión – Explícitas
52. Tipos de conversión – System.Convert
53. El recolector de elementos no utilizados
INTERMEDIO-AVANZADO
xi. Implementando multiprocesamiento y procesamiento asíncrono
54. Usando Delegados y Lambda fácilmente
55. Entendiendo hilos (Threads)
56. Usando la clase Thread
57. Usando la clase Thread - ParameterizedThreadStart
58. Usando la clase Thread – ThreadStatic
59. Usando la clase Thread – ThreadLocal
60. Usando ThreadPool
61. Usando Tareas
62. Usando Tareas – ContinueWith
63. Usando Tareas – TaskFactory
64. Usando Tareas - WaitAll
65. Usando la clase PARALLEL
66. Usando ASYNC y AWAIT
67. Usando ASYNC y AWAIT – Ecalabilidad
68. Usando ASYNC y AWAIT - SynchronizationContext
69. Usando Parallel Language Integrated Query (PLINQ)
70. Usando colecciones concurrentes
xii. Administrando subprocesos múltiples (multithreading)
71. Objetivo de la sección.
72. Sincronizando recursos
73. La clase Volatile
74. La clase Interlocked
75. Cancelando tareas
xiii. Crear e implementar eventos (EVENTS) y devoluciones de llamada (CALLBACK).
76. Objetivo de la sección.
77. Entendiendo delegados (DELEGATES)
78. Usando expresiones LAMBDA
79. Usando eventos (EVENTS)
xiv. Usando Tipos en modo avanzado
80. Objetivo de la sección.
81. Creando enumeraciones
82. Usando tipos genéricos (GENERICS)
83. Extendiendo tipos existentes
84. Usando tipos dinámicos
xv. Programación orientada a objetos avanzada
85. Objetivo de la sección.
86. Diseñando e implementando interfaces
87. Creando y Usando clases base
88. Práctica: Interfaces y Clases Base
89. Clases base abstractas y selladas
90. Principio de sustitución de Liskov
91. Implementando interfaces estándar de .NET
92. Práctica: Usando IDisposable.
xvi. Utilizando Reflection
93. Aplicando atributos (Actualizando...)
94. Leyendo atributos (Actualizando...)
95. Usando atributos personalizados (Actualizando...)
96. Usando Reflection (Actualizando...)
97. Usando CodeDOM y expresiones Lambda para generar código (Actualizando...)
xvii. STRINGS avanzado.
98. Usando StringBuilder(Actualizando...)
99. StringWriter y StringReader(Actualizando...)
xviii. Validando la entrada de aplicación
100. ¿Por qué es importante validar las entradas de una aplicación?(Actualizando...)
101. Usando Parse, TryParse y Convert(Actualizando...)
102. Usando Expresiones Regulares(Actualizando...)
103. Validando JSON y XML(Actualizando...)
xix. Ejecutando encriptación simétrica y asimétrica
104. Entendiendo la encriptación simétrica y asimpetrica(Actualizando...)
105. Trabajando con encriptación en el framework de .NET(Actualizando...)
106. Usando Hashing(Actualizando...)
107. Administrando y creando certificados.(Actualizando...)
108. Usando CODE ACCESS SECURITY(Actualizando...)
109. Usando SecureString(Actualizando...)
xx. Administrando ensamblados (ASSEMBLIES)
110. ¿Qué es un ensamblado?(Actualizando...)
111. Firmando ensamblados usando STRONG NAME(Actualizando...)
112. El Global Assembly Cache (GAC)(Actualizando...)
113. Versionando ensamblados(Actualizando...)
xxi. Depuración (DEBUG) avanzada
114. Configurando BUILD(Actualizando...)
115. Crear y administrando directivas de compilación(Actualizando...)
116. Administrando el program database (PDB) file (Actualizando...)
xxii. Implementando el diagnóstico en una aplicación.
117. LOGIN y TRACING(Actualizando...)
118. Perfilando tu aplicación(Actualizando...)
119. Creando y monitoreando contadores de rendimiento.(Actualizando...)
120. Escribir en el registro de eventos.(Actualizando...)
xxiii. Entrada/Salida avanzada
121. Comunicándonos sobre la RED.(Actualizando...)
122. Implementando E/S asíncrona(Actualizando...)
xxiv. Consumiendo datos
123. Trabajando con base de datos(Actualizando...)
124. Conectando a una base de datos(Actualizando...)
125. Leyendo datos(Actualizando...)
126. Actualizando datos(Actualizando...)
127. Usando parámetros(Actualizando...)
128. Usando transacciones(Actualizando...)
129. Usando WEB SERVICE(Actualizando...)
130. Consumiendo XML(Actualizando...)
131. Consumiendo JSON(Actualizando...)
xxv. Consultando y manipulando datos y objetos usando LINQ
132. Conceptos LINQ: Explicit Typing(Actualizando...)
133. Conceptos LINQ: Sintaxis de inicialización de objetos(Actualizando...)
134. Conceptos LINQ: Expresiones LAMBDA(Actualizando...)
135. Conceptos LINQ: Métodos de extensión(Actualizando...)
136. Conceptos LINQ: Tipos anónimos(Actualizando...)
137. Usando queries LINQ(Actualizando...)
138. Operadores estándar de LINQ(Actualizando...)
139. ¿Cómo funciona LINQ?(Actualizando...)
140. Usando LINQ para XML(Actualizando...)
xxvi. Serializar y deserializar datos
141. Usando serialización y deserialización(Actualizando...)
142. Usando XmlSerializer(Actualizando...)
143. Usando serialización binaria(Actualizando...)
144. Usando DataContract(Actualizando...)
145. Usando JSON Serializer(Actualizando...)
TOMAR ESTE CURSO