View
226
Download
0
Category
Preview:
Citation preview
Introducción a la Programación
Profesores:
Pedro Campos
Manuel Crisosto
Tatiana Gutiérrez
Claudio Gutiérrez
CONTEXTO DE LA ASIGNATURA (ICI e IECI)
La programación y el Ingeniero en Informática
Perfil Profesional (ICI)
• El Ingeniero Civil en Informática es un profesional competente y capacitado para aplicar conocimientos relevantes y actualizados en las Ciencias de la Computación y en una amplia gama de áreas como: Ingeniería de Software, Redes y Comunicaciones, Sistemas de Información, Arquitectura de Sistemas y Seguridad Informática. Además, demuestra eficiencia e idoneidad en el ámbito de la gestión estratégica pudiendo formular y evaluar proyectos, proponer soluciones con las más adecuadas y avanzadas tecnologías de información y comunicaciones.
• Se encuentra capacitado para realizar trabajo colaborativo e
interdisciplinario con una mentalidad proactiva y analítica, de liderar equipos de trabajo y manejar adecuadamente el idioma inglés.
• Se desenvuelve con autonomía y un alto sentido de
responsabilidad, de ética y de respeto por las diferencias en la sociedad del conocimiento.
Competencias a desarrollar durante la carrera (ICI)
Relativas a nivel de Conocimiento (Especificas)Ingeniería de softwareTecnologías de redesArquitectura de sistemasGestión estratégicaProgramaciónPlataformas tecnológicasMejoramiento de procesosTeoría de la informaciónNormativas legalesAnálisis y desarrollo organizacional
Relativas a Habilidades o Destrezas (Genéricas)Formular, dirigir, implementar y evaluar proyectosComunicación eficaz en forma oral y escritaProponer soluciones y resolver problemas con TIC’sLiderar equipos de trabajoGestión de procesosLeer y hablar en inglésAdministrar personasDiseñar y modelar sistemasDemostrar capacidades de crítica/ autocríticaDesarrollo de pensamiento lógicoActualización permanenteDesarrollo de la abstracciónTrabajo colaborativoRigurosidad matemáticaComprometido con la calidad del trabajoElaborar distintas propuestas de solución
Relativas a Valores y ActitudesDemostrar responsabilidadHonestoÉticoDisposición al trabajo colaborativo e interdisciplinarioSer analíticoProactivoCreativoAsertivoTolerancia /RespetoSer consiente del entorno (respeto y armonización)AutónomoIndependienteLíderEmprendedorAuto aprendizajeCooperación / ColaboraciónDisciplinaCompromiso con la calidad
A.- MALLA CURRICULAR INGENIERÍA CIVIL EN INFORMÁTICA
Perfil Profesional del Ingeniero de Ejecución en Computación e Informática
• El Ingeniero de Ejecución en Computación e Informática es un profesional capacitado para aplicar conocimientos en una amplia gama de áreas como, programación, Ingeniería de Software, Plataformas Tecnológicas, Tecnología de Redes, Análisis y funcionamiento de Sistemas Computacionales y Arquitectura de Sistemas. Al tiempo que es capaz de operar y mantener redes, utilizar tecnología, analizar e interpretar datos y resolver problemas con tecnologías de la información.
• Es un profesional formado con alto sentido de responsabilidad y ética, se desenvuelve con prestancia en equipos de trabajo, es creativo y posee un adecuado manejo del idioma Inglés.
Competencias a desarrollar (IECI)
RELATIVAS A CONOCIMIENTOS
ProgramaciónIngeniería de SoftwarePlataformas tecnológicasTecnología de redesAnálisis y funcionamiento de Sistemas ComputacionalesOperación y mantención de redesMejoramiento de ProcesosArquitectura de SistemasTeoría de la InformaciónNormativas Legales
RELATIVAS A HABILIDADES O DESTREZAS
Resolver problemas con TICSUtilizar tecnologíasExpresarse correctamenteDiseñar y modelar sistemasAnalizar e interpretar datosHablar y leer inglésRealizar diagnósticosTrabajar en equiposDirigir e implementar proyectos
RELATIVAS VALORES A ACTITUDES
Efectuar trabajo colaborativo e interdisciplinarioDemostrar actitudes emprendedoras en su desempeñoCreatividadAsertividad Pro actividadSer tolerante(flexibilidad ante las diferencias)Ser consiente del entorno (respeto y armonización)Demostrar responsabilidad
Malla Curricular IECI
Condiciones del CursoCompromisos del profesor:
• Realizar todas las clases e iniciarlas puntualmente• Informar oportunamente cambios en la planificación del curso • Ver todo el programa de la asignatura• Intentar responder en forma clara todas las preguntas• Publicar notas de controles a la semana siguiente de realizado el control• Respetar horario de atención de alumnos (confirmar por correo)• Que terminen el curso con un nivel adecuado en el uso del computador y en la construcción de programas.
Compromisos del alumno:• Asistir a clases y Ayudantías (75% mínimo para aprobar el curso)• Asistir al 100% de laboratorios• Apagar los celulares• Participar en forma activa en las clases• Respetar a compañeros cuando realicen una pregunta• En caso de inasistencia, conseguir materia y realizar trabajos solicitados• En caso de llegar después de iniciada la clase….entrar sin golpear y sin interrumpir.
Programa de la Asignatura (ICI e IECI)
Introducción a la Programación
DESCRIPCION Curso teórico práctico, que entrega los conceptos básicos de programación, permite resolver problemas por medio de algoritmos y su implementación en un lenguaje de programación.
Programa: Introducción a la Programación
OBJETIVO GENERAL Resolver problemas básicos a través de la construcción de programas basados en algoritmos y un lenguaje de programación, generando acciones hacia la búsqueda de propuestas pertinentes.
APRENDIZAJES ESPERADOS (COMPETENCIAS)
• Descompone un problema en sub-problemas para darle una solución más sencilla.• Interpreta algoritmos y programas para la solución de problemas básicos de programación relativos a la matemática.• Construye algoritmos y programas para la solución de problemas básicos de programación relativos a la matemática. • Trabaja colaborativamente, cumpliendo un rol y responsabilizándose de él.• Comprende el entorno de las situaciones problemáticas que tienen un componente informático.
Programa: Introducción a la Programación
Programa: Introducción a la Programación
(I)Conceptos básicos de computación e informática
• Arquitectura básica de un computador• Problemas Algorítmicos y Nociones acerca de la Computabilidad• Visión General del Proceso de desarrollo de Software
(II)Conceptos de algoritmos y programación
• Definición de algoritmos y programa• Elementos de algoritmos (Tipos de datos, Secuencia, selección e iteración. Conceptos de entrada y salidas)
(III) Algoritmos
• Conceptos de algoritmos y programación• Representación de algoritmos• Construcción de algoritmos• Prueba de algoritmos
(IV) Programación y lenguajes• Lenguaje de programación• Los lenguajes• Características• Construcción de programas• Definición de datos• Estructuras de control• Lectura e impresión de datos• Subprogramas
CONTENIDOS
Programa: Introducción a la Programación
Evaluación: la nota de presentación se calculara a partir de las siguientes evaluaciones.
Instrumento Descripción Fecha % Nota Final
Certamen 1 Conceptual / práctico 18-abril 10 % Certamen 2 Conceptual / Práctico 30 mayo 25 %
Certamen 3 Práctico 20/06 35 % Test (s) Conceptual / Práctico 15 % Ejercicios / Tareas / Laboratorios
Asociado a las Ayudantías
15 %
Requisitos de aprobación de asignatura•Asistencia mínima de un 75 % a las clases teóricas•Asistencia de un 100% a laboratorios
Nota Final = 50% Nota Presentación + 50 % Nota Examen
Si la nota final es mayor a 60 el estudiante se exime de dar el examen final.
Programa: Introducción a la Programación
BIBLIOGRAFIA Uribe R. 2005. Programación de Computadores y el Lenguaje C. Ediciones Universidad de Magallanes. Chile.
Gutiérrez-Soto C., y otros. 2008, Apunte de programación en lenguaje C.( http://pva.face.ubiobio.cl/pva/)
Joyanes Aguilar Luis y otros. 2002, Programación en C Libro de problemas. McGraw Hill.
Gottfried B. 1997, Programación en C. Schaun, Segunda Edición, MCGraw Hill.
Bishop P., 1990. Conceptos de Informática. Editorial Anaya.
Sánchez Mª. y otros. 1996, Programación Estructurada y Fundamentos de Programación. McGraw Hill.
INTRODUCCIÓN : Construcción de un Programa (Programación)
PROGRAMA: Conjunto de instrucciones, con una secuencia lógica, escrito en algún Lenguaje de Programación que permite resolver un Problema. El programa recibe datos de entrada, realiza las operaciones de transformación requeridas, y entrega los resultados esperados.
LENGUAJE DE PROGRAMACIÓN: Lenguaje artificial que puede ser usado para controlar el comportamiento de una máquina, especialmente un Computador. Estos se componen de un conjunto de reglas sintácticas y semánticas que permiten expresar instrucciones que luego serán ejecutadas por el procesador del computador.
PROBLEMA: Situación del mundo real que puede ser resuelto/apoyado a través de un computador (Computabilidad). Para esta asignatura el “Problema” viene descrito mediante un Enunciado.
COMPUTADOR: Herramienta de trabajo el cual está formado por dos componentes básicos: Hardware / Software (los programas corresponden a componentes software).
INTRODUCCIÓN : Pasos para la CONSTRUCCIÓN de un programa
• Entender el problema (Contexto, resultados, transformaciones)
• Definir datos de entrada, salidas (información/resultados), reglas de validación, transformaciones
• Construir un Algoritmo (pseudocódigo, Diagrama de Flujo)
• ALGORITMO: Una secuencia de pasos (modelo) para realizar una tarea
• Probar el algoritmo
• Transformar el algoritmo en un programa escrito en un lenguaje de programación
• Probar el programa (transformarlo a lenguaje de máquina y ejecutarlo)
Problema/Enunciado: Construir un programa que permita calcular, dado dos ángulos de un triangulo, el valor del tercer ángulo.
• Entender el problema/enunciado (Contexto, resultados, transformaciones)• Definir datos de entrada, salidas (información/resultados), reglas de validación, transformaciones
ProgramaENTRADA SALIDA
TransformaciónReglas de validación
Angulo 1, Angulo 2 Angulo 3 (resultado)
Transformación Angulo 3 = 180 – Angulo 1 – Angulo 2Reglas de validación
•Angulos ingresados > 0•Angulos ingresados < a 180 •Suma de ángulos ingresados < 180
EJEMPLO
Problema/Enunciado: Construir un programa que permita calcular, dado dos ángulos de un triangulo, el valor del tercer ángulo.
Algoritmo en Pseudocódigo:
Algoritmo EjemploVariables Reales D1, D2, ResInicio Leer (D1, D2) Si (D1 > 0) y (D2 > 0) Inicio Si (D1+D2 < 180) Inicio Res = 180 – D1 – D2 Imprimir (“Resultado: “, Res) Fin Si no Imprimir (“Error_1”) Fin Si no Imprimir (“Error_2”)Fin
#include <stdio.h>float d1,d2,res;main(){ scanf("%f%f",&d1,&d2); if ((d1>0)&&(d2>0)) { if (d1+d2 < 180) { res=180.0-d1-d2; printf("Resultado: %f",res); } else printf("Error 2"); } else printf("Error 1"); getchar();getchar();}
Programa escrito en Lenguaje C
Inicio
Fin
D1,D2
D1 > 0 y
D2 > 0
D1+D2 < 180
“Resultado: “ Res
Res = 180 – D1 – D2
“Error 1”
“Error 2”
v
v
Algoritmo en Diagrama de Flujo
f
f
Herramienta: Computador
CPU
MemoriaUE US
Lenguaje de Alto nivel (Lenguaje C)
#include <stdio.h>float d1,d2,res;main(){ scanf("%f%f",&d1,&d2); if ((d1>0)&&(d2>0)) { if (d1+d2 < 180) { res=180.0-d1-d2; printf("Resultado: %f",res); } else printf("Error 2"); } else printf("Error 1"); getchar();getchar();}
01 rda 8002 rda 8103 lda 8004 jmz 1505 jml 1506 lda 8107 jmz 1508 jml 1509 add 8010 sub 18011 jml 1812 lda #-213 wrt14 jmp 1915 lda #-116 wrt17 jmp 1918 wrt19 end
Lenguaje Ensamblador
Lenguaje de Maquina (001101100100….)
AplicaciónAplicación (software) (software)
Sistema Operativo Sistema Operativo (Software)(Software)
HardwareHardware
Lenguaje Humano
Lenguaje Binario
Comunicándose con el computador
Recommended