You are on page 1of 9

DEPARTAMENTO DE C OMPUTACIN ESCUELA DE D ISEO, INGENIERA Y ARQUITECTURA

MATERIA: CLAVE Y GRUPO: HORARIO: SALN: MODALIDAD DEL CURSO: PROFESOR:

SOLUCIN DE

PROBLEMAS CON PROGRAMACIN

Solucin de Problemas con Programacin. TC1017- Gpo 5


MaVi 8:30 a 10:00 Saln 6

Curso rediseado Tec Blackboard David Escrcega Oficial: descarcega@itesm.mx Personal: daescarcega@gmail.com Edificio: Q-CDTC, Campus CCM

CORREO ELECTRNICO:

UBICACIN: HORARIO DE ASESORA:

OBJETIVO GENERAL Al finalizar este curso el alumno ser capaz de aplicar la programacin estructurada para disear y programar algoritmos que den solucin a problemas que involucren un volumen grande de operaciones lgicas o aritmticas u operaciones cuya organizacin resulte ser de gran complejidad. Este es un curso de nivel bsico de computacin cuyo objetivo es desarrollar en el estudiante la lgica de programacin estructurada, habilidad que le permitir dar solucin a problemas formales, utilizando para ello el lenguaje de programacin C#. OBJETIVOS ESPECFICOS Al finalizar el curso el estudiante ser capaz de: Dado el planteamiento del problema adecuado, escribir un programa en el lenguaje de programacin C# que declare una o ms variables de algn tipo predefinido en este lenguaje e instanciar dichas variables. Plantear programas en el lenguaje de programacin C# que manipule valores constantes y variables usando para ello los operadores aritmticos de suma, resta, multiplicacin, divisin, mdulo y raz cuadrada. Estructurar un programa en el lenguaje de programacin C# que ejecute una accin seleccionada de entre un grupo de posibles acciones, y dicha seleccin se ejecutar a travs de una combinacin de clusulas if else y las clusulas if tendrn como argumentos expresiones que involucren los operadores lgicos de conjuncin &&, disyuncin ||, y los operadores de comparacin ==, <, <=, >, >=. Tambin podr determinar el alcance del cuerpo de ejecucin de un if o else a travs del uso de llaves {, }, para agrupar clusulas ejecutables.

Programacin y Estructura de datos

Crear programas en el lenguaje de programacin C# que refleje a travs del uso de funciones, la divisin del problema original en subproblemas ms elementales y las funciones implementadas tendrn un dialogo a travs de sus parmetros y valores de retorno. Solucionar problemas al crear programas en el lenguaje de programacin C# que implemente la repeticin de tareas que por su naturaleza requieran de dicha reiteracin. El alumno ser capaz de implementar la ejecucin de ciclos con la misma habilidad usando las intrucciones while o for, al igual que la recursividad. Escribir programas en el lenguaje de programacin C# que manipule arreglos para almacenar y acceder a valores y a familias de valores del mismo al igual que variables individuales tipo a travs de las direcciones de memoria de las celdas de los arreglos y de las variables definidas. Tambin podra almacenar y acceder a las direcciones de memoria de funciones para su manipulacin ejecucin. Escribir programa en el lenguaje de programacin C# que lea la informacin contenida en un archivo para despus modificarla y almacenarla en el mismo archivo o en otro archivo diferente. Crear interfaces grficas en C# para elaborar proyectos que incluyan una interaccin bsica con el usuario de su solucin.

COMPETENCIAS Al finalizar el curso el estudiante ser capaz de: Usar Tcnologas de Informacin Estructurar lgicamente soluciones a problemas (pensar algortmicamente) Desarrollar un proyecto en equipo

Estas competencias se desarrollarn a lo largo del semestre con el apoyo de actividades diseadas por la academia. CONTENIDO TEMTICO OFICIAL 1. Introduccin: 1.1 Definicin de algoritmo y programa 1.2 Creacin de un proyecto en C# 1.3. Para qu sirve el mtodo Main. 1.4. Los tipos bsicos, caracteres y enteros, y su representacin interna. 1.5. Funcin de impresin, Console.WriteLine( ) , para enteros y caracteres. 1.6. Funcin de lectura con formato, Console.ReadLine(), para enteros y caracteres. 1.7. El tipo float y el tipo double. Representacin interna. 1.8. Los tipos long, short y unsigned. Representacin interna. 1.9. Ejercicios selectos 2. Aritmtica 2.1. Asignacin, expresiones y operadores aritmticos, suma, resta, multiplicacin, divisin, mdulo. 2.2. Funciones matemticas con Math 2.3. Ejercicios selectos 3. Decisiones y operadores lgicos 3.1. Decisiones if. 3.2. Operadores de comparacin y operadores lgicos: >, <, >=, <=, ==, !, !=, &&, ||, 3.3. Operadores de agrupacin, parntesis, llaves. 3.4. Decisiones con alternativa if - else. 3.5. Anidacin de decisiones if - if - if ... else - else - else
Comit de Calidad Acadmica - CCM

Programacin y Estructura de datos

3.6. Concatenacin de decisiones if - else if - else if else 3.7 Estructura de decisin: switch

4. Introduccin a programacin orientada a objetos 4.1. Definicin de clases y objetos. 4.2. Creacin de objetos: Constructures, sin argumentos y con argumentos. 4.3. Definicin de mtodos, sus tipos y valores de retorno. 4.4. Instanciar o crear objetos y utilizar mtodos desde una instancia. 5. Control con repeticiones. 5.1. Ciclos while. Especificar que el centinela es una expresin numricamente evaluable. El ciclo infinito. 5.2. Ciclos for. Especificar que el contador es una expresin numricamente evaluable. El ciclo infinito. 5.3. Recursin como mecanismo de control. 5.4. Recursin con funciones que regresan void. 5.5. Recursin con funciones que regresan un valor que es diferente de void y que depende del nmero de llamadas (sumatoria, factorial, fibonacci, etc) 6. Arreglos 6.1. Definicin de arreglos unidimensionales. Inicializacin de arreglos dentro y fuera de su declaracin. 6.2. Manipulacin de arreglos de caracteres. 6.3. Arreglos multidimensionales. 6.4. Ejercicios avanzados con arreglos simples y matrices. 7. Interfaces de usuario 7.1. Elementos bsicos de interfaz grfica: cuadros de texto, etiquetas, botnes. 7.2. Eventos, interaccin usando btones. 7.3 Mtodos en C# para manejo de cadenas 8. Archivos 8.1. Clase: StreamWriter y StreamReader 8.2. Apertura y lectura de archivos de texto. 8.3. Apertura de archivos para extender. 9. Algoritmos en C# 9.1 Algoritmos de Bsqueda 9.2 Algoritmos de Ordenamiento RECURSOS DIDCTICOS LIBRO DE TEXTO MATERIAL DE APOYO

Deitel, P. J., Deitel, H., C# for programmers, Upper Saddle River, NJ: Prentice Hall, 2009.

Microsoft Visual Studio Head first C# Stellman, Andrew Beijing ; Sebastopol, Calif. : O'Reilly Media, c2008

Comit de Calidad Acadmica - CCM

Programacin y Estructura de datos

C# 2.0 : the complete reference Schildt, Herbert. New York : McGraw-Hill/Osborne, c2006. Programming C# Liberty, Jesse. Sebastopol, CA : O'Reilly, c2005.
PLATAFORMA TECNOLGICA Blackboard Correo electrnico

CALENDARIZACIN DE ACTIVIDADES DEL SEMESTRE POR SESIN FECHA 15 18 Enero TEMA Presentacin del curso 1. Introduccin: 1.1 Definicin de algoritmo y programa 1.2 Creacin de un proyecto en C# 1.3. Para qu sirve el mtodo Main. 1.4. Los tipos bsicos, caracteres y enteros, y su representacin interna. 1.5. Funcin de impresin, Console.WriteLine( ) , para enteros y caracteres. 1.6. Funcin de lectura con formato, Console.ReadLine(), para enteros y caracteres. 1.7. El tipo float y el tipo double. Representacin interna. 1.8. Los tipos long, short y unsigned. Representacin interna. 1.9. Ejercicios selectos RECURSO DIDCTICO Syllabus Material de clase ACTIVIDADES DE
APRENDIZAJE

Exposicin del profesor Lectura del estudiante

22 25 Enero

Material de clase ejercicios selectos

Exposicin del profesor Lectura del estudiante

Comit de Calidad Acadmica - CCM

Programacin y Estructura de datos

FECHA 29 1 Febrero

TEMA 2. Aritmtica 2.1. Asignacin, expresiones y operadores aritmticos, suma, resta, multiplicacin, divisin, mdulo. 2.2. Funciones matemticas con Math 2.3. Ejercicios selectos 3. Decisiones y operadores lgicos 3.1. Decisiones if. 3.2. Operadores de comparacin y operadores lgicos: >, <, >=, <=, ==, !, !=, &&, ||, 3.3. Operadores de agrupacin, parntesis, llaves. 3.4. Decisiones con alternativa if - else. 3.5. Anidacin de decisiones if - if - if ... else - else - else 3.6. Concatenacin de decisiones if - else if else if else 3.7 Estructura de decisin: switch Primer examen parcial y retroalimentacin 4. Introduccin a programacin orientada a objetos 4.1. Definicin de clases y objetos. 4.2. Creacin de objetos: Constructures, sin argumentos y con argumentos.

RECURSO DIDCTICO Material de clase ejercicios selectos y

ACTIVIDADES DE
APRENDIZAJE

Exposicin del profesor Lectura del estudiante

5 8 Febrero

Material de clase ejercicios selectos

Exposicin del profesor Lectura del estudiante

12 15 Febrero

Material de clase ejercicios selectos

Exposicin del profesor Lectura del estudiante

19 22 Febrero 26 1 Marzo

Examen parcial Material de clase ejercicios selectos y

Realizacin del examen parcial Exposicin del profesor Lectura del estudiante

Comit de Calidad Acadmica - CCM

Programacin y Estructura de datos

FECHA 5 8 Marzo

TEMA 4.3. Definicin de mtodos, sus tipos y valores de retorno. 4.4. Instanciar o crear objetos y utilizar mtodos desde una instancia. 5. Control con repeticiones. 5.1. Ciclos while. Especificar que el centinela es una expresin numricamente evaluable. El ciclo infinito. 5.2. Ciclos for. Especificar que el contador es una expresin numricamente evaluable. El ciclo infinito. 5.3. Recursin como mecanismo de control. 5.4. Recursin con funciones que regresan void. 5.5. Recursin con funciones que regresan un valor que es diferente de void y que depende del nmero de llamadas (sumatoria, factorial, fibonacci, etc) SEMANA SANTA 6. Arreglos 6.1. Definicin de arreglos unidimensionales. Inicializacin de arreglos dentro y fuera de su declaracin. 6.2. Manipulacin de arreglos de caracteres. Segundo examen parcial y retroalimentacin

RECURSO DIDCTICO Material de clase ejercicios selectos y

ACTIVIDADES DE
APRENDIZAJE

Exposicin del profesor Lectura del estudiante

12 15 Marzo

Material de clase ejercicios selectos

Exposicin del profesor Lectura del estudiante

19 22 Marzo

Material de clase ejercicios selectos

Exposicin del profesor Lectura del estudiante

16 29 Marzo 2 5 Abril

Material de clase ejercicios selectos

Exposicin del profesor Lectura del estudiante

9 12 Abril

Examen parcial

Realizacin del examen parcial

Comit de Calidad Acadmica - CCM

Programacin y Estructura de datos

FECHA 9 12 abril 16 19 Abril

TEMA Entrega del proyecto final a los alumnos 6.3. Arreglos multidimensionales. 6.4. Ejercicios avanzados con arreglos simples y matrices. 7. Interfaces de usuario 7.1. Elementos bsicos de interfaz grfica: cuadros de texto, etiquetas, botnes. 7.2. Eventos, interaccin usando btones. 7.3 Mtodos en C# para manejo de cadenas

RECURSO DIDCTICO

ACTIVIDADES DE
APRENDIZAJE

Material de clase ejercicios selectos

Exposicin del profesor Lectura del estudiante

23 26 Abril

Material de clase ejercicios selectos

Exposicin del profesor Lectura del estudiante

30 3 Mayo

Material de clase ejercicios selectos

Exposicin del profesor Lectura del estudiante

7 Mayo

8. Archivos Material de clase 8.1. Clase: ejercicios selectos StreamWriter y StreamReader 8.2. Apertura y lectura de archivos de texto. 8.3. Apertura de archivos para extender. Examen Final:

Exposicin del profesor Lectura del estudiante

METODOLOGA DE TRABAJO Asesoras Los horarios de asesora sern publicados durante la primera semana de clases. Para asisitir a asesora los alumnos deben preparar dudas y preguntas concretas. La asesora no considera el repetir todo un tema. Revisin de actividades Las actividades deben de entregarse en la fecha de entrega sealada, utilizando la plataforma tecnolgica. Software permitido y uso de IDEs Visual Studio Los alumnos deben obtenerlo e instalarlo desde la primera semana de clases.

Comit de Calidad Acadmica - CCM

Programacin y Estructura de datos

Cumplimiento de actividades Polticas generales dentro del curso. Deben estar alineadas con el reglamento interno del Tec. La siguiente lnea debe estar presente en el silabario. Asimismo, el reglamento del Tec se aplica como poltica en este curso. Este reglamento puede ser consultado en http://www.ccm.itesm.mx/alumnos/reglamento.html

Trabajo en equipo Los equipos de trabajo no tendrn un mximo de dos integrantes y debern ser alumnos de diferentes carreras. Expectativas de comportamiento tanto del profesor como de los estudiantes: Confianza Respeto Aprendizaje Expresar nuestras dudas sin Respeto cuando habla el Estudiar y practicar con tener miedo a burlas. profesor y cuando se expresa anterioridad los manejadores una duda. de bases de datos. Poder proponer nuevas ideas para el curso. Respetar las opiniones de las Formar grupos de estudio dems personas y evitar extra-clase. Pedir ayuda al profesor y a tus conflictos por diferencia de Entregar las actividades bien compaeros cuando la ellas. necesites. hechas. Respeto al trabajo en equipo Compartir los conocimientos como equipo (que todos que tenemos sobre lenguajes aporten, sean responsables y de desarrollo en web y comprometidos). manejadores de bases de datos. Respeto a no salir del aula salvo emergencias. Compartir informacin sobre cursos externos a la materia. Pedir la palabra para poder hablar en clase cuando se Estudiar los temas antes de la quiere participar. clase. ltimos lineamientos importantes Todos los estudiantes deben cumplir y hacer cumplir los reglamentos de la institucin. Todo trabajo sometido por un estudiante en este curso debe ser fruto de su propio trabajo. Para este curso el trabajo colaborativo es permitido, sin embargo, la colaboracin permitida en el curso nunca debe conducir a que un estudiante o equipo presente una copia o parte del trabajo realizado por otro estudiante o equipo. Los estudiantes deben estudiar y discutir la informacin y los conceptos que el curso cubre de manera individual y en equipo. Debe existir la disponibilidad de colaborar en equipo. En el caso que un estudiante o equipo incurra en el error de copiar el trabajo de otro, se les aplicar a ambos lo establecido en los reglamentos de la institucin. Durante los exmenes, los estudiantes deben hacer su propio trabajo. No se permite ningn tipo de colaboracin. ACTIVIDADES DE APRENDIZAJE Exmenes parciales Exmen final Tarea de programacin

Comit de Calidad Acadmica - CCM

Programacin y Estructura de datos

SISTEMA DE EVALUACIN DEL SEMESTRE PARCIALES


Actividad(es) Porcentaje

Examen Parcial Tareas y actividades


Total

70% 30%
100%

FINAL
Actividad(es) Porcentaje

Calificaciones parciales Proyecto Final Examen Final


Total

50% 20% 30%


100%


BREVE SEMBLANZA DEL PROFESOR

David Escarcega es egresado del Tecnolgico de Morelia. Estudi una Maestra en Tecnologas de la Informacin y un Doctorado en Ciencias Computacionales en el ITESM Campus Cuernavaca. Se ha desempeado como consultor en diversas empresas de tecnologa y en reas estratgicas del gobierno federal. Sus intereses personales incluyen la programacin de sistemas en diferentes lenguajes de programacin, el desarrollo de aplicaciones mviles y sistemas en la nube, la Bioinformtica y la Biologa de Sistemas. Actualmente, coordina el diplomado de Desarrollo de Aplicaciones Mviles para Negocios e imparte su semestre nmero 21 en el Sistema Tecnolgico de Monterrey y particpa en la ctedra de investigacin de innovacin en tecnologas mviles.

Comit de Calidad Acadmica - CCM

You might also like