Download I008-Algoritmos y Lenguaje de Programacion

Document related concepts

Programación funcional wikipedia , lookup

Lisp wikipedia , lookup

Logo (lenguaje de programación) wikipedia , lookup

Haskell wikipedia , lookup

Transcript
Fundación Universitaria Luis Amigó
Facultad de Ingenierías
PROGRAMA
CURSO
NÚCLEO DE FORMACIÓN
EJE DE FORMACIÓN
NIVEL
CÓDIGO
CRÉDITOS
HORAS PRESENCIALES
VÁLIDO DESDE
: INGENIERÍA DE SISTEMAS
: ALGORITMOS Y LENGUAJE DE PROGRAMACIÓN
: FUNDAMENTACIÓN EN CIENCIAS BÁSICAS Y UBICACIÓN
CONTEXTUAL Y PROFESIONAL
: ESPECÍFICO
: II
: I008
:4
: 64
: Febrero 1 de 2007
1. INTRODUCCIÓN
La programación es el proceso creativo mediante el cual, el usuario de la computadora, escribe
un conjunto ordenado y finito de instrucciones que le indican a la máquina como debe proceder
para realizar una determinada tarea, el resultado de ese desarrollo se le llama programa. Se
dice entonces que el usuario o programador ha concebido una forma de solucionar un
problema, llamada algoritmo; y la ha expresado de forma entendible a la máquina: en El
programa. Para escribir el programa el programador utiliza un lenguaje de programación. Los
lenguajes de programación empleados para las computadoras han evolucionado y siguen
evolucionando, tratando de hacerlos más fáciles en su uso y al mismo tiempo incorporando
principios y técnicas de programación que no solo hagan a ésta más fácil sino menos sujeta a
errores. En efecto, la atención a los detalles en la programación, y sobre todo la cantidad de
acciones a describir en un programa para una computadora, hace necesario el uso de técnicas
de programación orientadas a evitar producir programas con errores. En algunos casos estas
técnicas se incorporan a los lenguajes de programación, en otros solo son reglas a seguir en la
confección de programas para evitar tener errores.
Todo problema que se intente solucionar con la ayuda de una computadora tiene que pasar
obligatoriamente por las etapas de: análisis del problema, desarrollo del algoritmo, conversión
del algoritmo en programa. El éxito en la ejecución de los programas dependerá del buen
funcionamiento de los respectivos algoritmos. Después de tener una solución algorítmica, el
siguiente paso debe ser la tarea de desarrollar en el ingeniero de sistemas un conocimiento de
la filosofía o teoría formal de los lenguajes de programación y aplicarla en algún lenguaje.
2. OBJETIVOS GENERALES

Desarrollar en el estudiante la capacidad de elaborar algoritmos para la resolución de
problemas utilizando como herramienta el computador y un lenguaje de programación.

Capacitar al estudiante para que desarrolle conocimiento en teoría general de los
lenguajes de programación que le permita manipularlos e implementar soluciones
algorítmicas en estos.
3. OBJETIVOS ESPECÍFICOS

Aprender a resolver problemas mediante la aplicación de la lógica computacional.
1
Fundación Universitaria Luis Amigó
Facultad de Ingenierías

Desarrollar algoritmos que sean solución práctica de un problema determinado.

Entender y aplicar la estructura de un lenguaje de programación.

Utilizar adecuadamente las funciones de los lenguajes.

Aprender a codificar y compilar en un lenguaje de programación.

Generar soluciones utilizando un lenguaje de programación.
4. CONTENIDO TEMÁTICO
1. Unidad 0. Programación
1.1. Programación y resolución de problemas
1.2. Los paradigmas de la programación
1.3. Algoritmos
1.4. Tipos de datos
1.5. Metodología para desarrollar programas
1.6. Diagramación
1.7. Estructuras algorítmicas
2. Unidad I. Introducción
2.1. Introducción a la programación
2.2. Solución de problemas y desarrollo de software
2.3. Errores comunes en programación
2.4. Hardware de computación y conceptos de almacenamiento
3. Unidad II. Programación estructurada
3.1. Solución de problemas mediante un lenguaje de programación
3.1.1. Valores de datos y operaciones aritméticas
3.1.2. Variables e instrucciones declaratorias
3.1.3. Aplicación de procedimientos para el desarrollo de software
3.2. Complementado la básico
3.2.1. Operaciones de asignación
3.2.2. Formato de números
3.2.3. Empleo de las funciones matemáticas
3.2.4. Entrada de datos
3.2.5. Aplicaciones
3.3. Estructuras de selección
3.3.1. Criterios de selección
3.3.2. Instrucción If - Else
3.3.3. Instrucción Switch
3.3.4. Aplicaciones
3.4. Estructuras de repetición
3.4.1. Instrucción While
2
Fundación Universitaria Luis Amigó
Facultad de Ingenierías
3.4.2. Instrucción For
3.4.3. Instrucción Do While
3.5. Modularidad usando funciones
3.5.1. Declaración de funciones y parámetros
3.5.2. Regreso de valores
3.5.3. El alcance de las variables
3.5.4. Aplicaciones
4. Unidad III. Programación orientada a objetos
4.1. Entrada y salida de archivos
4.1.1. Objetos y métodos de entrada y salida de archivos
4.1.2. Lectura y escritura de archivos
4.1.3. Acceso aleatorio de archivos
4.1.4. aplicaciones
4.2. Introducción a las clases
4.2.1. Tipos abstractos de datos
4.2.2. Constructores
4.2.3. Aplicaciones
4.2.4. Asignaciones
4.2.5. Funciones operador
4.2.6. Conversiones
4.2.7. Herencia y polimorfismo
4.2.8. Aplicaciones
5. COMPETENCIAS DEL CURSO

Comprenderán la interacción del lenguaje humano con el computacional, lo cual les
permitirá entender el funcionamiento interno del computador y podrán determinar su
mejor utilización.

Optimizarán las herramientas de desarrollo de programas para lograr la consecución de
la máxima eficiencia de los computadores.

Desarrollarán, en buena medida, su capacidad interpretativa de los problemas
computacionales y podrán aplicarla a la solución de los problemas solucionables
mediante el uso de un lenguaje de programación.

Entenderán los conceptos del manejo de las instrucciones en un lenguaje de
programación que les permitirá adaptar su conocimiento a cualquier lenguaje sobre el
cual deseen realizar implementaciones.
6. ESTRATEGIAS METODOLÓGICAS
Este curso es netamente práctico por lo cual se requiere del empleo constante del computador
para implementar todos los conceptos del manejo del lenguaje y tener de primero mano el
efecto de la multitud de variantes que posee. Se realizará un manejo de los temas muy de
consulta e inquietud por parte de los estudiantes para que innoven y experimenten el manejo de
las funciones que posee el lenguaje, así como aplicación de problemas, reales o simulados,
para que los estudiantes los mejoren o adecuen según sus manera de verlos. Se tendrá en
3
Fundación Universitaria Luis Amigó
Facultad de Ingenierías
cuenta la capacidad creativa y de aplicación lógica por parte del estudiante para solucionar
problemas, además de su adaptabilidad para trabajar en otros lenguajes con estructura similar
al que se lleva en el curso. La mitad del curso es llevada con la asesoría permanente del
maestro y la otra mitad es de recurso exclusivo del estudiante ya que tendrá en sus manos,
como proyecto, el aprender el manejo de un segundo lenguaje al que debe acceder por
completo por propia cuenta y buscando los recursos que requiera para llevarlo a cabo.
7. CRITERIOS DE EVALUACIÓN
Este curso se evalúa teniendo en cuenta el proceso de aplicación de conceptos que el
estudiante tenga respecto de la solución de problemas y la aplicación del proceso: lógicaalgoritmo-programa. La evaluación es netamente resultado de la práctica y el aporte que el
estudiante tenga respecto del mejoramiento de conceptos recibidos o consultados: su
capacidad innovadora y de adaptación a situaciones determinadas.
8. BIBLIOGRAFÍA
 Correa, Uribe Guillermo. Desarrollo de algoritmos. McGraw Hill. México, 1992. Cuarta edición.
 Berrío, Hader. Lógica para programación de computadores. Pearson Educación. Bogotá,
1999. Segunda edición.
 Joyanes, Luís. Programación de computadores. McGraw Hill. Buenos Aires, 1998. Primera
edición.
 Bronson, Gary J.. C++ para ingeniería y ciencias. Tomson Editores. México, 2000. Primera
edición.
 Schildt, Herbert.. C++: Guía de Autoenseñanza, McGraw-Hill. Buenos Aires, 1995. Segunda
edición.
 Schildt, Herbert. C++ para programadores. Osborne McGraw Hill. Madrid, 1996. Primera
edición
El uso de Internet será básico para las consultas aplicativas de algunos de los temas.
4