You are on page 1of 35

CCPG1001

Fundamentos de Programación
Profesor
Gladys Carrillo Bastidas
gecarri@espol.edu.ec

● Horario de oficina
Lunes 11:00 - 12:00
Oficina 15-219 Planta alta
Edificio FIEC donde se encuentra la academia CISCO

2
Descripción del curso
El curso presenta a los estudiantes estrategias para resolver problemas comunes en
diversas profesiones por medio del diseño e implementación de soluciones basadas
en el uso de un lenguaje de programación.

Cubre los principios básicos para que el estudiante pueda leer y escribir programas;
haciendo énfasis en el diseño y análisis de algoritmos.

3
Objetivo General
Desarrollar programas en un lenguaje de programación de alto nivel para resolver
problemas relacionados a su profesión.

4
Políticas del Curso
• Asistencia a clases será controlada
• Faltas mayor o igual al 40% reprueba la materia
• No se permite el uso de celulares a menos que se lo indique
• 5 minutos de espera para inicio de la clase
• Evaluaciones
• Evaluaciones serán anunciadas con anticipación
• No podrán ser recuperadas

Medio de comunicación: SIDWEB

5
Políticas del Curso
Organización del aprendizaje: I Evaluación II Evaluación III Evaluación
Ponderación
Aprendizaje con docencia: 3 horas
Aprendizaje con práctica: 1 hora
Aprendizaje con trabajo autónomo: 5 Examen 62.5% 62.5% 75% 80%
horas Proyecto y 25% 25% 25%*
avances

Lecciones 12.5% 12.5%


y controles
de lectura
Talleres 100%** 20%

IMPORTANTE: Todo será calificado sobre 100

*Si un estudiante aprobó la materia podría dar el examen de mejoramiento sobre 100%.
** Nota general correspondiente al componente práctico.

6
Políticas del Curso
• Proyectos:
• Grupos de 2
• Las sustentaciones son obligatorias.
• Sustentación: Factor entre 0 y 1 se multiplica por la nota del Proyecto.
• Los grupos no se pueden disolver
• * Mejoramiento: si aprobó la materia, el examen puede ser el 100%

7
Políticas del Curso
• Tareas:
• Serán receptadas únicamente en SIDWEB
• Fechas de entrega son impostergables (aplica al proyecto también)
• No se acepta plagio
• Las tareas deben pertenecer a una sola persona

8
Información del curso
Página web de la materia Fundamentos de Programación:

http://programacion.espol.edu.ec

Video :
https://m.facebook.com/story.php?story_fbid=10212128747629
793&id=1108696050

Video hackaton:
https://www.facebook.com/infoespol/videos/761526244043971/
9
Unidad 1: Introducción a la
programación
Contenido
1.1 Conceptos Básicos de Lenguajes de Programación.
1.2 Interpretadores y Compiladores.
1.3 Ambientes de Programación.
1.4 Conceptos y Propiedades de Algoritmos.
Objetivos
• Distinguir las actividades de edición y compilación para la resolución
de problemas.
• Conocer los conceptos y propiedades de los algoritmos de
programación para la resolución de problemas
1.1 Conceptos Básicos de Lenguajes de
Programación
Conceptos Básicos
Computador: dispositivo capaz de realizar cálculos y
tomar decisiones lógicas mucho más rápido que los
humanos.
Programa: conjunto de instrucciones individuales que
son creadas por el programador.
Conceptos Básicos
Lenguaje de Programación: lenguaje formal diseñado
para realizar procesos que pueden ser ejecutados por
las computadoras.

El computador solo comprende ceros y unos.


Conceptos Básicos
Lenguaje de Programación: Para comunicarnos con los
computadores existen varias alternativas:
• Lenguaje de Máquina (Bits)
• Lenguaje de Bajo Nivel (Ensamblador)
• Lenguaje de Alto Nivel (Python, Scilab, C)
1.2 Interpretadores y Compiladores
Interpretadores y Compiladores
• El paso de traducción de lenguaje de programación a lenguaje
de máquina debe ocurrir en algún momento.
• Dependiendo de cuando, se llama:
• Interpretación: Cada vez que se ejecuta el programa,
durante la ejecución.
• Compilación: Una sola vez, al terminar de escribir el
programa.
• Ambas estrategias tienen ventajas y desventajas.
Interpretadores y Compiladores
Interpretador Compilador

• Puede ejecutarse en el momento a • Se ejecuta mucho más rápido.


pesar de que existan errores. • Verifica la sintáxis de todo el
• Permite depurar el programa más programa desde el principio.
eficientemente.
• Comienza a ejecutarse con mayor
rapidez.
Interpretador
• Existen dos modos de usarlo:

• Modo interactivo o inmediato


• Instrucciones en Python son ingresadas en la ventana del Interprete de Python (consola
de Python)
• Modo script
• Instrucciones en Python son escritas en un archivo
• Este archivo se llama script

CCPG1001 – Meiying Cheung 20


1.3 Ambientes de Programación
Ambientes de Programación

Code typing area


Console area
https://repl.it/languages/python3
Ambientes de Programación

https://www.python.org/downloads/
Ambientes de programación
• Entorno en el que un programador desarrolla sus
aplicaciones.
• PyCharm
Ambientes de Programación

IDE: PyCharm
(Community Edition)

https://www.jetbrains.com/pycharm/download/#section=windows
Ambientes de programación
• Entorno en el que un programador desarrolla sus
aplicaciones.
• PyCharm
1.4 Conceptos y Propiedades de Algoritmos
Problemas que nos enfrentamos
diariamente
• Tomar el bus para ir a la Universidad
• Comer
• Jugar al fútbol
• Poner un foco
• Subir y bajar escaleras
Metodología para la resolución de un
problema usando un computador
• La solución es correcta?
• Hay una manera más
REVISIÓN
sencilla de obtenerla?

ANÁLISIS DEL DISEÑO DE LA


IMPLEMENTACIÓN
PROBLEMA SOLUCIÓN

• Qué debe hacer el


• Cómo va a resolver el • Implementar la
programa
• Definir y entender el problema el programa solución en un lenguaje
problema • Divide y vencerás formal que el
• Conocer las variables de • Algoritmo que lo computador entienda
entrada, los procesos y las resuelve
salidas • Técnicas de
• Identificar las áreas de
conocimiento
representación de la
solución
Algoritmo
• Un algoritmo es una lista bien definida, ordenada y finita de
operaciones que permite llegar a la solución de un problema.
• Dado un estado inicial y una entrada, a través de pasos sucesivos y
bien definidos se llega a un estado final, obteniendo una solución.
Formalizar el proceso
• Hay que decirle exactamente al computador qué hacer.
• Dividir la solución en pasos formales que el computador pueda seguir
hasta llegar a la solución.
• El programador no solo debe resolver el problema, debe tener la
habilidad de decirle al computador cómo resolverlo paso a paso.
Características de los algoritmos
(Bien escrito?)
Claro

Algoritmo
Efectivo Finito
Conceptos y Propiedades de Algoritmos
Fuente: https://www.digitalhouse.com/noticias/5-claves-programador-exitoso-programacion/
Bibliografía
• Rodríguez, Luis. Python Programación Luis Rodríguez, Python
Programación.
• Downey, A., Elkner, J., & Meyers, C. (2012). How to think like a
computer scientist: learning with python. Green Tea Press, Wellesley,
Massachusetts.

You might also like