Fundamentos de programación
-
Upload
maritere-cruz -
Category
Documents
-
view
378 -
download
5
Transcript of Fundamentos de programación
pág. 1
Fundamentos de Programación
pág. 2
1.- DATOS DE LA ASIGNATURA
Nombre de la asignatura: Fundamentos de programación
Carrera: Sistemas Computacionales
Clave de la asignatura: SCD-1008
SATCA1 2-3-5
2.- PRESENTACIÓN
Caracterización de la asignatura.
Esta asignatura aporta, al perfil del ingeniero, la capacidad para desarrollar
un pensamiento lógico, identificar el proceso de creación de un programa
y desarrollo de algoritmos para resolver problemas.
La asignatura proporciona al estudiante de ingeniería unas herramientas
para resolver problemas de aplicaciones de la vida ordinaria y de
aplicaciones de la ingeniería.
Está diseñada para el logro de competencias específicas dirigidas al
aprendizaje de los dominios: manejo de consola y diseño de algoritmos.
Comprenderá los conceptos básicos de la programación y escribirá
expresiones aritméticas y lógicas en un lenguaje de programación. Así
como el uso y funcionamiento de las estructuras secuenciales, selectivas,
arreglos unidimensionales y multidimensionales en el desarrollo de
aplicaciones. Será capaz de aplicarlos al construir y desarrollar
aplicaciones de software que requieran dichas estructuras.
Este curso genera las competencias necesarias para que el alumno
desarrolle aplicaciones que den solución a los problemas que le plantee la
vida diaria.
Fundamentos de programación es el soporte directo de las asignaturas:
programación orientada a objetos, estructura de datos, tópicos avanzados
de programación y de forma indirecta se relaciona con el desarrollo de
sistemas de software, sistemas operativos y programación de sistemas.
pág. 3
Intención didáctica.
La asignatura proporciona al alumno los conceptos esenciales del diseño
algorítmico, el temario se organiza en cinco unidades.
En la primera unidad se estudian los conceptos básicos para introducir al
estudiante en la programación con la finalidad de obtener las bases
conceptuales para abordar las siguientes unidades temáticas.
El análisis y desarrollo de algoritmos, como segunda unidad, es con la
finalidad de dar Sistema de asignación y transferencia de créditos
académicos solución a problemas reales utilizando el razonamiento lógico.
La tercera unidad, tiene la finalidad de obtener y aplicar herramientas
necesarias para diseñar e implementar soluciones en un lenguaje de
programación, utilizando los conceptos adquiridos.
La cuarta unidad tiene como objetivo que el alumno identifique,
comprenda, seleccione e implemente la estructura de control más
adecuada a un problema específico, así como el diseño de bloques de
códigos reutilizables, dado que es común encontrar en la práctica
problemas cuyas operaciones están condicionadas o deban ejecutarse un
número repetido de veces.
La quinta unidad tiene la finalidad de implementar arreglos para una gran
variedad de propósitos que proporcionan un medio conveniente de
agrupar variables relacionadas y organizar datos de una manera que
puedan ser fácilmente procesados.
pág. 4
3.- COMPETENCIAS A DESARROLLAR
Competencias específicas:
Analizar, diseñar y desarrollar soluciones de problemas reales utilizando
algoritmos computacionales para implementarlos en un lenguaje de
programación.
Competencias genéricas:
Competencias instrumentales
• Capacidad de análisis y síntesis.
• Capacidad de pensamiento lógico, algorítmico, heurístico, analítico y
sintético.
• Resolución de problemas.
• Toma de decisiones.
• Destrezas tecnológicas relacionadas con el uso de maquinaria, destrezas
de computación.
• Búsqueda y manejo de información.
Competencias interpersonales
• Capacidad crítica y autocrítica
• Trabajo en equipo
• Habilidades interpersonales Competencias sistémicas
• Capacidad de aplicar los conocimientos en la práctica
• Habilidades de investigación
• Capacidad de aprender
• Capacidad de generar nuevas ideas (creatividad).
• Habilidad para trabajar en forma autónoma.
Búsqueda del logro
pág. 5
5.- OBJETIVO(S) GENERAL(ES) DEL CURSO
Analizar, diseñar y desarrollar soluciones de problemas reales utilizando
algoritmos computacionales para implementarlos en un lenguaje de
programación.
pág. 6
TEMARIO
Unidad Temas Subtemas
1 Conceptos Básicos 1.1 Clasificación del software de: sistemas y
aplicación.
1.2 Algoritmo.
1.3 Lenguaje de Programación.
1.4 Programa.
1.5 Programación.
1.6 Paradigmas de programación.
1.7 Editores de texto.
1.8 Compiladores e intérpretes.
1.9 Ejecutables.
1.10 Consola de línea de comandos.
2 Algoritmos 2.1 Análisis de problemas.
2.2 Representación de algoritmos: gráfica y pseudocódigo.
2.3 Diseño de algoritmos aplicados a problemas.
2.4 Diseño algorítmico de funciones
3 Introducción a la
Programación
3.1 Características del lenguaje de programación
3.2 Estructura básica de un programa.
3.3 Traducción de un programa: compilación, enlace de un programa,
errores en tiempo de compilación.
3.4 Ejecución de un programa.
3.5 Elementos del lenguaje: datos, literales y constantes, identificadores,
variables, parámetros, operadores, entrada y salida de datos.
3.6 Errores en tiempo de ejecución.
4 Control de flujo. 4.1 Estructuras secuenciales.
4.2 Estructuras selectivas: simple, doble y múltiple.
4.3 Estructuras iterativas: repetir mientras, hasta, desde
4.4 Diseño e implementación de funciones
5 Arreglos 5.1 Unidimensionales: conceptos básicos, operaciones y
aplicaciones.
pág. 7
5.2 Multidimensionales: conceptos básicos, operaciones y aplicaciones.
pág. 8
8.- SUGERENCIAS DIDÁCTICAS
El profesor debe:
Ser conocedor de la disciplina que está bajo su responsabilidad.
Desarrollar la capacidad para coordinar y trabajar en equipo; orientar el
trabajo del estudiante, potenciar en él la autonomía, el trabajo cooperativo
y la toma de decisiones. Mostrar flexibilidad en el seguimiento del proceso
formativo y propiciar la interacción entre estudiantes.
10.- UNIDADES DE APRENDIZAJE
Unidad 1: Conceptos Básicos
Competencia específica a desarrollar Actividades de Aprendizaje
Dominar los conceptos básicos de la programación.
• Investigar la clasificación del software.
• Reconocer los conceptos básicos: algoritmo, programa, programación,
paradigmas de programación utilizando mapas conceptuales, mentales,
cuadros sinópticos, etc.
• Conocer el entorno de un lenguaje de programación
• Manejar la consola para compilar y ejecutar programas.
11.- FUENTES DE INFORMACIÓN
1. Luis Joyanes Aguilar, Fundamentos de Programación, Ed. Prentice Hall.
2. Jesús J. García Molina Introducción a la programación un Enfoque
Algorítmico, Ed.
Paraninfo.
3. Leobardo López Román, Metodología de la Programación Orientada a
Objetos, Ed. Alfaomega.
4. Cairo Osvaldo, Metodología de la Programación, Ed. Alfaomega.
5. Deitel y Deitel. Como Programar en C++ quinta Edición. Prentice Hall.
6. Deitel y Deitel. Como Programar en C# quinta Edición. Prentice Hall.
7. Deitel y Deitel. Java como programar. Séptima edición. Prentice Hall.
pág. 9
Índice Unidad 3 Introducción a la programación ....................................................................... 11
Forma de evaluar ................................................................................................................ 11
Programa en Asignatura ......................................................................................................... 11
Objetivos docentes específicos ..................................................................................... 12
Competencias específicas ............................................................................................... 12
Contenidos de la asignatura ........................................................................................... 12
Actividades formativas de primer cuatrimestre ......................................................... 12
Horas presenciales por video llamada: 36 .................................................................. 13
Horas no presenciales: 45 ............................................................................................... 13
Metodología de enseñanza aprendizaje ....................................................................... 13
Competencias que desarrolla ......................................................................................... 14
Prácticas de Laboratorio .................................................................................................. 14
Horas no presenciales: 45 ............................................................................................... 14
Metodología de enseñanza aprendizaje: ...................................................................... 14
Competencias que desarrolla ......................................................................................... 14
Actividades formativas de segundo cuatrimestre ..................................................... 15
Clases teóricas ................................................................................................................... 15
Horas presenciales: 36 ..................................................................................................... 15
Horas no presenciales: 45 ............................................................................................... 15
Metodología de enseñanza aprendizaje: ...................................................................... 15
Competencias que desarrolla ......................................................................................... 16
Evaluación ordinaria ......................................................................................................... 16
Evaluación alternativa ....................................................................................................... 16
Unidad 3 Introducción a la Programación ......................................................................... 16
Objetivo: ................................................................................................................................. 16
UNIDAD 3 Introducción a la Programación ...........................Error! Bookmark not defined.
Objetivo: .....................................................................................Error! Bookmark not defined.
Teoría de Introducción a la Programación ....................................................................... 17
3.1 Características del lenguaje de programación .......................................................... 17
1. ACTIVIDAD DE INTRODUCION ALA PROGRAMACION ................................................... 18
pág. 10
pág. 11
Unidad 3 Introducción a la programación
Grupo F1
Forma de evaluar
Examen%30(Practico en línea)
Prácticas%40(Programas)
Tareas%30(Investigaciones o aportaciones)
Programa en Asignatura
Fecha 01-08-2014 Hora 10:58 am
pág. 12
Objetivos docentes específicos
Aprender una metodología para el diseño, implementación y documentación de
programas
Apreciar el papel central que juega la abstracción en la tarea de programar
Conocer estructuras de datos, algoritmos y esquemas de uso general
Introducir el paradigma de la POO
Aprender un lenguaje de programación orientado a objetos
Aprender nociones básicas del lenguaje de programación C
Competencias específicas
E03: Capacidad para comprender y dominar los conceptos básicos de
matemática discreta, lógica, algorítmica y complejidad computacional, y su
aplicación para la resolución de problemas propios de la ingeniería
E04: Conocimientos básicos sobre el uso y programación de los ordenadores,
sistemas operativos, bases de datos y programas informáticos con aplicación
en ingeniería
E05: Conocimiento de la estructura, organización, funcionamiento e
interconexión de los sistemas informáticos, los fundamentos de su
programación, y su aplicación para la resolución de problemas propios de la
ingeniería
Contenidos de la asignatura
Introducción a la Programación Orientada a Objetos
Elementos del lenguaje Java
Diseño de tipos
Colecciones
Tratamientos secuenciales
Implementación y reutilización
Introducción al lenguaje de programación C
Actividades formativas de primer cuatrimestre
Clases teóricas
pág. 13
Horas presenciales por video llamada: 36
Horas no presenciales: 45
Metodología de enseñanza aprendizaje
Las clases de teoría son aquellas en las que el profesor expone los
principales conceptos teóricos, correspondientes a los temas del
programa. Se imparten en un aula de teoría con la pizarra como medio
didáctico fundamental y con el apoyo del ordenador para mostrar
esquemas algorítmicos complejos o código fuente. La labor del alumno en
estas clases consistirá básicamente en trasladar a sus apuntes las
principales ideas que el profesor transmita y preguntar las dudas que le
puedan surgir.
Las clases de problemas se centran, sobre todo, en la resolución de
ejercicios y ejemplos, una vez expuestos los conceptos sobre los cuales
estos están basados. Los ejercicios consisten en la resolución de
algoritmos mediante la aplicación de esquemas de creciente dificultad a
lo largo del curso; dichos esquemas se describen en el lenguaje de
programación que se utilizará posteriormente en las clases de laboratorio.
La labor del alumno en estas clases consistirá básicamente en participar
en la resolución de los ejercicios y problemas propuestos por el profesor.
Una vez en su casa, el alumno debería repasar la clase, comprendiendo
los conceptos teóricos y repasando los ejercicios, por si hubiera alguna
duda o alternativa en su solución. Estas dudas podrán ser planteadas al
profesor en la siguiente clase o más tranquilamente en su horario de
tutorías.
Cada tema del curso tendrá asociado uno o varios boletines de
problemas. Algunos problemas de estos boletines se resolverán en clase
de problemas, otros se resolverán en el laboratorio y el resto deberá
realizarlos el alumno por su propia cuenta.
pág. 14
Competencias que desarrolla
Conocimientos básicos de la profesión
Capacidad de análisis y síntesis
Resolución de problemas
Capacidad de aplicar los conocimientos a la práctica
Inquietud por la calidad
E03: Capacidad para comprender y dominar los conceptos básicos de
matemática discreta, lógica, algorítmica y complejidad computacional, y
su aplicación para la resolución de problemas propios de la ingeniería
Prácticas de Laboratorio
Horas no presenciales: 45
Metodología de enseñanza aprendizaje:
Las clases de prácticas se realizan en un aula de laboratorio que dispone
de ordenadores con el software necesario para implementar los
programas. El grupo de clase se divide en dos o tres subgrupos de
prácticas y cada subgrupo recibe docencia de un profesor.
El profesor comenzará la clase repasando los conceptos que se
trabajarán en la misma. Seguidamente planteará y resolverá varios
ejercicios del boletín de problemas con la participación de los alumnos.
Competencias que desarrolla
Resolución de problemas
Habilidades básicas de manejo de ordenador
Capacidad de aplicar los conocimientos a la práctica
Habilidad para trabajar de forma autónoma
Inquietud por la calidad
E04: Conocimientos básicos sobre el uso y programación de los
ordenadores, sistemas operativos, bases de datos y programas
informáticos con aplicación en ingeniería
E05: Conocimiento de la estructura, organización, funcionamiento e
interconexión de los sistemas informáticos, los fundamentos de su
programación, y su aplicación para la resolución de problemas propios
de la ingeniería
pág. 15
Actividades formativas de segundo cuatrimestre
Clases teóricas
Horas presenciales: 36
Horas no presenciales: 45
Metodología de enseñanza aprendizaje:
Las clases de teoría son aquellas en las que el profesor expone los
principales conceptos teóricos, correspondientes a los temas del
programa. Se imparten en un aula de teoría con la pizarra como medio
didáctico fundamental y con el apoyo del ordenador para mostrar
esquemas algorítmicos complejos o código fuente. La labor del alumno en
estas clases consistirá básicamente en trasladar a sus apuntes las
principales ideas que el profesor transmita y preguntar las dudas que le
puedan surgir.
Las clases de problemas se centran, sobre todo, en la resolución de
ejercicios y ejemplos, una vez expuestos los conceptos sobre los cuales
estos están basados. Los ejercicios consisten en la resolución de
algoritmos mediante la aplicación de esquemas de creciente dificultad a
lo largo del curso; dichos esquemas se describen en el lenguaje de
programación que se utilizará posteriormente en las clases de laboratorio.
La labor del alumno en estas clases consistirá básicamente en participar
en la resolución de los ejercicios y problemas propuestos por el profesor.
Una vez en su casa, el alumno debería repasar la clase, comprendiendo
los conceptos teóricos y repasando los ejercicios, por si hubiera alguna
duda o alternativa en su solución. Estas dudas podrán ser planteadas al
profesor en la siguiente clase o más tranquilamente en su horario de
tutorías.
Cada tema del curso tendrá asociado uno o varios boletines de
problemas. Algunos problemas de estos boletines se resolverán en clase
de problemas, otros se resolverán en el laboratorio y el resto deberá
realizarlos el alumno por su propia cuenta.
pág. 16
Competencias que desarrolla
Conocimientos básicos de la profesión
Capacidad de análisis y síntesis
Resolución de problemas
Capacidad de aplicar los conocimientos a la práctica
Inquietud por la calidad
E03: Capacidad para comprender y dominar los conceptos básicos de
matemática discreta, lógica, algorítmica y complejidad computacional, y
su aplicación para la resolución de problemas propios de la ingeniería
Evaluación ordinaria
La evaluación ordinaria consiste en el desarrollo y defensa de un trabajo
práctico, que se hará de forma continuada a lo largo del curso, y la realización
de una prueba escrita al final del mismo. La calificación obtenida en el trabajo
práctico será válida para todas las convocatorias del curso.
Evaluación alternativa
La evaluación alternativa consiste en el desarrollo y defensa de un trabajo
práctico, que se hará de forma continuada a lo largo del curso, y la realización
de dos pruebas escritas, una por cada cuatrimestre. Los alumnos que hayan
superado una de las pruebas escritas pueden presentarse únicamente a la otra
en el examen final.
UNIDAD 3 Introducción a la Programación
Objetivo:
Presentar todo el panorama histórico desde los inicios hasta los más recientes
avances a fin de que el estudiante comprenda ideas y principios básicos que
llevaron al desarrollo de las computadoras modernas.
Que el estudiante conozca la arquitectura de un computador y sus componentes
de hardware y software.
pág. 17
Teoría de Introducción a la Programación
3.1 Características del lenguaje de programación
Un lenguaje de programación es un idioma artificial diseñado para
expresar procesos que pueden ser llevadas a cabo por máquinas como las
computadoras. Pueden usarse para crear programas que controlen el
comportamiento físico y lógico de una máquina, para expresar algoritmos con
precisión, o como modo de comunicación humana.1 Está formado por un
conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura
y el significado de sus elementos y expresiones. Al proceso por el cual se
escribe, se prueba, se depura, se compila y se mantiene el código fuente de
un programa informático se le llama programación.
También la palabra programación se define como el proceso de creación de
un programa de computadora, mediante la aplicación de procedimientos lógicos,
a través de los siguientes pasos:
El desarrollo lógico del programa para resolver un problema en particular.
Escritura de la lógica del programa empleando un lenguaje de programación
específico (codificación del programa).
Ensamblaje o compilación del programa hasta convertirlo en lenguaje de
máquina.
Prueba y depuración del programa.
Desarrollo de la documentación.
Existe un error común que trata por sinónimos los términos 'lenguaje de
programación' y 'lenguaje informático'. Los lenguajes informáticos engloban a los
lenguajes de programación y a otros más, como por ejemplo HTML (lenguaje
para el marcado de páginas web que no es propiamente un lenguaje de
programación, sino un conjunto de instrucciones que permiten diseñar el
contenido de los documentos).
Permite especificar de manera precisa sobre qué datos debe operar una
computadora, cómo deben ser almacenados o transmitidos y qué acciones debe
tomar bajo una variada gama de circunstancias. Todo esto, a través de
un lenguaje que intenta estar relativamente próximo al lenguaje humano o
natural. Una característica relevante de los lenguajes de programación es
pág. 18
precisamente que más de un programador pueda usar un conjunto común de
instrucciones que sean comprendidas entre ellos para realizar la construcción de
un programa de forma colaborativa.
1. ACTIVIDAD DE INTRODUCION ALA PROGRAMACION INSTALAR CMAPTOOL
REALIZAR UN MAPA CONCEPTUAL DEL TEMA INTRODUCCIÓN A LA PROGRAMACIÓN CON
AYUDA DEL PROGRAMA CMAPTOOL Y ENTREGAR EVIDENCIAS DE LA INSTALACIÓN Y
MANDARLO AL CORREO YA INDICADO