UNIVERSIDAD DISTRITAL FRANCISCO JOS DE CALDAS
F AC UL T AD D E I N G E NI E R A
SYLLABUS
FACULTA DE INGENIERA
NOMBRE DEL DOCENTE:
ESPACIO ACADMICO: PROGRAMACION BSICA
Obligatorio ( X )
Electivo
( )
: Bsico ( X ) Complementario (
: Intrnsecas ( ) Extrnsecas (
)
)
NUMERO DE ESTUDIANTES:
CDIGO: 2
GRUPO:
NMERO DE CREDITOS: 3
TIPO DE CURSO:
Alternativas metodolgicas:
Clase Magistral ( x ), Seminario (
tutoriados( ), Otro:
TERICO
PRACTICO
), Seminario Taller (
TEO-PRA C:X
), Taller (x ), Prcticas (
), Proyectos
HORARIO:
DIA
HORAS
SALON
I. JUSTIFICACIN DEL ESPACIO ACADMICO
Competencias del perfil a las que
contribuye la asignatura:
Contribucin a la formacin:
Puntos de apoyo para otras
asignaturas:
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 Electrnica.
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.
E structura lgica conceptual basada en paradigmas de programacin.
SYLLABUS, Programacin Bsica, Pgina 1
Herramienta fundamental para Programacin orientada a
objetos, Programacin avanzada y Modelos de programacin.
Herramienta fundamental para ingeniera de software.
Herramienta fundamental para bases de datos
Herramienta fundamental para Redes
Herramientas para Ciencias de la computacin
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. Conocer la evolucin de los lenguajes, los paradigmas y de la computacin.
2. Evidenciar de manera clara y concreta la evolucin de la programacin con relacin a la evolucin del
computador.
3. Identificar la estructura de un computador.
4. Desarrollar el concepto de algoritmo y aplicarlo en la solucin de programas sencillos
5. Solucionar problemas elementales utilizando la lgica computacional
6. Resolver problemas sobre el sistema computacional con la ayuda de un lenguaje de programacin.
7. Reconocer la sintaxis bsica del lenguaje de programacin escogido (preferiblemente C# o Java).
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 Nucleares
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
Competencias especficas de
el uso de las diferentes estructuras de control.
la asignatura:
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.
Competencias Transversales Es capaz de discernir que tecnologa debe utilizar para la resolucin de
a las que contribuye la
problemas particulares.
Comunica ideas de forma clara oralmente o mediante la presentacin de
asignatura:
SYLLABUS, Programacin Bsica, Pgina 2
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 (Basado en
el lenguaje de programacin escogido. En este caso se hace referencia al
lenguaje de programacin C# o Java.)
3.1. Estructura de un programa en C#, 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.
Jerarquias 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
SYLLABUS, Programacin Bsica, Pgina 3
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.
Referencias: Parmetros de funciones por apuntador y por
referencia.
3.16.
Manejo de archivos: persistencia de datos y flujo de datos.
SYLLABUS, Programacin Bsica, Pgina 4
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
TD
TC
TA
Horas
profesor/semana
Horas
Estudiante/semana
Total Horas
Estudiante/semestre
(TD + TC)
(TD + TC +TA)
X 16 semanas
Crditos
4
2
6
6
12
192
3
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.
Harvey M. Deitel y Paul J. Deitel, C# Como Programar, segunda edicin.
TEXTOS COMPLEMENTARIOS
Tanenbaum, Andrew. Structured Computer Organization. Prentice Hall.
Levine, Guillermo. Computacin y Programacin Moderna. Addison Wesley.
Rodriguez C., Llana L.F, Martinez, R.,Palao P., Pareja, C. Ejercicios de Programacin Creativos
y Recreativos en C ++. Prentice Hall.
Harvey M. Deitel y Paul J. Deitel, C# Como Programar, segunda edicin.
Alfredo Weitzenfeld, Ingenieria de Software orientada a Objetos con UM. Java e Internet.
REVISTAS
DIRECCIONES DE INTERNET
http://msdn.microsoft.com/es-es/library/kx37x362(VS.80).aspx
http://www.mygnet.net/manuales/java//guia_java.1691
SYLLABUS, Programacin Bsica, Pgina 5
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).
PROGRAMA SINTTICO
SEMANAS ACADMICAS
1 2 3 4 5 6 7 8 9
Reconocer la estructura y funcionamiento del
computador.
xx x x
Sistemas numricos
10
11
12
13
Conversiones entre sistemas. Nmeros de x
precisin finita.
Representacin de nmeros negativos en base 2.
x
Representacin de nmero punto flotante en base
2.
Operaciones.
x
x
Desarrollo histrico del Hardware
Primeros computadores
El computador hasta hoy: Generaciones.
Evolucin de los lenguajes de programacin.
Estructura del computador: Procesador, memoria
principal, memoria secundaria, E/S, buses
Conceptualizar
y
abstraer
Desarrollo de algoritmos.
problemas.
x x x x x
Concepto de algoritmo
Los diagramas de flujo como herramienta de
modelacin de algoritmos.
Pseudocdigo: Una herramienta de palabras til.
Modelar problema de solucin secuencial
Disear una solucin algortmica secuencial
Analizar una solucin algortmica secuencial
Modelar problema cuya solucin
involucra
condiciones
Disear solucin algortmica que involucra
condiciones
Analizar una solucin algortmica que involucra
condiciones
Modelar problema cuya solucin
involucra
iteraciones
Disear solucin algortmica que involucra
iteraciones
Analizar una solucin algortmica que involucra
iteraciones
Modelar problema complejo cuya solucin amerita
el uso de descomposicin
Disear
solucin
descomposicin
algortmica
basada
en
x
x
x
x
x
x
x
SYLLABUS, Programacin Bsica, Pgina 6
14
15
16
Analizar una solucin
descomposicin
algortmica basada
en
Disear
soluciones
algortmicas
para
problemas computacionales
Estructura de un programa en C#, restricciones,
comentarios
Tipos de datos,
variables y
constantes:
Caracteres, Boleanos, Reales, Enteros.
Operadores
x
x
x
x
Implementar prototipo de solucin algortmica
secuencial
Conversin entre tipos de datos
Funciones de lectura y escritura.
Arreglos y matrices. Definicin, inicializacin.
Implementar prototipo 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.
Referencias: Parmetros
apuntador y por referencia.
x
de
funciones
por
Manejo de archivos: persistencia de datos y flujo
de datos.
SYLLABUS, Programacin Bsica, Pgina 7
VI. EVALUACIN
TIPO DE EVALUACIN
PRIMERA NOTA
SEGUNDA
NOTA
Prueba oral/escrita para el grupo que el docente
elabora.
Informes de conceptos basado en anlisis (Paper's)
Pruebas orales/escritas rpidas (Quizes)
Prueba escrita conjunta (para todos los grupos de la
asignatura), elaborada por los docentes que imparten
la asignatura.
Pruebas orales/escritas rpidas (Quizes)
Guas de ejercicios resueltas
Informes de conceptos basado en anlisis (Paper's)
TERCERA NOTA
Pruebas orales/escritas rpidas (Quizes)
Prueba escrita
CUARTA NOTA
PROYECTO
Informe de desempeo en laboratorio (Para 3 o 4)
Informe de desempeo y sustentacin de un prototipo
funcional que evale las competencias exigidas.
FECHA
PORCENTAJE
Semana 4 5
10 %
Semana 10 - 11
20 %
Varias fechas
10 %
Varias fechas
20 %
Semana 16
10 %
Semana 17 - 18
30%
Prueba escrita conjunta (para todos los grupos de la
EXAMEN FINAL asignatura), elaborada por los docentes que imparten
la asignatura.
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.
SYLLABUS, Programacin Bsica, Pgina 8