You are on page 1of 8

UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS

FA C U LTA D D E I N G E N I E R I A
SYLLABUS
PROYECTO CURRICULAR: Ingeniera Elect`nica

NOMBRE DEL DOCENTE: JESUS AUGUSTO GUZMAN


ESPACIO ACADMICO (Asignatura): Programacin Bsica
Obligatorio ( X )
: Bsico ( X)
Complementario (
Electivo
( )
: Intrnsecas ( )
Extrnsecas ( )

NUMERO DE ESTUDIANTES:

CDIGO: 2
GRUPO:

NMERO DE CREDITOS: 3
TIPO DE CURSO:

TERICO ( )

PRACTICO ( )

TEO-PRAC (X)

Alternativas metodolgicas:
Clase Magistral (X), Seminario ( ), Seminario Taller ( ), Taller (X), Prcticas (X), Proyectos tutoriados( ),
Otro: ________________________
HORARIO:
DIA

HORAS

SALON

I. JUSTIFICACIN DEL ESPACIO ACADMICO


Competencias del perfil a las que
contribuye la asignatura:

Esta asignatura contribuye al desarrollo de la competencia Resuelve


problemas computacionales algortmicamente que se encuentra en el
dominio de programacin del rea bsicas de ingeniera del
proyecto curricular de ingeniera de sistemas.

Contribucin a la formacin:

En esta asignatura se establece las bases del pensamiento algortmico


formal que constituye uno de los pilares de la disciplina y contribuye a
los dominios de desempeo profesional definidos en el perfil. A travs
de esta, se pretende mostrar al estudiante de manera prctica, la
evolucin de los lenguajes y paradigmas que han surgido alrededor de
la programacin, la adquisicin de los conceptos bsicos acerca de la
estructura y funcionamiento del computador, as como el desarrollo del
pensamiento algortmico formal fortaleciendo sus habilidades en el
desarrollo de programas computacionales. Estas habilidades se
reconocen como claves dentro del dominio del perfil de Programacin.

Puntos de apoyo para otras


asignaturas:

En Ingeniera de Sistemas herramienta fundamental para:

Estructura lgica conceptual basada en paradigmas de


programacin.

Programacin orientada a objetos, Programacin avanzada y


Modelos de programacin. Ingeniera de software. Bases de
datos, Redes, Ciencias de la computacin
En Ingeniera Industrial herramienta fundamental para:

Programacin Lineal, Gestin tecnolgica, Teora de Colas y


Simulacin, Programacin y control de produccin, Logstica,
Gestin de Operaciones,
En Ingeniera Catastral herramienta fundamental para:

SIG, bases de datos, interfaces SIG


En Ingeniera Elctrica herramienta fundamental para:

rea de circuitos, rea de electrnica, probabilidad y estadstica,


sistemas dinmicos, redes de comunicaciones, digitales,
herramientas computacionales, campos, generacin hidrulica y
generacin trmica.
En Ingeniera Electrnica herramienta fundamental para:

Digitales,
Requisitos previos:

Lgica

II. PROGRAMACION DEL CONTENIDO


OBJETIVO GENERAL
Presentar al estudiante, elementos fundamentales que le permitan tener claridad acerca de la evolucin de
la programacin, de tal manera que pueda obtener soluciones a problemas sencillos apoyados en un
computador, un lenguaje de programacin y un paradigma en donde el alumno sea capaz de enfrentarse a
situaciones o problemas ms complejos en las que debe identificar los elementos y estados involucrados,
generar modelos para su representacin y manipulacin algortmica. Debe ser capaz de disear soluciones
para los problemas, validar su correccin e implementar prototipos para ellas utilizando un lenguaje de
programacin de tipo estructurado.
OBJETIVOS ESPECFICOS
1.
2.
3.
4.
5.
6.
7.

Conocer la evolucin de los lenguajes, los paradigmas y de la computacin.


Evidenciar de manera clara y concreta la evolucin de la programacin con relacin a la evolucin del
computador.
Identificar la estructura de un computador.
Desarrollar el concepto de algoritmo y aplicarlo en la solucin de programas sencillos
Solucionar problemas elementales utilizando la lgica computacional
Resolver problemas sobre el sistema computacional con la ayuda de un lenguaje de programacin.
Reconocer la sintaxis bsica del lenguaje de programacin escogido.
COMPETENCIAS DE FORMACIN:

Competencias que compromete la


asignatura:

El estudiante est en capacidad de pensar ordenadamente para


modelar una solucin a un problema haciendo uso de la algoritmia,
expresando esta solucin en un lenguaje computacional.

Competencias especficas de la
asignatura:

Competencias Transversales a las


que contribuye la asignatura:

Utiliza adecuadamente el concepto y la abstraccin de los sistemas


numricos en la solucin de problemas computacionales.
Localiza histricamente los diferentes momentos en la evolucin de
los sistemas computacionales.
Identifica los diversos componentes de un sistema computacional.
Representa soluciones de problemas aplicando el concepto de
Algoritmo.
Modela, implementa y evala problemas cuya solucin algortmica
requiere el uso de las diferentes estructuras de control.
Modela, implementa y evala problemas descomponindolos en
subproblemas que permitan una solucin ms simple o la
reutilizacin de soluciones.
Resuelve problemas que requieren aplicar el concepto de
recursividad.
Define e implementa tipos de datos abstractos.
Modela, implementa y evala mecanismos para el manejo dinmico
de memoria y persistencia.
Identifica y aplica los conceptos bsicos sobre metodologas.
Es capaz de discernir que tecnologa debe utilizar para la resolucin
de problemas particulares.
Comunica ideas de forma clara oralmente o mediante la
presentacin de documentos escritos.
Acta estratgicamente dentro de un grupo de trabajo para el
desarrollo de proyectos.
PROGRAMA SINTTICO:

1. Reconocer la estructura y funcionamiento del computador.


1.1. Sistemas numricos: Sistema binario, hexagecimal y octal.
1.2. Conversiones entre sistemas. Nmeros de precisin finita.
1.3. Representacin de nmeros negativos en base 2.
1.4. Representacin de nmero punto flotante en base 2.
1.5. Operaciones.
1.6. Desarrollo histrico del Hardware: El baco, Maquinas de Pascal, Leibniz, Babbage, Turing.
1.7. Primeros computadores: Mark1, ENAC, EDSAC, UNIVAC 1, Von Newman.
1.8. El computador hasta hoy: Generaciones.
1.9. Evolucin de los lenguajes de programacin.
1.10.
Estructura del computador: Procesador, memoria principal, memoria secundaria, E/S,
buses
2. Conceptualizar y abstraer problemas. Desarrollo de algoritmos.
2.1. Concepto de algoritmo
2.2. Los diagramas de flujo como herramienta de modelacin de algoritmos.
2.3. Pseudocdigo: Una herramienta de palabras til.
2.4. Modelar un problema de solucin secuencial
2.5. Disear una solucin algortmica secuencial
2.6. Analizar una solucin algortmica secuencial
2.7. Modelar un problema cuya solucin involucra condiciones
2.8. Disear una solucin algortmica que involucra condiciones
2.9. Analizar una solucin algortmica que involucra condiciones
2.10.
Modelar problema cuya solucin involucra iteraciones
2.11.
Disear solucin algortmica que involucra iteraciones
2.12.
Analizar una solucin algortmica que involucra iteraciones
2.13.
Modelar problema complejo cuya solucin amerita el uso de descomposicin
2.14.
Disear una solucin algortmica basada en descomposicin
2.15.
Analizar una solucin algortmica basada en descomposicin
3. Disear soluciones algortmicas para problemas computacionales
3.1. Estructura bsica de un programa, restricciones, comentarios
3.2. Tipos de datos, variables y constantes: Caracteres, Boleanos, Reales, Enteros.
3.3. Operadores
3.3.1.
Aritmticos: asignacin suma, resta, multiplicacin, divisin, mdulo, incremento,
decremento, y todos asociados con una variable en una cantidad determinada.
3.3.2.
Bitwise: And, Or, Or exclusivo, complemento, desplazamiento a izquierda y
derecha, combinaciones con el operador de asignacin.
3.3.3.
Relacionales: menor que, mayor que , menor o igual que mayor o igual que,
igual, diferente.
3.3.4.
Booleanos: para la estructuracin de expresiones: Not, And, Or. Jerarquas de los
operadores.
3.3.5.
Proposiciones. And, or, xor, tablas de verdad.
3.4. Implementar prototipo de solucin algortmica secuencial
3.5. Conversin entre tipos de datos
3.6. Funciones de lectura y escritura.
3.7. Arreglos y matrices. Definicin, inicializacin.
3.8. Implementar prototipo de solucin algortmica que involucra condiciones: if, if else, switch.
3.9. Implementar prototipo de solucin algortmica que involucra iteraciones: for, while, do while.
3.10.
Estructuras de salto: break, continue.
3.11.
Implementar prototipo de solucin algortmica basada en descomposicin
3.12.
Funciones: Parmetros por valor, retorno de valores, variables locales, globales y estticas.
3.13.
Libreras de funciones.
3.14.
Funciones recursivas.
3.15.
Apuntadores. Definicin, asignacin tipos y niveles de apuntadores, apuntadores a
funciones, a arreglos, a matrices, arreglos de apuntadores a enteros, reales y a cadenas de
caracteres.
3.16.
Registros o estructuras. Acceso a los elementos de una estructura, estructuras dentro de
otras, arreglos de estructuras, estructuras con apuntadores a otras.
3.17.
Referencias: Parmetros de funciones por apuntador y por referencia.
3.18.
Manejo de archivos: persistencia de datos y flujo de datos.
4. Temas complementarios.
4.1. Conceptos bsicos sobre metodologas.
4.2. Ejercicios de aplicacin.

III. ESTRATEGIAS
Metodologa Pedaggica y Didctica:
Asistencia a clases expositivas y de discusin

Elaboracin y lectura de paper (documentacin).


Se debe procurar incentivar el trabajo de grupo ms que el trabajo individual. (se recomienda
trabajar en grupos de dos o tres estudiantes)
Implementacin y prueba de prototipos (programas) en laboratorio de computacin
Horas

Tipo de
Curso

Horas
profesor/s
emana

Horas
Estudiante/semana

Total Horas
Estudiante/seme
stre

TD

TC

TA

(TD + TC
)

(TD + TC +TA)

X 16 semanas

12

192

Crditos

Trabajo Presencial Directo (TD): trabajo de aula con plenaria de todos los estudiantes.
Trabajo Mediado_Cooperativo (TC): Trabajo de tutora del docente a pequeos grupos o de forma
individual a los estudiantes.
Trabajo Autnomo (TA): Trabajo del estudiante sin presencia del docente, que se puede realizar en
distintas instancias: en grupos de trabajo o en forma individual, en casa o en biblioteca, laboratorio, etc.)
IV. RECURSOS
Medios y Ayudas:

Aula normal con pizarrn para sesiones de ctedra y para sesiones de discusin.

Disponibilidad para acceder a proyector multimedia.

Laboratorio de computacin, con un computador por alumno, para las sesiones de laboratorio; cada
computador debe contar con el intrprete para el lenguaje de programacin que se va a utilizar para
validar los prototipos.

Pgina web para publicar material didctico, guas de ejercicios, soluciones, tareas, etc.

Acceso fuera de clases a laboratorios de computacin que cuenten con el intrprete para el lenguaje
de programacin que se va a utilizar para validar los prototipos, y con acceso a la pgina web del
mdulo.

Acceso al material bibliogrfico recomendado

Asignacin de una persona que tenga las plenas competencias del curso (monitor) para asesorar a
los estudiantes en dudas durante las sesiones del laboratorio de computacin.
BIBLIOGRAFA
TEXTOS GUA

Cair, Oswaldo. Metodologa de la Programacin. Editorial Alfa Omega.


Deitel & Deitel. C How To Program. Prentice Hall.

TEXTOS COMPLEMENTARIOS

Tanenbaum, Andrew. Structured Computer Organization. Prentice Hall.


Levine, Guillermo. Computacin y Programacin Moderna. Addison Wesley.
Bajarme Stroustrup

El C ++ Lenguaje de Programacin

Addison Wesley.

Burton Harvey, Simon Robinson, Julian Templeman, Karli Watson. C ++ Programming . Wrox Press
Ltda.
Becerra, Cesar. Lenguaje C. Por Computador.
Rodriguez C., Llana L.F, Martinez, R.,Palao P., Pareja, C. Ejercicios de Programacin Creativos y
Recreativos en C ++. Prentice Hall.

REVISTAS

DIRECCIONES DE INTERNET
Karel el robot,

http://www.olimpiadadeinformatica.org.mx/material/karel

Guido van robot, http://gvr.sourceforge.net/


FreeDFD, http://wiki.freaks-unidos.net/freedfd/index
PseInt, http://pseint.sourceforge.net/
Dev C++, http://www.bloodshed.net/devcpp.html
Python programming language, http://www.python.org/
pygame, http://pygame.org/news.html
V. ORGANIZACIN / TIEMPOS
Espacios, Tiempos, Agrupamientos:
Se recomienda trabajar una unidad cada cuatro semanas, trabajar en pequeos grupos de estudiantes,
utilizar Internet para comunicarse con los estudiantes para revisiones de avances y solucin de preguntas
(esto considerarlo entre las horas de trabajo cooperativo).
1
1

Reconocer
la
estructura
funcionamiento del computador.

Sistemas numricos: Sistema binario,


hexagecimal y octal.
Conversiones entre sistemas. Nmeros
de precisin finita.
Representacin de nmeros negativos
en base 2.
Representacin de
flotante en base 2.

nmero

punto

Operaciones.
Desarrollo histrico del Hardware: El
baco, Maquinas de Pascal, Leibniz,
Babbage, Turing.
Primeros computadores: Mark1, ENAC,
EDSAC, UNIVAC 1, Von Newman.
El
computador
Generaciones.

hasta

Evolucin
de
programacin.

lenguajes

los

hoy:
de

Estructura del computador: Procesador,


memoria
principal,
memoria
secundaria, E/S, buses
2

Conceptualizar
problemas.
algoritmos.

y
abstraer
Desarrollo
de

Concepto de algoritmo
Los
diagramas
herramienta
de
algoritmos.
Pseudocdigo:
palabras til.
Modelar un
secuencial

Una

de
flujo
como
modelacin
de
herramienta

problema

de

de

solucin

Disear
una
secuencial

solucin

algortmica

Analizar

solucin

algortmica

una

10 11 12 13 14 15 16

secuencial
Modelar un problema cuya solucin
involucra condiciones
Disear una solucin algortmica que
involucra condiciones
Analizar una solucin algortmica que
involucra condiciones
Modelar
problema
involucra iteraciones

cuya

solucin

Disear
solucin
algortmica
involucra iteraciones

que

Analizar una solucin algortmica que


involucra iteraciones
Modelar problema
solucin
amerita
descomposicin

complejo
cuya
el
uso
de

Disear
una
solucin
basada en descomposicin

algortmica

Analizar
una
solucin
basada en descomposicin

algortmica

Disear soluciones algortmicas


para problemas computacionales
Estructura bsica de un
restricciones, comentarios

programa,

Tipos de datos, variables y constantes:


Caracteres, Boleanos, Reales, Enteros.
Operadores
Aritmticos: asignacin suma, resta,
multiplicacin,
divisin,
mdulo,
incremento,
decremento,
y
todos
asociados con una variable en una
cantidad determinada.
Bitwise:
And,
Or,
Or
exclusivo,
complemento,
desplazamiento
a
izquierda y derecha, combinaciones con
el operador de asignacin.
Relacionales: menor que, mayor que ,
menor o igual que mayor o igual que,
igual, diferente.
Booleanos: para la estructuracin de
expresiones: Not, And, Or. Jerarquias de
los operadores.
Proposiciones. And, or, xor, tablas de
verdad.
Implementar prototipo
algortmica secuencial

de

solucin

Conversin entre tipos de datos


Funciones de lectura y escritura.
Arreglos
y
inicializacin.
Implementar

matrices.
prototipo

Definicin,
de

solucin

algortmica que involucra condiciones:


if, if else, switch.
Implementar prototipo de solucin
algortmica que involucra iteraciones:
for, while, do while.
Estructuras de salto: break, continue.
Implementar prototipo de solucin
algortmica basada en descomposicin
Funciones:
Parmetros
por
valor,
retorno de valores, variables locales,
globales y estticas.
Libreras de funciones.
Funciones recursivas.
Apuntadores. Definicin, asignacin
tipos y niveles de apuntadores,
apuntadores a funciones, a arreglos, a
matrices, arreglos de apuntadores a
enteros, reales y a cadenas de
caracteres.
Registros o estructuras. Acceso a los
elementos
de
una
estructura,
estructuras dentro de otras, arreglos de
estructuras,
estructuras
con
apuntadores a otras.
Referencias: Parmetros de funciones
por apuntador y por referencia.
Manejo de archivos: persistencia de
datos y flujo de datos.
4 Temas complementarios.
Conceptos bsicos sobre metodologas.
Ejercicios de aplicacin.
VI. EVALUACIN
TIPO DE EVALUACIN

PRIMER CORTE

Parcial escrito, Guas de ejercicios resueltas


Informes de conceptos basado en anlisis
(Paper's), Pruebas orales/escritas rpidas
(Quizes)

SEGUNDO CORTE

Prueba escrita conjunta (para todos los


grupos de la asignatura), maratn de
programacin, Guas de ejercicios resueltas
Informes de conceptos basado en anlisis
(Paper's), Pruebas orales/escritas rpidas
(Quizes)

PROYECTO FINAL

Informe de desempeo y sustentacin de un


prototipo funcional que evale las
competencias exigidas.

FECHA

PORCENTAJE

Las fechas
35,00%
estarn acorde
a las
programadas
por el
35,00%
calendario
acadmico
para el periodo
en curso
30,00%

ASPECTOS A EVALUAR DEL CURSO

Claridad y entendimiento de los conceptos.


Que se haya identificado correctamente el problema y que el modelo lo represente adecuadamente.
Que la solucin diseada resuelva el problema.
Apego a la formalidad y estndares requeridos.
Que el anlisis de correccin sea exhaustivo.

Que el prototipo corresponda al algoritmo diseado y no presente errores de sintaxis.


La asistencia a las clases magistrales y a los laboratorios.
El esfuerzo y dedicacin en la resolucin de problemas.
Que la documentacin permita reconocer la forma en que se ha abordado el problema y la
estructura del programa implementado.
En las pruebas escritas se consideran en forma parcial los aspectos considerados en proyectos de
programacin bajo problemas que requieren un menor tiempo de desarrollo y en una modalidad que
no requiere uso del computador, as como la comprensin conceptual.

DATOS DEL DOCENTE


NOMBRE :
PREGRADO :
POSTGRADO :
ASESORIAS: FIRMA DE ESTUDIANTES
NOMBRE

FIRMA

1.
2.
3.

FIRMA DEL DOCENTE

_________________________________

FECHA DE ENTREGA:__________________________

CDIGO

FECHA

You might also like