0% encontró este documento útil (0 votos)
429 vistas8 páginas

Programación Estructurada en C: Curso UACJ

Este documento presenta el plan de estudios para la asignatura de Programación Estructurada. La asignatura es obligatoria para el programa de Ingeniería en Sistemas Computacionales y tiene como objetivo principal que los estudiantes adquieran los conocimientos de programación estructurada y modular para resolver problemas. La asignatura se impartirá de manera presencial con 64 horas totales, divididas entre clases teóricas y prácticas. Los temas a cubrir incluyen introducción a la programación, entornos de desarrollo, representación de datos en

Cargado por

Lourdes Guardado
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
429 vistas8 páginas

Programación Estructurada en C: Curso UACJ

Este documento presenta el plan de estudios para la asignatura de Programación Estructurada. La asignatura es obligatoria para el programa de Ingeniería en Sistemas Computacionales y tiene como objetivo principal que los estudiantes adquieran los conocimientos de programación estructurada y modular para resolver problemas. La asignatura se impartirá de manera presencial con 64 horas totales, divididas entre clases teóricas y prácticas. Los temas a cubrir incluyen introducción a la programación, entornos de desarrollo, representación de datos en

Cargado por

Lourdes Guardado
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

CARTA DESCRIPTIVA (FORMATO MODELO EDUCATIVO UACJ VISIÓN 2020)

I. Identificadores de la asignatura
Programación I
Instituto IIT Modalidad: Presencial

Departamento: Ingeniería Eléctrica y Computación


Créditos: 8
Materia: Programación Estructurada

Programa: Ingeniería en Sistemas Computacionales Carácter: Obligatoria

Clave: IEC110796
Tipo: Curso
Nivel: Principiante

Horas: 64 Totales Teoría: 60% Práctica: 40%

II. Ubicación Clave:

Antecedentes:
Fundamentos de Programación IEC980900

Consecuente:
Programación Orientada a Objetos IEC986616

III. Antecedentes

Conocimientos: sistemas numéricos, diagramas de flujo, realización de algoritmos, pseudocódigo, estructura


secuencial, estructuras repetitivas, saltos condicionales, arreglos. Esta materia tiene como pre-requisito
indispensable la materia de Fundamentos de Programación.

Habilidades: pensamiento crítico, facilidad para el razonamiento, capacidad de análisis de problemas,


razonamiento lógico, razonamiento abstracto, capacidad analítica, capacidad de síntesis, capacidad de
observación, capacidad de inferir, capacidad de inducir

Actitudes y valores: disposición al trabajo en equipo. Iniciativa de aprendizaje. Demostrar honestidad,


responsabilidad, respeto, puntualidad. El alumno tendrá disposición a la creatividad lógica a la tenacidad, a la
dedicación y a la constancia.

1
IV. Propósitos Generales

Que el estudiante adquiera los conocimientos de la programación estructurada y modular para utilizarlos
en la resolución de problemas.
V. Compromisos formativos

Intelectual: el estudiante se autodirige en la búsqueda de información y aprendizaje de técnicas ó


métodos que permitan la solución de problemas relativos a su profesión. Desarrolla o elige soluciones a
problemas utilizando la herramienta C. Se comunica efectivamente tanto en forma oral como escrita en el
ejercicio de su profesión, siendo capaz de adecuar el nivel y contenido técnico de la comunicación de
acuerdo a las necesidades o intereses del destinatario.

Humano: aporta esfuerzo, compromiso, integridad y honestidad a cualquier negocio, industria u


organización pública o privada en donde ejerza sus servicios profesionales. Participa como un miembro
productivo cuando integre equipos de trabajo.

Social: respeta las leyes y normas establecidas por la sociedad y de manera particular aquellas
relacionadas con el ejercicio de su profesión. Es cuidadoso de actuar bajo los principios éticos de su
profesión. Se muestra interesado por contribuir, desde el ejercicio de su profesión, a la conservación del
medio ambiente.

Profesional: el estudiante incorpora a su formación los conocimientos del lenguaje C en todos sus
niveles en la resolución de problemas.

VI. Condiciones de operación

Espacio: aula tradicional

Laboratorio: cómputo Mobiliario: mesa redonda y sillas

Población: 25 - 30

Material de uso frecuente:

a) proyector
b) computadora portátil

Condiciones especiales: no aplica

2
Temas Contenidos Actividades
a. Encuadre del curso.
I. Introducción a la b. Importancia de la programación. El instructor presenta el programa, las políticas del curso, los
programación. c. Ejemplos donde se utiliza la programación. valores de la clase y la forma de evaluar.
d. Arquitectura general del sistema mínimo de El instructor explica la importancia del curso y da ejemplos donde
3 clases una computadora: CPU, datapath (ALU + se utiliza la programación.
registros), unidad de control, memoria caché,
El instructor relaciona los conceptos de la clase de Fundamentos
ram, rom y dispositivos de entrada y salida.
de Programación con el curso. El estudiante responde a las
preguntas del profesor, toma nota y subraya los apuntes.
El estudiante realiza una investigación donde proporciona más
ejemplos de dónde se utiliza la programación según su carrera.
El estudiante reporta el resultado de su investigación con los
estándares de calidad expuestos en el silabario de clase y realiza
una presentación oral ante la clase.

El instructor menciona los módulos de un sistema computador


mínimo y da ejemplos de transferencia de datos entre la memoria y
registros del procesador utilizando algún software para bajo nivel.

El instructor hace hincapié en que la memoria es lineal.

El instructor realiza ejemplos de direccionamiento utilizando el


registro (BX) como apuntador.

El estudiante lee y responde a las preguntas del profesor y toma


nota.

Los estudiantes forman equipos y realizan en forma colaborativa la


práctica de apuntadores, utilizando un software para bajo nivel.

II. Entornos de a. Entornos de desarrollo integrados (IDE) El instructor explica qué es el código fuente, el editor, el compilador,
desarrollo. b. El editor el ligador y el intérprete.
c. El compilador
1 clase El estudiante lee, responde a las preguntas del profesor y toma
d. El ligador o enlazado.
nota.
e. El Interprete.
El instructor introduce al estudiante al ambiente de programación
en C a utilizar durante el curso.

III. Representación a. Comentarios, identificadores, palabras El instructor repasa la declaración de datos, variables y constantes
de datos en reservadas del lenguaje. así como su representación en memoria.
memoria y b. Variables y constantes.
El estudiante toma nota y realiza ejemplos de la representación de
operadores. c. Declaración de datos, de apuntadores y
datos en memoria.
manejo de memoria con apuntadores.
d. Representarción de los datos primitivos en El estudiante realiza ejemplos con apuntadores.
memoria.
4 clases e. Direccionamiento de datos utilizando El instructor repasa los operadores, su precedencia y enfatiza el uso
de los operadores & , * , ++, -- así como los contextos en los que
apuntadores y visualización con mapas de
se utilizan.
memoria.
f. Operadores de comparación, aritméticos, El estudiante realiza ejemplos de operaciones básicas con datos y
lógicos, relacionales, de asignación, de con apuntadores utilizando operadores.
incremento, de decremento.
El estudiante realiza una práctica.
g. Precedencia de operadores.

3
IV. Direccionamiento. a. Capacidad de direccionamiento de los El instructor repasa el direccionamiento de datos y da ejemplos de
apuntadores. los diferentes tipos apuntadores y realiza mapas de memoria.
2 clases b. Referencia y desreferencia de apuntadores y
El instructor explica la referencia y desreferencia de apuntadores y
datos.
datos.

El estudiante toma nota y realiza ejemplos con apuntadores y su


representación en memoria.

El estudiante toma nota y realiza ejemplos con sus respectivos


mapas de memoria.

El estudiante resuelve problemas utilizando apuntadores.

V. Expresiones, a. Definición de sentencia El instructor repasa los conceptos de expresiones y tipos de


sentencias y b. Tipos de sentencias sentencias y explica su sintaxis en el contexto del lenguaje C.
control de flujo. i. Secuencia
El estudiante repasa los apuntes de la clase pre-requisito, toma
1. Declaraciones
4 clase nota y realiza ejemplos de cada sentencia.
2. Expresiones
ii. Decisión El estudiante realiza diagramas de flujo en la etapa del diseño de la
3. if – elseif – else solución de algún problema.
4. El operador condicional ? y :
El estudiante resuelve problemas que involucran expresiones,
5. switch – case
sentencias y control de flujo involucrando direccionamiento con
iii. Iteraciones
apuntadores, mediante la programación en lenguaje C.
6. for
7. while El estudiante realiza el mapa de memoria de su programa.
8. do – while
iv. Sentencias break y continue.

VI. Funciones. a. Definición de funciones. El instructor explica la modularización de un programa a través de


b. Pila de llamada de funciones. las funciones.
c. La función main( ).
4 clases El instructor explica la plantilla general para la definir funciones, las
d. Funciones definidas por el usuario.
variables locales y globales así cómo invocar funciones.
e. Llamada de funciones
f. Pase y retorno de un dato a una función por El instructor explica las pilas de llamada de funciones así como la
valor y por referencia. función main().
g. Mapas de memoria.
h. Recursión. Prototipos de funciones El instructor explica las funciones definidas por el usuario así como
i. Variables globales y locales las bibliotecas propias del lenguaje.
j. Directivas del preprocesador El instructor explica el pase por valor y por referencia a una función.
k. Definición y declaración de las bibliotecas
propias del lenguaje stdio.h, stdlib.h. El instructor explica el retorno de un dato por medio de su valor o
l. Funciones printf(), scanf(), getch(), por su referencia.
getchar(), putc(), putchar() y especificadores
El instructor realiza los mapas de memoria.
de formato.
El instructor explica el concepto de recursión.

El estudiante en forma colaborativa con sus compañeros


organizados en equipos realiza el diseño e implementación para la
solución de algún problema que involucre control de flujo, funciones
y apuntadores.

VII. Arreglos y a. Declaración e inicialización de arreglos. El instructor explica el uso y la importancia de los arreglos
cadenas. b. Extracción de datos y recorrido de arreglos estáticos y las cadenas de caracteres.
por medio de índices y apuntadores. El instructor explica la declaración e inicialización de arreglos y
4 clases c. Operaciones (post y pre) incremento y cadena de caracteres utilizando inicialización directa o por medio
decremento de apuntadores en arreglos. de un apuntador utilizando la programación C.
d. Declaración e inicialización de cadenas.
El instructor explica las operaciones de pos y pre incremento y
e. Búsqueda y extracción de caracteres decremento para recorrer arreglos.
utilizando índices y apuntadores. .
f. Pase de arreglos a funciones. El instructor ejemplifica el uso de los arreglos y las cadenas.

4
g. Las bibliotecas ctype.h y string.h.
El instructor explica el pase de arreglos de 1, 2 o N dimensiones a
las funciones.
El estudiante reflexiona y toma nota.

El estudiante diseña un diagrama de flujo que resuelva un


problema que involucre el uso de control de flujo, funciones,
apuntadores, variables locales y globales, directivas de pre-
procesamiento, bibliotecas y arreglos/cadenas.

El estudiante resuelve un problema que incluya el uso de control


de flujo, funciones, apuntadores, variables locales y globales,
directivas de pre-procesamiento, bibliotecas y arreglos/cadenas.

El estudiante realiza el mapa de memoria del programa.

VIII. Memoria a. Definición El instructor explica el concepto de memoria dinámica así como la
dinámica b. Memoria heap memoria heap. También expone las ventajas y desventajas.
c. Funciones calloc(), malloc() y free() El instructor explica las bibliotecas con las que se pueden llamar a
2 clases las funciones que reservan la memoria dinámica.
El instructor explica cómo utilizar las funciones para reservar y
liberar la memoria dinámica.
El estudiante propone y resuelve un problema mediante un
programa que utilice arreglos dinámicos y otro programa con
arreglos estáticos, llevando a cabo la comparación entre ambas
soluciones.

El estudiante reflexiona, toma nota.

IX. Estructuras y a. Declaración e inicialización de estructuras. El instructor explica las estructuras de datos y la forma de
uniones de datos i. Declaración de variables tipo declararlas.
estructura y apuntadores a estructuras. El instructor explica la forma de acceder a los miembros de una
4 clases ii. Arreglos de estructuras. variable de tipo estructura, utilizando el operador de acceso punto
iii. Acceso a miembros de una estructura. ( ) y el operador de acceso flecha ( ->).
iv. Operaciones con estructuras.
El instructor explica el diagrama de memoria de las estructuras.
v. Mapas de memoria de una estructura.
b. Declaración e inicialización de uniones. El instructor explica la forma declarar arreglos de estructuras y la
i. Declaración de variables y forma de acceder a los miembros de cada estructura.
apuntadores a uniones. El instructor explica el diagrama de memoria de los arreglos de
ii. Arreglos de uniones. estructuras.
iii. Acceso a miembros de una unión.
iv. Acceso a campos de bits de una unión. El estudiante reflexiona, toma nota.

El docente plantea un problema donde puedan utilizarse las


estructuras.

El estudiante diseña el diagrama de flujo que resuelva el problema


que involucre el uso de control de flujo, funciones, apuntadores,
variables locales y globales, directivas de pre-procesamiento,
bibliotecas, arreglos/cadenas y apuntadores a estructuras
dibujando el mapa de memoria.

El estudiante resuelve el problema utilizando la programación.

El instructor explica la forma de acceder a los miembros de una


unión utilizando el operador de acceso punto ( ) y el operador de
acceso flecha ( ->).
El instructor explica el diagrama de memoria de las uniones.
El instructor explica la forma declarar arreglos de uniones y la
forma de acceder a los miembros de cada unión utilizando
apuntadores.
El instructor explica el diagrama de memoria de los arreglos de
uniones.

5
El estudiante reflexiona, toma nota.

El docente plantea un problema donde puedan utilizarse las


uniones.

El estudiante diseña el diagrama de flujo que resuelva el problema


que involucre el uso de control de flujo, funciones, apuntadores,
variables locales y globales, directivas de pre-procesamiento,
bibliotecas, arreglos/cadenas y apuntadores a estructuras y a
uniones dibujando el mapa de memoria.

El estudiante resuelve el problema utilizando la programación.

X. Archivos. a. Texto El instructor explica el concepto de archivos de texto y binarios así


b. Binarios como el apuntador FILE y la macro NULL.
4 clases c. Apuntador de archivos tipo FILE y la macro El instructor explica la librería para trabajar con archivos así como
NULL. las diferentes funciones de la misma.
d. Funciones para trabajar con archivos: fscanf,
El instructor explica los archivos de acceso secuencial o directo.
fprintf, fread, fwrite, fseek, ftell, fclose, feof,
rewind, ferror, fflush(), fopen(), remove, etc. El estudiante reflexiona y toma nota.
e. Archivos de acceso secuencial o directo.
El docente plantea un problema donde se utilicen archivos.

El estudiante diseña el diagrama de flujo que resuelva el problema


que involucre el uso de control de flujo, funciones, apuntadores,
variables locales y globales, directivas de pre-procesamiento,
bibliotecas, arreglos/cadenas y apuntadores a estructuras y
archivos.

El estudiante resuelve el problema utilizando la programación.

VIII. Metodología y estrategias didácticas

Metodología Institucional:

a) Elaboración de ensayos, monografías e investigaciones (según el nivel) consultando


fuentes bibliográficas, hemerográficas y en Internet.
b) Elaboración de reportes de lectura de artículos en lengua inglesa, actuales y relevantes.

Estrategias del Modelo UACJ Visión 2020 recomendadas para el curso:

a) aproximación empírica a la realidad


b) búsqueda, organización y recuperación de información
c) comunicación horizontal
d) descubrimiento
e) ejecución-ejercitación
f) elección, decisión
g) evaluación
h) experimentación
i) extrapolación y trasferencia

6
j) internalización
k) investigación
l) meta cognitivas
m) planeación, previsión y anticipación
n) problematización
o) proceso de pensamiento lógico y crítico
p) procesos de pensamiento creativo divergente y lateral
q) procesamiento, apropiación-construcción
r) significación generalización
s) trabajo colaborativo

IX. Criterios de evaluación y acreditación

a) Institucionales de acreditación:
Acreditación mínima de 80% de clases programadas.

Entrega oportuna de trabajos.

Pago de derechos.

Calificación ordinaria mínima de 7.0.

Permite examen único: no.

Permite examen extraordinario: no

b) Evaluación del curso


Acreditación de los temas mediante los siguientes porcentajes:

Tema I 10%
Tema II 10%
Tema III 10%
Tema IV 10%
Tema V 10%
Tema VI 10%
Tema VII 10%
Tema VIII 10%
Tema IX 10%
Tema X 10%
Total 100 %

7
X. Bibliografía

Deitel, H. M., & Deitel, P. J. (2010). How to program C. Sixth Edition. Upper Saddle River, NJ.
México: Pearson.

Joyanes Aguilar, L. (2008). Fundamentos de Programación Algoritmos, estructuras y objetos.


Madrid: McGrawHill.

Venit, Stewart; Drake, Elizabeth;. (2009). Prelude to Programming Concepts & Design. Boston:
Pearson.

Villalobos S., Jorge A.; Casallas, Ruby G.;. (2006). Problemas, Soluciones y Programas. En
Fundamentos de Programación Aprendizaje Activo Basado en Casos (págs. 1-61). México: Pearson.

X. Perfil deseable del docente

Maestría, preferentemente doctorado en áreas de ciencias o ingeniería de la computación o


tecnologías de información.

XI. Institucionalización

Responsable del Departamento: Ing. Jesús Armando Gándara Fernández.

Coordinador/a del Programa: M.S.I. Cynthia Vanessa Esquivel Rivera.

Fecha de elaboración: Marzo 2016.

Elaboró: Humberto de Jesús Ochoa Domínguez, Vianey Guadalupe Cruz Sánchez, Patricia
Cristina Parroquín Amaya, Sandra Elena Ramírez Jara, Ivan Ortega Aranda, Arnulfo Castro
Vásquez.

Fecha de rediseño:

Rediseñó:

También podría gustarte