Versión Amplia
DEPARTAMENTO:
MATEMATICAS, TECNOLOGÍAS DE INFORMACIÓN Y DISEÑO
GRÁFICO
NOMBRE DEL CURSO:
Programación I con Laboratorio
CLAVE:
1013M
ACADEMIA A LA QUE PERTENECE:
Programación I
REQUISITOS:
ninguno
HORAS:
45
CRÉDITOS:
11.25
PROGRAMA(S) EDUCATIVO(S) QUE LA RECIBE(N):
Ingeniería de Software
PLAN: 2009
FECHA DE REVISIÓN:
julio de 2009
Competencia a la que contribuye el curso.
Producir
a
plicaciones de
s
oftware
a partir de
especificaciones de diseño y haciendo uso de las mejores prácticas que aseguren
la calidad del producto.
Tipo de competencia.
Específica.Descripción general del curso.
Este curso provee las bases para solucionar problemas de computadoras utilizando el enfoque estructurado, centrándose principalmente en el desarrollo de las capacidades lógicas del alumno para enfocarla a la solución de problemas. Provee de una herramienta básica para los cursos posteriores, entre ellos los cursos de Programación II y Estructura de Datos.Contenido general: Algoritmos computacionales, Enfoque estructurado para solución de problemas básicos y avanzados con Java.
Unidad de Competencia I
Elementos de Competencia
Requerimientos de información
Solucionar problemas mediante algoritmos computacionales completos y correctos.
1. Conocer los componentes básicos de una computadora digital.
2. Conocer el concepto de programa de computadora. 3. Conocer la historia de los lenguajes de
programación.
4. Identificar cada uno de los elementos de un programa de computadora.
5. Diferenciar los conceptos de código fuente y código objeto.
6. Identificar cada uno de los modelos de transformación de código fuente a código objeto. 7. Conocer el concepto de algoritmo computacional 8. Conocer la notación de Pseudocódigo para
1. Programas de Computadora 1.1. Concepto de Programa de
Computadora
1.2. Modelo de una computadora digital 1.3. Conceptos de Lenguajes de
Programación
1.3.1. Historia de los lenguajes de Programación
1.3.2. Clasificación de los Lenguajes de Programación
1.3.3. Diferentes Lenguajes de Programación en el Mercado 1.4. Conceptos de Código fuente y código
PROGRAMA DE
CURSO
Modelo 2009
PROFESIONAL ASOCIADOrepresentación de algoritmos computacionales. 9. Conocer la notación de diagrama de flujo para
representación de algoritmos computacionales. 10. Identificar los distintos elementos que conforman
los pseudocódigos y los diagramas de flujo. 11. Identificar los elementos de entrada/proceso/salida
como punto fundamental para resolver problemas mediante algoritmos computacionales.
12. Generar el modelo de solución para problemas a solucionarse por medio de un algoritmo computacional.
13. Crear pseudocódigos o diagramas de flujo escritos que solucionan problemas.
14. Crear diagramas de flujo que solucionan problemas computacionales utilizando la herramienta DFD.
objeto
1.5. Elementos y componentes de los programas de Computadora 2. Introducción a la programación
utilizando Algoritmos
2.1. Introducción a los algoritmos 2.2. Definición de algoritmo
computacional
2.3. Características de un algoritmo computacional.
2.4. Reglas para la construcción de algoritmos
2.4.1. Notación basada en Diagramas de Flujo 2.4.2. Notación utilizando
pseudocódigo
2.5. Solución de problemas mediante algoritmos basados en estructuras secuenciales
2.5.1. Análisis del problema, identificación de los elementos del modelo de solución. 2.5.2. Construcción del algoritmo:
Método de Refinamiento sucesivo
2.5.3. Definición de tipos de datos 2.5.4. Reglas de construcción de
expresiones matemáticas y de asignación
2.5.5. Expresiones para entrada/salida de datos 2.5.6. Desarrollo de algoritmos
secuenciales
2.6. Solución de problemas mediante algoritmos basados en estructuras condicionales
2.6.1. Expresiones lógicas 2.6.1.1. Operadores
relacionales
2.6.1.2. Operadores lógicos 2.6.2. La estructura condicional SI 2.6.3. Desarrollo de algoritmos
utilizando estructuras condicionales
algoritmos basados en estructuras de repetición
2.7.1. Estructura mientras 2.7.2. Desarrollo de algoritmos
utilizando estructuras de repetición
2.7.3. Ciclos infinitos
2.7.4. Técnicas de terminación de un ciclo
2.7.4.1. Por fin de conteo 2.7.4.2. Por petición del
usuario
2.7.4.3. Mediante valor centinela
2.7.5. Técnica de Rastreo de ejecución
Criterios de Evaluación
Desempeños
Productos
Conocimientos
1. Un organizador gráfico sobre las etapas de los lenguajes de programación. Debe Incluir la descripción de cada etapa de los lenguajes de programación, y por cada una, incluir los lenguajes de programación representativos.
2. Lista de expresiones aritméticas en notación algorítmica evaluadas por el alumno. Esta evaluación debe realizarse conforme a las reglas de precedencia y asociatividad establecidas para tal fin.
3. Lista de expresiones aritméticas traducidas del campo de Matemáticas a notación algorítmica. Las expresiones deben traducirse a expresiones aritméticas en notación algorítmica considerando las reglas aplicables a operadores y operandos, así como las reglas de precedencia y asociatividad.
notación algorítmica considerando las reglas aplicables a operadores y operandos, así como las reglas de precedencia y asociatividad.
5. Lista de expresiones lógicas evaluadas por el alumno. Esta evaluación debe realizarse conforme a las reglas de precedencia y asociatividad establecidas para tal fin.
6. Algoritmos computacionales resueltos para varios problemas utilizando diagramas de flujo, pseudocódigo y mediante la herramienta DFD. Los algoritmos además deben:
a. Seguir una secuencia lógica para resolver el problema.
b. Deben Identificarse correctamente los elementos del modelo de solución. c. Emplear la notación de diagramas de
flujo y pseudocódigo de acuerdo a las reglas establecidas para tal fin. d. Deben incluir estructuras
secuenciales, condicionales y de control.
e. Creados en papel y también utilizando la herramienta DFD.
Unidad de Competencia II
Elementos de Competencia
Requerimientos de información
Crear programas secuenciales completos y correctos en Java que resuelvan problemas algorítmicos básicos.
1. Identificar los elementos principales de la plataforma Java.
2. Conocer el concepto de programa de computadora en Java y su asociación con el término clase. 3. Identificar la estructura de una clase en Java, así
como las reglas que la rigen.
4. Conocer el ciclo de desarrollo para un programa de computadora desarrollado en Java.
5. Comprender las reglas que aplican en Java para entrada/salida de datos y uso de expresiones aritméticas, que permitan el desarrollo de programas basados en algoritmos secuenciales. 6. Conocer el modelo de integración de una
herramienta IDE y la plataforma Java.
7. Crear programas de computadora en Java basados en algoritmos computacionales que den solución a problemas secuenciales, utilizando expresiones
3. Introducción al Lenguaje de Programación Java
3.1. Descripción de la plataforma JAVA 3.2. Ciclo de desarrollo de una aplicación
Java
3.2.1. Edición de Código Fuente 3.2.2. Compilación y corrección de
errores.
3.2.3. Ejecución de programas. 3.2.4. Depuración.
3.3. Representación de Clases en JAVA 3.3.1. Reglas para nombrar una
clase
3.3.2. Sintaxis para la declaración de una clase
aritméticas e instrucciones para entrada/salida de datos.
3.3.4. El método main() 3.4. Tipos de datos primitivos
3.4.1. Descripción
3.4.2. Sintaxis para la declaración de variables
3.5. La clase String
3.5.1. Declaración de variables 3.5.2. Métodos de importancia 3.5.3. charAt()
3.5.4. length()
3.6. Declaración, uso y evaluación de expresiones aritméticas
3.6.1. Expresiones de asignación 3.6.2. Operadores y expresiones
aritméticas.
3.6.3. Reglas de precedencia y asociatividad
3.6.4. Algoritmo para evaluación de expresiones
3.7. Expresiones para entrada/Salida de datos
3.7.1. Uso de la clase Scanner para obtener información del Teclado
3.7.2. Uso de la consola para salida de datos
3.7.3. Uso de la clase JOptionPane 3.8. Desarrollo de aplicaciones Java
utilizando algoritmos secuenciales
Criterios de Evaluación
1. Lista de expresiones aritméticas en Java evaluadas por el alumno. Deben evaluarse conforme a las reglas de precedencia y asociatividad del lenguaje.
2. Lista de expresiones aritméticas traducidas del campo de Matemáticas a Java. Deben traducirse a expresiones aritméticas en Java considerando las reglas aplicables a operadores y operandos, así como las reglas de precedencia y asociatividad.
3. Código fuente de al menos 10 programas básicos en Java. Que deben cumplir lo siguiente:
a. Estar completos y correctos, dando respuesta al problema planteado. b. Estar organizados dentro de un
proyecto del IDE NetBeans.
c. La definición de la estructura de una clase en Java debe realizarse considerando sus elementos básicos: encabezado, sentencias import, sentencia package, declaración del método main().
d. Incluir en el código el pseudocódigo y los elementos del modelo de solución. e. Las instrucciones de Entrada/Salida y
expresiones aritméticas deben utilizarse en un programa básico en Java de acuerdo a las reglas establecidas en el lenguaje de programación.
f.
Incluir el pseudocódigo y modelo de solución para cada uno de los códigos mencionados en el punto anterior.Crear programas completos y correctos en Java que resuelvan problemas algorítmicos que requieren sentencias secuenciales, condicionales y de repetición, así como arreglos, para su implementación.
1. Conocer las distintas sentencias condicionales existentes en Java, así como las reglas que rigen su utilización dentro de programas.
2. Conocer cómo se estructuran las expresiones condicionales utilizadas en las sentencias de este tipo.
3. Conocer las distintas sentencias de repetición existentes en Java, así como las reglas que rigen su utilización dentro de programas.
4. Conocer y utilizar los arreglos en conjunto con sentencias de repetición dentro de un programa Java.
5. Crear programas en Java basados en algoritmos computacionales que den solución a problemas, utilizando expresiones de entrada/salida, aritméticas, lógicas, sentencias condicionales y de repetición, y arreglos.
4. Solución de Problemas empleando sentencias de control.
4.1. Expresiones lógicas.
4.1.1. Operadores relacionales 4.1.2. Operadores Lógicos 4.2. Reglas de precedencia y
asociatividad.
4.3. Sentencias condicionales. 4.3.1. Sentencia if – else 4.3.2. If anidados. 4.3.3. if – else if 4.3.4. Sentencia switch 4.4. Sentencias para ciclos.
4.4.1. Sentencia for 4.4.2. Sentencia while 4.4.3. Sentencia do – while 4.4.4. Sentencias anidadas 4.5. Manipulación de Arreglos
4.5.1. Declaración
4.5.2. Longitud del arreglo, uso de length
4.5.3. Manipular el contenido de la i-ésima posición.
4.5.4. Asignar un valor. 4.5.5. Obtener el valor.
4.6. Desarrollo de aplicaciones utilizando estructuras de repetición
Criterios de Evaluación
1. Código fuente de al menos 10 programas en Java que utilicen sentencias secuenciales y condicionales para la solución de problemas.
2. Adicionalmente, el código fuente de al menos 10 programas en Java que utilicen sentencias secuenciales, condicionales y de repetición para la solución de problemas.
Los programas deben cumplir con lo siguiente: a. Estar completos y correctos, dando
respuesta al problema planteado. b. Estar organizados dentro de un
proyecto del IDE NetBeans.
c. El código debe incluir el pseudocódigo y el modelo de solución para el problema.
d. Utilizar las sentencias condicionales y de repetición de acuerdo a las reglas establecidas en el lenguaje. Incluir en el código el pseudocódigo y los elementos del modelo de solución. e. Utilizar las sentencias condicionales y
de repetición de forma que contribuyan a resolver el problema planteado. f. Si el caso lo requiere, declarar y
utilizar las variables de arreglos de forma que contribuyan a resolver el problema planteado.
g. Incluir el diagrama de flujo en DFD y modelo de solución para cada uno de los códigos mencionados en el punto anterior.
Crear programas con métodos en Java para dar respuesta a problemas que por su complejidad requieran la técnica de descomposición funcional.
1. Comprender el método de descomposición funcional para identificar los posibles métodos de una clase.
2. Comprender la estructura de un método, sus elementos y cómo se integra con las clases en Java.
3. Realizar la descomposición funcional de los problemas planteados.
4. Crear programas con métodos en Java basados en algoritmos computacionales que den solución a problemas.
5. Solución de problemas con el uso de métodos en Java
5.1. Uso de la descomposición funcional para solución de problemas complejos
5.2. Aplicar métodos para solución de problemas
5.2.1. Sintaxis de declaración de métodos.
5.2.2. Regla para nombrar métodos 5.2.3. Reglas de ámbito
5.2.4. Declaración de variables locales
5.2.5. Paso de parámetros 5.2.6. Retorno de resultado. 5.3. Desarrollo de aplicaciones utilizando
métodos.
Criterios de Evaluación
1. Código fuente de al menos 10 programas en Java que utilicen métodos para la solución de problemas. Los programas creados en Java deben cumplir con lo siguiente:
a. Los métodos deben declararse de acuerdo a las especificaciones indicadas por el profesor.
b. Los métodos deben utilizarse de forma que contribuyan a resolver el problema planteado.
c. El programa desarrollado en java debe dar respuesta al problema planteado.
2. Código fuente del proyecto final de la materia. El programa debe cumplir con lo siguiente:
a. Sólo deben implementarse los métodos definidos en el documento sobre proyecto final.
b. Todos los métodos deben funcionar sin problemas y producir la solución deseada.
c.
El código fuente de la aplicación debe formar parte de un proyecto en el IDE NetBeans.Actitudes:
Trabajo en equipo
Activo
Colaborador
Responsabilidad.
Orden.