Tener experiencia con la programación en C, C++, Visual Basic, Java, y/o otros lenguajes de programación.
Estar familiarizados con la estrategia de Microsoft .NET
Estar familiarizados con .NET Framework
Los alumnos serán capaces de:
Enlistar los elementos principales de .NET Framework y explicar cómo C# se amolda en la Plataforma .NET.
Analizar la estructura básica de una aplicación C# y poder documentar, depurar, compilar y correr una aplicación sencilla.
Crear, nombrar, y asignar valores a las variables.
Usar instrucciones comunes para implementar el control de flujo, ciclado y manejo de excepciones.
Crear métodos (funciones y subrutinas) que puedan regresar a los valores y tomar parámetros.
Crear, iniciar y usar matrices.
Explicar los conceptos básicos y terminología de la programación orientada a objetos.
Usar objetos comunes y tipos de referencia.
Crear, iniciar y destruir objetos en una aplicación C#.
Construir nuevas clases de C# a partir de las clases existentes.
Crear clases de auto-contenido y marcos de trabajo en una aplicación C#.
Definir operadores, usar designados, y añadir especificaciones de eventos.
Implementar propiedades e indicadores.
Usar atributos personalizados y predefinidos.
Módulo 1: Panorama de Microsoft .NET Platform
Temario:
Introducción a .NET Platform.
Panorama de .NET Framework.
Beneficios de .NET Framework.
Componentes de .NET Framework.
Lenguajes en .NET Framework.
Al concluirel módulo
Los estudiantes serán capaces de:
Enlistar los principales elementos de .NET Framework y explicar como se amolda en .NET Platform.
Describir .NET Platform.
Enlistar los elementos principales de .NET Platform.
Explicar el soporte de lenguaje en .NET Framework.
Describir .NET Framework y sus componentes.
Módulo 2: Panorama de C#
Temario:
Estructura de un Programa C#.
Operaciones básicas Entrada/Salida (Input/Output).
Prácticas recomendadas.
Compilar, Ejecutar y Depurar.
Al concluirel módulo
Los estudiantes serán capaces de:
Explicar la estructura de un programa simple C#.
Usar la clase de Consola del Sistema de nombres de espacios para desempeñar las operaciones de entrada/salida (input/output).
Manejo de excepciones en un programa C#.
Generar documentos de Lenguaje de Marcado Extensible (XML) para una aplicación C#.
Compilar y correr un programa C#.
Usar el Depurador de Microsoft Visual Studio para rastrear la ejecución de un programa.
Módulo 3: Usar Variables de Tipos de Valores
Temario:
Sistemas de tipos comunes.
Nombrar variables.
Usar tipos de datos integrados.
Crear tipos de datos definidos por el usario.
Crear tipos de datos definidos por el usario.
Al concluirel módulo
Los estudiantes serán capaces de:
Describir los tipos de variables que el alumno puede usar en las aplicaciones C#.
Nombrar sus variables (del alumno) de acuerdo a las convenciones de nombres estándar C#.
Declarar variables al usar tipos de datos integrados.
Asignar valores a variables.
Convertir variables existentes de un tipo de datos a otro.
Crear y usar sus propios tipos de datos.
Módulo 4: Instrucciones y Excepciones
Temario:
Introducción a Instrucciones
Usar Instrucciones de Selección.
Usar Instrucciones de Iteración.
Manejo básico de Excepciones.
Crear Excepciones.
Al concluirel módulo
Los estudiantes serán capaces de:
Describir los diferentes tipos de instrucciones de control.
Usar instrucciones de salto.
Usar instrucciones de selección.
Usar instrucciones de iteración.
Manejar y crear excepciones.
Módulo 5: Métodos y Parámetros
Temario:
Usar Métodos.
Usar Parámetros.
Usar Métodos Sobrecargados.
Al concluirel módulo
Los estudiantes serán capaces de:
Crear métodos estáticos que puedan aceptar parámetros y devolver valores.
Pasar parámetros a métodos de diferentes maneras.
Declarar y usar métodos sobrecargados.
Módulo 6: Matrices
Temario:
Panorama de Matrices.
Crear Matrices.
Usar Matrices.
Al concluirel módulo
Crear, iniciar y usar matrices de distintos rangos.
Usar argumentos de línea de comandos en un programa C#.
Describir la relación entre variables de una matriz e instancias de una matriz.
Usar matrices como parámetros para los métodos.
Devolver matrices a partir de métodos.
Módulo 7: Lo esencial de la Programación Orientada a Objetos
Temario:
Clases y Objetos.
Usar Encapsulación.
Orientación de C# y del Objeto.
Definir Sistópicos Orientados a Objetos.
Al concluirel módulo
Los estudiantes serán capaces de:
Definir los términos objeto y clase en el contexto de la programación orientada a objetos.
Describir los tres aspectos principales de un objeto: identidad, estado y comportamiento.
Describir sinopsis y cómo ésta ayuda a crear clases re-usables las cuales son de fácil mantenimiento.
Usar la encapsulación para combinar métodos y datos en una sola clase y en un solo cumplimiento de abstracción.
Módulo 8: Uso de Variables de Tipos de Referencia
Temario:
Usar Variables de Tipos de Referencia.
Usar Tipos Comunes de Referencias.
La Herencia del Objeto.
Nombres de espacio en .NET Framework.
Conversiones de Datos.
Al concluirel módulo
Los estudiantes serán capaces de:
Describir las diferencias clave entre tipos de referencia y tipos de valores.
Usar los tipos comunes de referencia tales como una cadena.
Explicar como trabaja el tipo de objeto y familiarizarse con los métodos que suministra.
Describir los nombres de espacios comunes en .NET Framework.
Determinar si los distintos tipos y objetos son compatibles.
Convertir explícita e implícitamente tipos de datos entre los tipos de referencia.
Realizar conversiones boxing y unboxing entres los datos de valor y referencia.
Módulo 9: Creación y Destrucción de Objetos
Temario:
Usar Constructores.
Inicializar Datos.
Objetos y Memoria.
Gestión de Recursos.
Al concluirel módulo
Los estudiantes serán capaces de:
Usar constructores para inicializar objetos.
Crear constructores sobrecargados que puedan aceptar distintos parámetros.
Describir la duración de un objeto y que ocurre cuando es destruido.
Crear destructores y usar métodos de Finalización.
Módulo 10: Herencia en C#
Temario:
Derivar Clases.
Implementar Métodos.
Usar Clases Selladas.
Usar Interfaces.
Usar Clases de Abstractas.
Al concluirel módulo
Los estudiantes serán capaces de:
Derivar una nueva clase a partir de una clase base y llamar miembros y constructores de la clase base desde la clase derivada.
Declarar métodos como virtuales e invalidados u ocultarlos, como se requiera.
Sellar una clase de forma que no pueda derivarse nada de dicha clase.
Implementar interfaces usando ambos métodos, el implícito y el explícito.
Describir el uso de clases abstractas y su implementación de interfaces.
Módulo 11: Agregación, Nombres de espacios, y Ámbitos Avanzados
Temario:
Usar Clases, Métodos, y Datos Internos.
Usar Agregación.
Usar Nombres de espacios.
Usar Módulos y Ensamblajes.
Al concluirel módulo
Los estudiantes serán capaces de:
Usar accesos internos para permitir que las clases tengan acceso privilegiado unos con otros.
Usar la agregación para implementar patrones de mayor alcance tales como Fábricas.
Usar los nombres de espacios para organizar clases.
Crear módulos y ensamblajes simples.
Módulo 12: Operadores y Eventos
Temario:
Introducción a Operadores.
Sobrecarga de Operadores.
Crear y usar delegados.
Definir y usar Eventos
Al concluirel módulo
Los estudiantes serán capaces de:
Definir operadores para hacer más sencillo el uso de una clase o estructura.
Usar delegados para separar un método de llamada desde un método de implementación.
Añadir especificaciones de eventos a una clase para permitir clases de subscripción de modo que sean notificadas de los cambios en el estado del objeto.
Módulo 13: Propiedades e Indicadores
Temario:
Uso de Propiedades.
Uso de Indicadores.
Al concluirel módulo
Los estudiantes serán capaces de:
Crear propiedades para encapsular datos dentro de una clase.
Definir indicadores para tener acceso a clases usando notaciones como matrices.
Módulo 14: Atributos
Temario:
Panorama de Atributos.
Definir Atributos Personalizados.
Recuperar Valores de los Atributos.
Al concluirel módulo
Los estudiantes serán capaces de:
Usar atributos comunes predefinidos.
Crear atributos simples personalizados.
Consultar información de atributos durante el tiempo de ejecución.