• No se han encontrado resultados

programacion i

N/A
N/A
Protected

Academic year: 2020

Share "programacion i"

Copied!
12
0
0

Texto completo

(1)

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 ASOCIADO

(2)

representació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

(3)

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.

(4)

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

(5)

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

(6)

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.

(7)

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

(8)

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.

(9)

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

(10)

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.

(11)

Evaluación del curso.

Ponderaciones para calificación final del curso:

o

Unidad I : 20

o

Unidad II: 20

o

Unidad III: 20

o

Unidad IV: 40

100% (cumplimiento total de criterios)

Bibliografía.

DEAN S, JOHN; DEAN H. RAYMOND; “INTRODUCCION A LA PROGRAMACION CON JAVA”, Editorial McGrawHill, México, Primera Edición.

DECKER, RICK; “PROGRAMACION CON JAVA; INTRODUCCION A LA PROGRAMACION EN JAVA”, INTERNATIONAL THOMSON EDITORES,

México, Segunda Edición.

Referencias

Documento similar

History and the Java type of environment, are the first steps of learning a simple language, powerful, reliable and secure, plus its versatility is most demanded. application

Los algoritmos son secuencias lógicas definidas por una serie de pasos que tienen como fin la solución de un problema.. Su diseño se lleva a cabo por medio de una metodología y

Para realizar esta compactación se emplea un método simple, el cual va compactando cada subcarpeta de unidad en un archivo temporal, una vez generado este archivo temporal, elimina

-Capacidad para modelar problemas de la vida real utilizando técnicas de teoría de grafos y de geometría computacional.. -Capacidad para analizar la complejidad de

Aunque en la literatura previa se encuentran múltiples ejemplos de programas para la in- tervención sobre problemas de conducta, las bases de da- tos de programas de prevención

En esta tesis hemos desarrollado distintos algoritmos para la resolución de problemas de mínimos cuadrados: mínimos cuadrados ordinarios, generalizados, ponderados,

Este trabajo propone una herramienta web de apoyo a la docencia, tanto en el campo de las Biociencias (Biología, Bioquímica, Farmacia, Medicina, etc), como en el de las Tecnologías

• Alcance y contenido: Se aporta una visión general del proyecto. • Estructuras de datos: Se explica con detenimiento en que consisten los arboles en java. • Diagramas UML: Se