Fundamentos de Programación

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.
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.
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
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.
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.
5.2 Multidimensionales: conceptos básicos, operaciones y
aplicaciones.
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.
Índice
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
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
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
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
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
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.
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.
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
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.
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
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
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.
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.
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
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.
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 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
PRIMER PROGRAMA
HERRAMIENTA
No hay comentarios:
Publicar un comentario