Está en la página 1de 9

Fundamentos de programación

Información general de la asignatura

Ingeniería en Desarrollo de Software


Primer Semestre

Programa de la asignatura:
Fundamentos de programación

Información general de la asignatura

Clave:
TSU Licenciatura
16141102 15141102

Universidad Abierta y a Distancia de México

División de Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 1


Fundamentos de programación
Información general de la asignatura

Índice

I. INFORMACIÓN GENERAL DE LA ASIGNATURA ........................................................... 3


a. Ficha de identificación ..................................................................................................... 3
b. Presentación .................................................................................................................... 3
c. Propósito.......................................................................................................................... 4
d. Competencia general: ...................................................................................................... 4
e. Estructura temática .......................................................................................................... 5
f. Metodología de trabajo ..................................................................................................... 6
g. Evaluación ....................................................................................................................... 7
h. Materiales de apoyo......................................................................................................... 8

División de Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 2


Fundamentos de programación
Información general de la asignatura

I. INFORMACIÓN GENERAL DE LA ASIGNATURA

a. Ficha de identificación

Carrera: Desarrollo de software

Nombre de la asignatura Fundamentos de programación

Clave de asignatura: 15141102


Seriación: Ninguna
Semestre: 1

Horas contempladas: 72

b. Presentación

La asignatura de Fundamentos de Programación tiene como meta principal que desarrolles


las competencias necesarias para construir programas que resuelvan problemas reales.
Constituye un pilar primordial para aquellos alumnos que, como tú, están estudiando una
carrera relacionada con computación -como Desarrollo de Software y Telemática- pues los
conocimientos y habilidades que desarrollen en este curso serán indispensables para la
varias de las asignaturas subsecuentes del plan de estudios de ambas ingenierías, tal es
el caso de bases de datos, programación orientada a objetos, programación web,
estructura de datos, entre otras.

El lenguaje de alto nivel que se ha elegido para implementar los programas es C, ya que
es uno de los lenguajes, estructurados y modulares, utilizados actualmente; además
cuenta con entornos de trabajo de software libre, como el que utilizaremos llamado Dev-C.

Para facilitar que desarrolles las competencias establecidas, los contenidos del curso se
han dividido de forma estratégica en seis unidades. En la primera se delinea el concepto
de computadora y su funcionamiento, para ello se describe los elementos que la integran;
posteriormente, se hace una aproximación a los lenguajes de programación y los
paradigmas que existen en la actualidad, resaltando la programación modular y
estructurada. En la siguiente unidad se expone la metodología de la programación y se

División de Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 3


Fundamentos de programación
Información general de la asignatura

introduce el concepto de algoritmo, que es la solución sistemática de problemas, así que


también se presentan dos formas de representación: el pseudocódigo y los diagramas de
flujo.

Asimismo, se ilustran las estructuras secuenciales, selectivas y repetitivas. A continuación,


en la unidad tres, se presentan los elementos básicos para construir un programa simple
en lenguaje C: datos, contantes, variables y las operaciones básicas de entradas/salidas
para describir el uso de los operadores aritméticos, relacionales y lógicos para la
manipulación de operaciones y expresiones en C.

En la unidad cuatro se distinguen y utilizan las distintas estructuras de control, tanto


selectivas (if, if-else, switch) como repetitivas (while, do-while, for), que ofrece el lenguaje
C; se introduce su representación en diagrama de flujo y algoritmo, además de su sintaxis
en C. En la unidad cinco se introducen las estructuras de datos: arreglos y registros, se
explica qué son, cómo funcionan y para qué sirven, además, se plantean problemas en
donde su uso es indispensable para su resolución. Por último, en la unidad seis se
reconoce la importancia de la programación modular, construyendo soluciones modulares
utilizando funciones en lenguaje C.

c. Propósito

El curso tiene como finalidad proporcionarte las bases para que comiences a desarrollar
programas estructurados que solucionen problemas simples, a través del desarrollo de
algoritmos en pseudocódigo y diagrama de flujo y su codificación en lenguaje C, además
se te describe el proceso de compilación de un programa y su ejecución identificando los
elementos de la computadora que intervienen en cada paso.

d. Competencia general:

Desarrollar programas estructurados y modulares que resuelvan problemas simples,


mediante el análisis del problema, el diseño de un algoritmo y su codificación en lenguaje
C.

División de Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 4


Fundamentos de programación
Información general de la asignatura

e. Estructura temática

1. Introducción a la computadora y desarrollo de software


1.1. ¿Qué es una computadora?
1.2. Estructura y funcionamiento de una computadora
1.2.1. Modelo de Von Neumann
1.2.2. Ejecución de programas en la computadora
1.2.3. Almacenamientos de programas y datos
1.3. Lenguajes de programación
1.3.1. Evolución de los lenguajes de programación
1.3.2. Paradigmas de los lenguajes de programación
1.4. Metodología de programación

2. Diseño de algoritmos
2.1. Concepto de algoritmo y características
2.2. Representaciones de algoritmos
2.2.1. Pseudocódigo
2.2.2. Diagrama de flujo
2.3. Estructuras de control
2.3.1. Secuenciales
2.3.2. Selectivas
2.3.3. Repetitivas

3. Introducción al lenguaje C
3.1. Componentes de un programa
3.1.1. Instrucciones
3.1.2. Comentarios
3.1.3. Palabras reservadas
3.1.4. Estructura general de un programa
3.2. Tipos de datos
3.3. Variables y constantes
3.3.1. Identificadores
3.3.2. Declaración e inicialización de variables
3.3.3. Tipos de constantes
3.3.4. Declaración de constantes
3.4. Expresiones matemáticas
3.4.1. Tipos de operadores
3.4.2. Evaluación de expresiones
3.5. Bibliotecas y funciones
3.5.1. Funciones matemáticas
3.5.2. Funciones de entrada y salida
3.6. Codificación de algoritmos

División de Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 5


Fundamentos de programación
Información general de la asignatura

4. Estructuras de control
4.1. Estructuras selectivas
4.1.1. Estructura selectivasimple (if)
4.1.2. Estructura selectiva doble (if-else)
4.1.3. Estructura selectiva múltiple (switch-case)
4.2. Estructuras repetitivas
4.2.1. Estructura Mientras (while)
4.2.2. Estructura Desde-mientras (for)
4.2.3. Estructura Hacer-mientras (do-while)
4.3. Estructuras anidadas

5. Estructuras de datos
5.1. Arreglos
5.1.1. Definición y tipos
5.1.2. Declaración e inicialización
5.1.3. Acceso a los elementos de un arreglo
5.1.4. Ciclos y arreglos
5.1.5. Cadenas
5.2. Estructuras de datos
5.2.1. Definición, declaración e inicialización
5.2.2. Acceso a los elementos
6. Funciones
6.1. Diseño descendente
6.2. Definición, declaración e invocación de funciones en C
6.3. Alcance de las variables
6.4. Paso de parámetros
6.4.1. Por valor
6.4.2. Por referencia

f. Metodología de trabajo

Para trabajar en esta asignatura, se ha propuesto la metodología del Aprendizaje Basado


en Problemas, pues debido a la naturaleza de los contenidos, tendrás que resolver
problemas de manera constante para poner en práctica lo aprendido.

En lo referente a la evaluación de las actividades y evidencias, tu docente en línea te hará


llegar las instrucciones necesarias para desarrollarlas y revisará cuidadosamente los
entregables que hagas y retroalimentarlos de manera positiva, clara y concisa; haciendo
evidente el avance que hayas alcance y sin perder de vista que los errores que comentas

División de Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 6


Fundamentos de programación
Información general de la asignatura

debe ser utilizados a favor de tu aprendizaje, por lo que debe prestar principal atención a
éstos indicándote en qué consiste el error y cómo se corrige, fundamentando su anotación
en los contenidos del curso.

g. Evaluación

En el marco 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
el acompañamiento y comunicación estrecha 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 actividades que conforman la asignatura. 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 instrumentos y
técnicas de evaluación previa planificación, que permitirán retroalimentar y reforzar de
manera pertinente y permanente a los estudiantes 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 poder
ser aprehendidos en forma suficiente.

División de Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 7


Fundamentos de programación
Información general de la asignatura

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


ESQUEMA DE EVALUACIÓN

Evaluación continua Interacciones colaborativas 20%

Tareas 20%

E-portafolio 50% Evidencias de aprendizaje 40%

Autorreflexiones 10

Asignación a cargo 10%


del docente
CALIFICACIÓN FINAL 100%

Cabe señalar que para aprobar la asignatura, se debe de obtener la calificación mínima
indicada por la UnADM.

h. Materiales de apoyo

Bibliografía básica:

Böhm, C., & Jacopini, G. (1966). Flow diagrams, Turing machines, and languages only with
two formation rules". Communications of the ACM, 9 (5), 366-371.

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


programas. México, D.F.: Alfaomega.

Guerrero, F. (s.f.). mailxmail.com. Recuperado el 15 de 8 de 2010, de


http://www.mailxmail.com/curso-introduccion-lenguaje-c

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


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

Joyanes, L., (2003). Fundamentos de programación. Algoritmos, estructuras de datos y


objetos. 3ra. edición. Madrid: McGraw Hill.

División de Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 8


Fundamentos de programación
Información general de la asignatura

Winters, A., Olhasso, D., Lemay, L., Perkins, Ch. (1997). Aprendiendo Visual J++ en 21 días.
Prentice Hall Hispanoamericana, S.A.

Kernighan, B., & Ritchie, D. (1991). El lenguaje de programción C. México: Prentice-Hall


Hispanoamericana.

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

Reyes, A., & Cruz, D. (2009). Notas de clase: Introducción a la programación. México, D.F.:
UACM.

Villela, H. T. (20 de agosto de 2010). Manual de C. Obtenido de


http://www.fismat.umich.mx/mn1/manual/

Viso, E., & Pelaez, C. (2007). Introducción a las ciencias de la computación con Java.
México, D.F.: La prensas de ciencias, Facultad de Ciencias, UNAM.

División de Ciencias Exactas, Ingeniería y Tecnología | Desarrollo de Software 9

También podría gustarte