viernes, 1 de agosto de 2014


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

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

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.

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

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.

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.

 

 

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