Sunteți pe pagina 1din 17

Ciencias Exactas Ingeniería y Tecnología

Primer Semestre

Programa de la asignatura:
Fundamentos de programación

Información general de la asignatura

Ciudad de México, junio de 2019

Universidad Abierta y a Distancia de México


Información general de la asignatura

Índice
Presentación ....................................................................................................................................................... 3
Competencia general................................................................................................................................... 7
Competencias específicas ........................................................................................................................ 7
Competencias transversales ................................................................................................................... 5
Logros ...................................................................................................................................................................... 7
Temario ................................................................................................................................................................... 8
Metodología ........................................................................................................................................................ 9
Esquema de evaluación .............................................................................................................................11
Fuentes de consulta .....................................................................................................................................13
Información general de la asignatura

Presentación

En la actualidad, la informática y las ciencias de la computación siguen


abriéndose camino en forma vertiginosa lo cual es consecuencia de los avances
tecnológicos de finales del siglo XX; ante ello, la asignatura Fundamentos de
Programación tiene como meta principal que el estudiante adquiera las
competencias necesarias para desarrollar programas que resuelvan problemas
reales. En esta asignatura, se enfatizará la importancia que tiene el
conocimiento del diseño de algoritmos, la comprensión de diferentes técnicas
y principios de buenas prácticas en la programación, así como el manejo
adecuado de un lenguaje de programación como pilar en la formación del
futuro ingeniero. Además, se concientizará a los estudiantes sobre lo relevante
que es para la programación y para su formación profesional, el uso de
metodologías que permitan “desarrollar programas pertinentes, eficientes,
bien estructurados y con estilo” con fundamentos sólidos, tanto en el plano
teórico como en el análisis de casos prácticos. Con base en lo anterior, los
conocimientos y habilidades adquiridos en esta asignatura serán
indispensables para diversas asignaturas subsecuentes que conforman el plan
de estudios del programa educativo.

Los lenguajes con los que se generarán programas, comparten un grupo de


elementos análogos conocidos como Fundamentos de programación, dichos
elementos se encuentran en lenguajes de diversos niveles sin importar la
plataforma o compilador que se emplee y su conocimiento facilita el análisis y
el desarrollo de programas o sistemas en cualquier lenguaje de programación.

El lenguaje de alto nivel que se ha elegido para implementar los programas en


esta asignatura es el lenguaje C, ya que es uno de los lenguajes, estructurados
y modulares, utilizados actualmente; además cuenta con entornos de trabajo
Información general de la asignatura

desarrollados como software libre, como es el caso del ambiente de desarrollo


Dev-C, mismo que será utilizado en este curso.

Para lograr las competencias hacia las cuales se dirigen los contenidos de esta
asignatura, el curso se estructuró en tres unidades donde se abordarán
básicamente las técnicas de análisis, diseño y construcción de algoritmos;
manejo de estructuras de datos elementales, así como reglas para la escritura
de programas eficientes y estructurados. Además, se practicarán algunas
técnicas de abstracción para resolver problemas de programación no sólo con
respecto a las reglas de sintaxis y construcción de programas sino también
para desarrollar las habilidades del pensamiento, encaminadas a resolver
problemas en forma eficiente, concreta, clara y de fácil implementación
mediante el uso de un lenguaje de programación y su ejecución en un sistema
de cómputo.

Para ello la asignatura se estructura de la siguiente forma: la unidad 1.


Preparando el camino hacia la programación en la cual se abordan conceptos
fundamentales, tales como, algoritmo, dato, metodología de la programación
estructurada, estructuras secuenciales (selectivas y repetitivas) y diseño de
algoritmos, así como la solución sistemática de problemas. Además, se
describirán los paradigmas que existen en la actualidad, resaltando la
programación modular y estructurada. Se expondrán también dos formas de
solucionar los problemas planteados y analizados, el pseudocódigo y los
diagramas de flujo.

En la unidad 2. Introducción al lenguaje C, se expondrán los elementos básicos


para construir un programa simple en lenguaje C, tales como, datos,
constantes, variables y las operaciones básicas de entradas/salidas para
describir el uso de los operadores aritméticos, relacionales y lógicos requeridos
Información general de la asignatura

para la manipulación de operaciones y expresiones en C. Además, se


distinguirán y utilizarán las distintas estructuras de control, tanto selectivas (if,
if-else, switch) como repetitivas (while, do-while, for), que se utilizan en el
lenguaje C y se introducirá su representación dentro de un diagrama de flujo y
en el algoritmo, así como su sintaxis en el lenguaje C.

En la unidad 3. Funciones y estructuras de datos, se introducirán las estructuras


de datos disponibles en lenguaje C: arreglos y registros; se explicará qué son,
cómo funcionan y para qué sirven además de plantear problemas prácticos
que requieran su uso para ser resueltos; reconocerá la importancia de la
programación modular, construyendo soluciones modulares que utilicen
funciones en lenguaje C.
Información general de la asignatura

Esquema de la asignatura

Sistema Operativo El desarrollo de aplicaciones


bien estructuradas ayuda a Uso de herramientas
Windows, versión más
desarrollar software de calidad de planteamiento y
reciente.
colaborando con el desarrollo solución de problemas
Dev C++
tecnológico del país y sus mediante la
Software de
diversas necesidades. programación.
diagramación:
Metodología de la FreeDFD o pseint
programación.
Programación estructurada: Investigación
Social
 Estructuras de selección Análisis
 Estructuras repetitivas
 Funciones
Tecnológica
Estructuras de datos:
 Arreglos y cadenas Desarrollo de
programas que Económica
Metodológica resuelvan
a problemas
diversos
Axiológica
Uso de funciones, estructuras
de control y datos.

Responsabilidad
Creatividad Desarrollo de nuevas
Organización tecnologías que pueden ser
Disciplina utilizadas en las
Constancia organizaciones y obtener
Ética beneficios económicos.
Información general de la asignatura

Competencia general

Desarrollar programas estructurados y modulares que resuelvan problemas


simples, mediante el análisis de la información, el diseño de algoritmos y su
codificación en lenguaje C.

Competencias específicas

Unidad 1
Desarrollar y comprobar pseudocódigo para comprender la estructura de un
programa en un lenguaje de programación con la resolución de problemas
simples mediante algoritmos representados a través de diagramas de flujo.

Unidad 2
Utilizar el lenguaje de programación C para implementar algoritmos
secuenciales que permitan resolver problemas mediante la aplicación
estructurada de los diversos elementos de programación explorados en esta
asignatura.

Unidad 3
Implementar funciones y utilizar estructuras de datos para almacenar y
manipular información con el fin de resolver problemas cotidianos a través del
desarrollo de programas modulares escritos en lenguaje C.
Competencias transversales
Solución de
Gestión de Pensamiento Trabajo problemas y
Comunicación Sociales
información crítico colaborativo toma de
decisiones
 Capacidad de  Capacidad de  Capacidad de  Capacidad de Responsabilid  Capacidad
comprender los investigación en actuar ante trabajo en ad social y creativa.
requerimientos diferentes nuevas equipo. compromiso  Capacidad para
planteados por el fuentes de situaciones.  Habilidades ciudadano. tomar
(la) docente en información.  Capacidad interpersonale Compromiso decisiones.
línea.  Capacidad de crítica y s. con la  Capacidad para
 Capacidad de aprender y autocrítica.  Capacidad de preservación identificar,
comunicación oral actualizarse  Capacidad de motivar y del medio plantear y
y escrita. permanenteme abstracción. conducir hacia ambiente. resolver
 Capacidad de nte.  Capacidad de metas Compromiso problemas.
comunicación en  Habilidades para análisis y comunes. con su medio  Capacidad de
un segundo buscar, síntesis.  Capacidad de social-cultural. organizar y
idioma. seleccionar,  Capacidad de formular y Valoración y planificar el
 Capacidad de procesar y razonamiento. gestionar respeto por la tiempo.
mantener una analizar proyectos. diversidad y la
Información general de la asignatura

comunicación información  Capacidad de multiculturali  Capacidad de


síncrona o procedente de proponer dad. aplicar los
asíncrona con el diversas fuentes. proyectos Compromiso conocimientos a
(la) Docente.  Capacidad de factibles que ético. casos prácticos.
 Capacidad de desarrollar faciliten los Compromiso  Capacidad de
seguir las estrategias de procesos con la calidad. ser mediador
instrucciones aprendizaje organizacional Compromiso para lograr
planteadas en una autodidacta es. personal para visualizar la
sociedad híbrida para solucionar  Capacidad de cumplir las resolución de
(presencial-línea) problemas de liderazgo de metas problemas
para desarrollarse forma grupal o grupo. planteadas. críticos.
en diferentes individual.  Actitud de Desarrollar  Capacidad de
ámbitos  Capacidad de compromiso tecnologías de negociación.
profesionales, manejar las con la información
personales y nuevas institución. para el bien
educativos. tecnologías de  Respetar común.
 Capacidad de información. valores.
manejar las redes  Empatía.
sociales
Información general de la asignatura

Logros

Al concluir la asignatura, el estudiante será capaz de:


 Comprender los conceptos básicos y la metodología de la programación.
 Analizar problemas simples y desarrollar programas estructurados que
den soluciones de manera funcional.
 Desarrollar algoritmos, pseudocódigo, diagramas de flujo y verificar su
correcto funcionamiento.
 Codificar programas en lenguaje C, utilizando las estructuras de control
y estructuras de datos necesarias para resolver un problema.
 Ejecutar el proceso de compilación de un programa y analizar su
ejecución, identificando los elementos de la computadora que
intervienen en cada paso.
Información general de la asignatura

Temario

Unidad 1. Preparando el camino hacia la programación


1.1. Introducción a la programación
1.1. Ejecución de programas en la computadora
1.1.1. Lenguajes de programación
1.1.2. Paradigmas de programación
1. 2. Metodología de la programación
1.2.1. Fases de la metodología de programación
1.3. Los algoritmos en la programación

Unidad 2. Introducción al lenguaje C


2.1. Componentes de un programa en lenguaje c
2.1.1. Instrucciones
2.1.2. Comentarios
2.1.3. Palabras reservadas
2.1.4. Estructura general de un programa
2.2. Tipos de datos
2.3. Variables y constantes
2.3.1. Identificadores
2.3.2. Declaración e inicialización de variables
2.3.3. Tipos de constantes
2.3.4. Declaración de constantes
2.4. Expresiones matemáticas
2.4.1. Tipos de operadores
2.4.2. Evaluación de expresiones
2.5. Bibliotecas y funciones
2.5.1. Funciones matemáticas
2.5.2. Funciones de entrada y salida
Información general de la asignatura

2.6. Codificación de algoritmos


2.7. Estructuras de control
2.7.1. Estructuras selectivas
2.7.2. Estructuras repetitivas
2.7.3. Estructuras anidadas

Unidad 3. Funciones y estructuras de datos


3.1. Diseño descendente (Top Down)
3.2. Definición, declaración e invocación de funciones en C
3.3. Alcance de las variables
3.4. Paso de parámetros
3.4.1. Llamada a una función por valor
3.4.2. Llamada a una función por referencia
3.5. Estructuras de datos
3.5.1. Arreglos
3.5.2. Cadenas
3.5.2. Estructuras

Metodología

La estructura de enseñanza de esta asignatura está fundamentada en la


metodología del aprendizaje basado en problemas y basado en casos, ya que
la programación consiste en plantear y resolver problemas simples mediante
una serie de instrucciones lógicas y ordenadas (programa) que llevan a cabo
en computadora. En cada unidad de la asignatura se plantearán ejercicios
ejemplificando la exposición de los conceptos y procedimientos principales.
Información general de la asignatura

Respecto a la exposición de los contenidos, se presentan problemas que


detonen el análisis del concepto y/o procedimiento para que, posteriormente,
se observe la solución mediante algoritmos y/o diagramas, de tal forma que se
lleve a cabo un comparativo entre la solución planteada por el estudiante y la
que se presenta en los contenidos.

Para lograr las competencias de la asignatura, es importante que el estudiante


observe y analice, en primer lugar, los problemas ejemplo que le ayudarán a
identificar patrones comunes y, posteriormente, resolver problemas más
complejos mediante el desarrollo de estrategias de solución similar.

Para dar solución a un problema mediante el uso de la programación, es


necesario que el estudiante tenga presente que el programa desarrollado no
sólo deberá plantear la solución a dicho problema, sino incorporar de manera
integral todos los elementos requeridos para su diseño y funcionamiento
óptimos, como lo es, el almacenamiento de la información en una
computadora.

En la primera unidad, el estudiante realizará ejercicios enfocados en la


heurística aplicada a la resolución de problemas. Será importante que esta
unidad se considere el punto de partida para desarrollar el pensamiento lógico
encaminado a la resolución de problemas ya que básicamente se ejercitará el
análisis, el planteamiento de los problemas, el diseño y la comprobación.

En la segunda unidad, el estudiante aplicará la metodología de la


programación mediante un lenguaje y realizará ejercicios enfocados a resolver
problemas con el uso de estructuras selectivas y repetitivas, estructuras para
poder simplificar iteraciones de procesamiento repetitivo como las estructuras
for, while y do-while, y estructuras que condicionen la ejecución del código,
Información general de la asignatura

como las estructuras if y switch. Así mismo, el estudiante aplicará sus


conocimientos en un proyecto que reafirme las competencias adquiridas.

En la tercera unidad, el estudiante aplicará las funciones más importantes del


lenguaje de programación C y se desarrollará las competencias en el uso del
mismo, lo que le permitirá crear módulos funcionales en todos los proyectos
que desarrolle. Para ello será necesario que el estudiante ejercite la integración
de variables y parámetros por valor y por referencia dentro de un programa que
sea de utilidad en su vida cotidiana como programador y en un contexto
específico.

Así mismo, el estudiante utilizará el lenguaje C para desarrollar una primera


solución a un planteamiento dado, en el que se requiera el uso de un arreglo o
una estructura de datos y, en la evidencia de aprendizaje, presentará una
solución funcional al problema planteado, incorporando dichos elementos.

Esquema de evaluación

En el marco normativo de la UnADM, la evaluación se conceptualiza como


un proceso sustancial del mismo aprendizaje, el cual se despliega en la
interacción del estudiante con los actores y componentes educativos
mediante el aula virtual y fuera de ella en su propio contexto, laboral, familiar,
de formación profesional, etcétera, por lo que se le considera un proceso
integral y en continua creación y recreación.

Es por ello que la acreditación de la asignatura requiere de una participación


responsable, autónoma y activa del estudiante, aprovechando al máximo los
recursos disponibles como son el acompañamiento y la comunicación
Información general de la asignatura

estrecha y asertiva con el docente quien a través de la retroalimentación


permanente a sus dudas, consultas y actividades, podrá evaluar su
desempeño, así como detectar áreas oportunidad que requieran una
especial atención, es por esto que se hace necesaria la recolección de
evidencias que reflejen el logro de las competencias por parte de los
estudiantes.

La comunicación permanente es fundamental para promover el aprendizaje


significativo y reconocer el esfuerzo, así como las áreas vulnerables. Es
requisito indispensable la entrega oportuna de cada una de las tareas,
actividades y evidencias, así como la participación en foros y demás
actividades programadas en cada una de las unidades conforme a las
indicaciones dadas. Las rúbricas establecidas para cada actividad contienen
los criterios y lineamientos generales para realizarlas, por lo que es
importante que el estudiante las revise antes de elaborarlas.

En lo que se refiere a la asignación a cargo del docente, éste hará uso de los
instrumentos y técnicas de evaluación, previa planificación, que le
permitirán retroalimentar y reforzar, de manera constante y pertinente, el
proceso de aprendizaje del estudiante, de acuerdo al avance y características
del grupo con el fin de mediar su proceso formativo entre los conocimientos
que ha adquirido en forma satisfactoria y aquellos que requieran un esfuerzo
adicional para ser aprendidos en forma suficiente.

A continuación, se expone el esquema general de evaluación.


Información general de la asignatura

ESQUEMA DE EVALUACIÓN

Evaluación Interacciones colaborativas 20%


continua
Actividades Actividades individuales (Tareas) 20%
formativas
E-portafolio (50%) Evidencias de aprendizaje 40%
Autorreflexiones 10%
Asignación a Instrumentos y técnicas de evaluación 10%
cargo del (la) propuestas por el (la) Docente en línea
docente en línea
CALIFICACIÓN FINAL 100%

Cabe señalar que, para acreditar la asignatura, el estudiante debe obtener la


calificación mínima aprobatoria indicada en el Reglamento escolar de la
UnADM.

 Böhm, C., y Jacopini, G. (1966). Flow diagrams, Turing machines, and


languages only with two formation rules. En Communications of the
ACM, 9 (5), (pp. 366-371). Recuperado de
http://www.cs.unibo.it/~martini/PP/bohm-jac.pdf

 Cairó, O. (2005). Metodología de la programación: Algoritmos,


diagramas de flujo y programas. 3ra. Edición. México: Alfaomega.

 Guerrero, F. (s.f.). mailxmail.com. Recuperado de


http://www.mailxmail.com/curso-introduccion-lenguaje-c
Información general de la asignatura

 Joyanes, L. (2008). Fundamentos de programación. 4ª Edición. México:


Mc Graw Hill.

 Joyanes, L., y Zohanero, I. (2005). Programación en C. Metodología,


algoritmos y estructuras de datos. España: Mc Graw Hill.

 Kernighan, B., y Ritchie, D. (1991). El lenguaje de programación C.


México: Prentice-Hall Hispanoamericana.

 López, L. (2005). Programación estructurada en lenguaje C. México:


Alfaomega.

 Stroustrup, B. (2002). El lenguaje de programación C++. España.


Addison-Wesley. Recuperado de
http://sistemas.fciencias.unam.mx/~gcontreras/joomla15/tmp/Lenguaje_
de_Programacion_C_Spanish_Edition_Stroustrup.pdf

 Viso, E. (2008). Introducción a la teoría de la computación (autómatas y


lenguajes formales). México: Prensas de Ciencias. Facultad de Ciencias,
UNAM.

 Viso, E., y Peláez, C. (2007). Introducción a las ciencias de la


computación con Java. México: Prensas de Ciencias, Facultad de
Ciencias, UNAM.

S-ar putea să vă placă și