Want to make creations as awesome as this one?

Diapositivas para uso en clase.

Transcript

Presentación

Indice

Unidad 2

Unidad 3

Presentación

Indice

Introducción a la Programación

Unidad 1

Introducción

Objetivos

Recursos

Evaluación

Motivación

Interactividad

Variables

Indice

Introducción

Objetivo

Recursos

Evaluación

Motivación

Consejo

Declaración y asignación de variables y Tipos de datos y sus características.

Unidad 1

Datos

Carácteristicas

Presentación

Indice

Introducción

Objetivo

Recursos

Evaluación

Motivación

Consejo

Operadores aritméticos, lógicos y de comparación.

Unidad 1

Indice

Introducción

Objetivo

Recursos

Evaluación

Motivación

Consejo

Expresiones y evaluación. Estructuras de control de flujo

Unidad 1

Indice

Introducción

Objetivo

Recursos

Evaluación

Motivación

Conclusión

Bucles: for, while, y do-while.

Unidad 1

Introducción

Objetivo

Recursos

Evaluación

Motivación

Conclusión

Pensamiento Algorítmico

Unidad 2

Recursos

Evaluación

Estructuras de Datos Básicas

Unidad 3

Comentar código

Introducción a la programación

S1 - Introducción a la programación

S2 - Declaración y asignación de variables y Tipos de datos y sus características.

S3 - Operadores aritméticos, lógicos y de comparación.

S4 - Estructuras de control de flujo: if, else, y switch.

S5 - Bucles: for, while, y do-while.

Unidad 1: Fundamentos de Programación

Expresiones y operadores

Recursos

Eloquent JavaScript - Pag. 29 - 39

El Libro de Python - Estructuras de Control

GitHub

VS Code Dev

expresiones condicionales en Python

Control de flujo en Python

Flujo de ejecución en JavaScript

En JavaScript, hay varios tipos de variables y tipos de datos que se pueden utilizar para almacenar y manipular información. Aquí tienes una descripción de los tipos de variables y datos más comunes en JavaScript:

var: Esta es una palabra clave utilizada para declarar variables en JavaScript antes de la introducción de let y const. Las variables declaradas con var tienen un alcance de función o global. let: Es una palabra clave introducida en ES6 (ECMAScript 2015) que se utiliza para declarar variables con un alcance de bloque, lo que significa que solo están disponibles dentro del bloque en el que se declaran. const: También introducida en ES6, const se utiliza para declarar variables que no pueden ser reasignadas después de su inicialización. Sin embargo, el valor de una constante declarada con const aún puede ser mutable si es un objeto o un array.

En Python, al igual que en JavaScript, hay varios tipos de variables y tipos de datos que se pueden utilizar para almacenar y manipular información. Aquí tienes una descripción de los tipos de variables y datos más comunes en Python:

Variables Globales: Declaradas fuera de funciones o bloques de código, tienen un alcance global en todo el programa. Variables Locales: Declaradas dentro de funciones o bloques de código, tienen un alcance limitado al bloque o función en el que se declaran. Variables de Instancia: Utilizadas en la programación orientada a objetos, son variables asociadas a objetos particulares y pueden ser accedidas a través de la instancia del objeto. Variables de Clase: También utilizadas en la programación orientada a objetos, son variables asociadas a la clase en sí misma y son compartidas por todas las instancias de la clase.

Convenciones de Nomenclatura

VB

C#

JS

BI

Jorge Pá

Ingeniero en Sistemas

Develop/DevOps/Fullstack

Habilidades

Software Engineer Fullstack

Actualmente laboro para Babel Group en el rol de outsorsing para el área bancaría y soporte en el ciclo de vida de desarrollo de software.

Educación y Experiencia

2015

2012

2008

2023

2017

2022

Visual Basic

C#

JavaScript

DevOps

Automatización de Procesos

Municipalidad de Cobán Desarrollor de Software

Universidad Mariano Gálvez Sede Cobán Ingeniería en Sistema y Ciencias de la Computación

Registro de Información Catastral Analista Catastral

Grupo HAME - Olmeca Desarrollador de Software

FEDECOVERA, R.L. Desarrollador de Software

BABEL GROUP Software Engineer Fullstack

Inteligencia de Negocios

Introducción

Con JavaScript, puedes controlar todo lo que sucede en la página del cliente, lo que te da una gran cantidad de control y flexibilidad.

- Douglas Crockford -

En la programación, las estructuras de control de flujo en JavaScript son esenciales para dirigir el comportamiento del programa. Desde condicionales hasta bucles, estas herramientas permiten tomar decisiones y repetir tareas, facilitando la creación de programas dinámicos y eficientes.

JavaScript es un lenguaje de programación usado en páginas web para hacerlas interactivas y dinámicas. Permite crear elementos como botones, animaciones y efectos visuales, mejorando la experiencia del usuario. También se usa en el desarrollo de aplicaciones móviles y juegos.

Introducción

"JavaScript es el único lenguaje que tengo que conocer para hacer que las aplicaciones web funcionen."

- Ryan Dahl - Software Engineer - NodeJS

Python es un lenguaje de programación popular y fácil de aprender que se utiliza en una amplia variedad de aplicaciones, desde desarrollo web y científico hasta inteligencia artificial y automatización. Es conocido por su sintaxis clara y legible, lo que lo hace ideal para principiantes en programación.

  1. Creatividad y Expresión
  2. Resolución de Problemas
  3. Oportunidades Profesionales
  4. Innovación y Cambio Social
  5. Autonomía y Flexibilidad
  6. Potencial de Ganancias
  7. Aprendizaje Continuo

Motivación

Acertijo

El puente de los 17 minutos

Formulario

Introducción a la programación

S1 - Introducción a la programación

S2 - Declaración y asignación de variables y Tipos de datos y sus características.

S3 - Operadores aritméticos, lógicos y de comparación.

S4 - Estructuras de control de flujo: if, else, y switch.

S5 - Bucles: for, while, y do-while.

Unidad 1: Fundamentos de Programación

Introducción

Python es un lenguaje tan simple que cualquiera puede comenzar a programar con él, y tan poderoso que nadie nunca necesita cambiar a otro.

- Larry Wall - Creador del lenguaje PERL

En el vasto mundo de la programación, los operadores son herramientas esenciales que nos permiten realizar diversas operaciones, desde cálculos matemáticos hasta evaluaciones de condiciones lógicas. En este curso, nos sumergiremos en el tema de los operadores aritméticos, lógicos y de comparación en el contexto del lenguaje de programación Python y JavaScript.

Ejercicios

Ejercicios en clase, el archivo se debe de subir a grupo de teams. Valor 2 puntos

Multiplicar

While

Exposiciones

Factorial

suma

For

Escribe un bucle for que imprima los números del 1 al 10.

Escribe un programa que solicite al usuario un número entero positivo n y luego calcule la suma de todos los números desde 1 hasta n.

Escribe un bucle while que imprima los números del 1 al 10.

Escribe un programa que solicite al usuario un número entero y luego imprima la tabla de multiplicar de ese número del 1 al 10.

Escribe un programa que solicite al usuario un número entero positivo n y luego calcule su factorial (n!). El factorial de un número n es el producto de todos los enteros positivos menores o iguales a n.

Próxima semana.

Prueba Psicotécnica

5 ejercicios para resolver en 5 a 10 minutos.

Prueba

  1. Desarrollo Web Interactivo
  2. Ecosistema de Herramientas y Frameworks
  3. Aprendizaje Continuo y Adaptabilidad
  4. Facilidad de Aprendizaje
  5. Versatilidad y Aplicaciones Diversas
  6. Aplicaciones en Inteligencia Artificial y Ciencia de Datos

Motivación

Interactividad

Fomentar la participación activa de los estudiantes haciendo preguntas, promoviendo la discusión y realizando actividades cortas durante la presentación.

Los bucles son esenciales en programación para automatizar tareas repetitivas y manipular datos de manera eficiente. Dominar los bucles mejora la eficiencia del código y permite crear algoritmos más dinámicos y flexibles, lo que es fundamental para desarrollar software efectivo y funcional.

Motivación

Historia

XIX

Comienzos

Charles Babbage y Ada Lovelace en la creación de la Máquina Analítica, considerada como la primera computadora mecánica programable. Lovelace, en particular, es reconocida como la primera programadora de la historia.

1950

Primeros Lenguajes

La era moderna de la programación comenzó en la década de 1950 con la invención de los primeros lenguajes de programación, como el Fortran (Formula Translator) y el COBOL (Common Business Oriented Language)

1960

Lenguajes de Alto Nivel

Lenguajes de alto nivel como el Lisp, el ALGOL y el BASIC, que facilitaron la escritura de programas más complejos. También se desarrollaron sistemas operativos como Unix, que proporcionaron un entorno más estructurado para la ejecución de programas

1980

Revolución Personal

Comienzo de la era de la revolución personal con la introducción de las computadoras personales, como el IBM PC y el Apple Macintosh. Esto llevó a una explosión en la popularidad de la programación.

1990

Internet y la Web

La creación de Internet y la World Wide Web en la década de 1990 revolucionó la forma en que se desarrollan y utilizan los programas. Surgieron nuevos lenguajes y tecnologías como HTML, CSS, JavaScript y PHP

XXI

La Era de la Computación en la Nube y la Inteligencia Artificial

La computación en la nube y la inteligencia artificial han emergido como áreas de enfoque significativas en la programación. Desarrollo de servicios en la nube y el aprendizaje automático ha llevado a una nueva ola de innovación y avance tecnológico

2024

Ustedes

Inician su proceso para aprender y descubrir nuevas oportunidades y retos. Bienvenidos a Ingeniería en Sistemas - UPANA.

Natural

Programación

Lenguajes de bajo nivel Lenguaje máquina Lenguajes de medio nivel C y C++ Lenguajes de alto nivel

Lenguajes naturales Más ambiguo. Los humanos tienen la habilidad de determinar el significado de una expresión. La redundancia incorporada en los lenguajes humanos permite que se resuelva cierta ambigüedad gracias al contexto.

Lenguajes de programación Más estricto y menos tolerante. Los ordenadores son muy precisos en cuanto a las instrucciones que les gusta recibir. Además, los lenguajes de programación prácticamente no son redundantes, así evitan la ambigüedad.

Introducción a la programación

S1 - Introducción a la programación

S2 - Declaración y asignación de variables y Tipos de datos y sus características.

S3 - Operadores aritméticos, lógicos y de comparación.

S4 - Estructuras de control de flujo: if, else, y switch.

S5 - Bucles: for, while, y do-while.

Unidad 1: Fundamentos de Programación

Microsoft Developer

Recursos

Google Developer

React Dev

Angular Dev

Bootstrap

fullstackopen

freecodecamp

hackerrank

refactoring

techdevguide

GitHub

Visual Studio Code

Visual Studio

Android Studio

Sublime Text

NPM

Postman

NodeJS

Base de la Programación: Los operadores son los componentes básicos de cualquier programa en Python ó JavaScript. Comprender cómo funcionan estos operadores es fundamental para construir algoritmos y resolver problemas de programación.

Motivación

Manipulación de Datos: Con los operadores aritméticos, es posible realizar cálculos matemáticos básicos y avanzados, lo que es esencial para la manipulación y procesamiento de datos en cualquier aplicación.

Toma de Decisiones: Los operadores de comparación y lógicos son fundamentales para evaluar condiciones y tomar decisiones en un programa. Esto es crucial para crear lógica de control de flujo, como bucles y condicionales, que son necesarios en casi todos los programas.

dominar las herramientas fundamentales que permiten dirigir el flujo de ejecución de un programa, capacitar al estudiante para tomar decisiones lógicas y repetir acciones según las condiciones, lo que facilita la creación de programas más dinámicos y eficientes.

Introducción a la programación

S1 - Introducción a la programación

S2 - Declaración y asignación de variables y Tipos de datos y sus características.

S3 - Operadores aritméticos, lógicos y de comparación.

S4 - Estructuras de control de flujo: if, else, y switch.

S5 - Bucles: for, while, y do-while.

Unidad 1: Fundamentos de Programación

Aprende JavaScript dev

Recursos

Aprende JavaScript org

Aprende Python

Python org

Artículo JS vs Python

Eloquent JavaScript

El Libro de Python

GitHub

Google Chrome Dev

Introducción a la programación

S1 - Introducción a la programación

S2 - Declaración y asignación de variables y Tipos de datos y sus características.

S3 - Operadores aritméticos, lógicos y de comparación.

S4 - Estructuras de control de flujo: if, else, y switch.

S5 - Bucles: for, while, y do-while.

Unidad 1: Fundamentos de Programación

Bucles en JS

Recursos

Eloquent JavaScript Pag. 29-39

El Libro de Python

Code Runner

npm i prompt-sync

Bucles en Python

Microsoft Bucles python

const prompt = require("prompt-sync")({sigint : true});

  • Comprender Fundamentos de Programación.
  • Aplicar Conceptos en la Resolución de Problemas.
  • Desarrollar Habilidades Prácticas en Programación.

Escribir y Ejecutar Programas Básicos: Podrán escribir y ejecutar programas simples en un lenguaje de programación, utilizando conceptos fundamentales como variables, estructuras de control y funciones.

Conclusión

Los bucles son una herramienta poderosa para cualquier programador, permitiendo automatizar tareas repetitivas, procesar grandes volúmenes de datos y crear programas más eficientes y flexibles. Comprender cómo y cuándo utilizar los bucles de manera efectiva es esencial para el desarrollo de software robusto y funcional.

Pensar de manera algorítmica te ayuda a resolver problemas de manera estructurada y ordenada. Es como seguir un mapa paso a paso para llegar a una solución. Al desarrollar esta habilidad, te vuelves más eficiente en la resolución de problemas y más confiado en tu capacidad para enfrentar desafíos.

Motivación

Introducción

Los bucles son una característica fundamental en la programación que permiten ejecutar un bloque de código repetidamente según ciertas condiciones. Estas estructuras de control son esenciales para automatizar tareas repetitivas y realizar operaciones sobre conjuntos de datos de manera eficiente.

Radica en su capacidad para mejorar la eficiencia y la legibilidad del código. Al utilizar bucles, los programadores pueden reducir la cantidad de código necesario para realizar una tarea, lo que facilita su mantenimiento y comprensión. Además, los bucles permiten crear algoritmos más dinámicos y flexibles, adaptándose a diferentes situaciones y escenarios.

Importancia

Elaboración de diagramas de flujo para el parcial.

Introducción a la programación

S1 - Introducción a la programación

S2 - Declaración y asignación de variables y Tipos de datos y sus características.

S3 - Operadores aritméticos, lógicos y de comparación.

S4 - Estructuras de control de flujo: if, else, y switch.

S5 - Bucles: for, while, y do-while.

Unidad 1: Fundamentos de Programación

Introducción

Es la habilidad de formular problemas en términos de algoritmos, es decir, secuencias lógicas de pasos bien definidos para resolver un problema computacional. Se trata de un proceso fundamental en la programación y la resolución de problemas, que implica la capacidad de descomponer un problema complejo en pasos más simples y lógicos. Al dominar el Pensamiento Algorítmico, los individuos pueden desarrollar soluciones eficientes y efectivas para una amplia variedad de problemas, desde tareas simples hasta desafíos más complejos. Esta habilidad es esencial en campos como la informática, la ciencia de datos y la ingeniería de software, donde la capacidad de diseñar algoritmos sólidos es clave para el éxito.

Operadores Aritméticos, lógicos y de comparación.

Test

Realiza de manera conciente y honesta el siguiente test.

Diseño y Construcción de Algoritmos

Recursos

LucidChart

SmartDraw

Algoritmos y Estructura de Datos

Algoritmia y Base de Datos

Canvas

Miro

Proceso de escribir, diseñar, probar y mantener el código fuente de un programa de computadora. Esta actividad implica utilizar lenguajes de programación, que son conjuntos de instrucciones y reglas que permiten a los programadores comunicarse con las computadoras y crear software funcional.

¿Qué es programación?

"Programar es más que una simple tarea mecánica. Es una expresión creativa de nuestras ideas y una forma de dar vida a la innovación."

- Reshma Saujani, fundadora y directora ejecutiva de Girls Who Code.

Motivación

Las estructuras de control de flujo son como las herramientas mágicas que te permiten dar vida a tus programas. Con ellas, puedes tomar decisiones inteligentes y hacer que tus programas se adapten a diferentes situaciones, lo que te convierte en un verdadero mago de la programación.

Mutabilidad: Algunos tipos de datos, como los objetos y los arrays, son mutables, lo que significa que su contenido puede cambiar después de su creación. Inmutabilidad: Otros tipos de datos, como los números, las cadenas y los booleanos, son inmutables, lo que significa que no pueden ser modificados después de su creación.Coerción: JavaScript realiza coerción de tipos automáticamente en ciertas situaciones, lo que puede causar comportamientos inesperados. Por ejemplo, la concatenación de una cadena y un número convierte automáticamente el número en una cadena.Comparación de Igualdad: JavaScript tiene dos operadores de igualdad, == y ===. El operador == realiza una comparación con conversión de tipos, mientras que el operador === realiza una comparación estricta sin conversión de tipos.

Mutabilidad: Algunos tipos de datos, como las listas y los diccionarios, son mutables, lo que significa que su contenido puede cambiar después de su creación.Inmutabilidad: Otros tipos de datos, como las tuplas y las cadenas, son inmutables, lo que significa que no pueden ser modificados después de su creación. Indexación: Algunos tipos de datos, como las listas y las cadenas, admiten la indexación para acceder a elementos individuales mediante un índice numérico. Iterabilidad: Muchos tipos de datos en Python, como las listas, las tuplas y los diccionarios, son iterables, lo que significa que se pueden recorrer en bucles for.

Conclusión

Es una habilidad fundamental en la programación y en la resolución de problemas en general. Nos permite abordar problemas de manera estructurada, encontrar soluciones eficientes y desarrollar la confianza necesaria para enfrentar desafíos en cualquier campo. Al dominar el Pensamiento Algorítmico, nos convertimos en solucionadores de problemas más efectivos y creativos.

Number (Número): Representa valores numéricos, ya sea enteros o de punto flotante. Ejemplos: 10, 3.14, -5. String (Cadena): Representa texto encerrado entre comillas simples ('') o dobles (""). Ejemplos: "Hola", 'Mundo', "123". Boolean: Representa un valor lógico verdadero o falso. Ejemplos: true, false. Undefined: Representa un valor no definido. Se asigna automáticamente a las variables que se declaran pero no se inicializan. Ejemplo: let x; Null: Representa la ausencia de valor o un valor nulo. Ejemplo: let y = null; Object (Objeto): Representa una colección de pares clave-valor. Ejemplo: let persona = {nombre: "Juan", edad: 30}; Array (Arreglo): Representa una colección ordenada de elementos. Ejemplo: let numeros = [1, 2, 3, 4, 5]; Function (Función): Representa un bloque de código reutilizable que puede ser ejecutado cuando se invoca. Ejemplo: function sumar(a, b) { return a + b; }

Enteros (int): Representa números enteros. Ejemplos: 10, -5, 1000. Flotantes (float): Representa números de punto flotante, es decir, números con decimales. Ejemplos: 3.14, -0.5, 2.0. Cadenas (str): Representa texto encerrado entre comillas simples ('') o dobles (""). Ejemplos: "Hola", 'Mundo', "123". Booleanos (bool): Representa un valor lógico verdadero (True) o falso (False). Listas (list): Representa una colección ordenada y mutable de elementos. Ejemplo: [1, 2, 3, 'a', 'b', 'c']. Tuplas (tuple): Similar a las listas, pero son inmutables una vez creadas. Ejemplo: (1, 2, 3, 'a', 'b', 'c'). Diccionarios (dict): Representa una colección de pares clave-valor. Ejemplo: {'nombre': 'Juan', 'edad': 30}. Conjuntos (set): Representa una colección no ordenada y sin elementos duplicados. Ejemplo: {1, 2, 3, 4, 5}.

Prueba

Prueba de tipos de datos

6 preguntas para resolver en 5 a 10 minutos.

Comprender los operadores aritméticos, lógicos y de comparación en Python y JavaScript, así como enseñarles cómo utilizar estos operadores de manera efectiva en sus programas.

aritméticos

  • Descripción de los operadores aritméticos básicos: suma (+), resta (-), multiplicación (*), división (/) y módulo (%).
  • Ejemplos de cómo se utilizan estos operadores para realizar cálculos simples.

lógicos

  • Explicación de los operadores lógicos básicos: AND (&&), OR (||) y NOT (!).
  • Ejemplos de cómo se utilizan estos operadores para combinar condiciones y controlar el flujo del programa mediante expresiones booleanas.

comparación

  • Igualdad (==), desigualdad (!=), mayor que (>), menor que (<), mayor o igual que (>=) y menor o igual que (<=).
  • Demostración de cómo se utilizan estos operadores para comparar valores y evaluar expresiones booleanas.

aritméticos

  • Descripción de los operadores aritméticos básicos: suma (+), resta (-), multiplicación (*), división (/) y módulo (%).
  • Ejemplos de cómo se utilizan estos operadores para realizar cálculos simples.

lógicos

  • Explicación de los operadores lógicos básicos: AND (and), OR (or) y NOT (not).
  • Ejemplos de cómo se utilizan estos operadores para combinar condiciones y controlar el flujo del programa mediante expresiones booleanas.

comparación

  • Igualdad (==), desigualdad (!=), mayor que (>), menor que (<), mayor o igual que (>=) y menor o igual que (<=).
  • Demostración de cómo se utilizan estos operadores para comparar valores y evaluar expresiones booleanas.

Dominar el uso de bucles para automatizar tareas repetitivas, iterar sobre datos y escribir código más eficiente.

Desarrollar la capacidad de analizar problemas, diseñar algoritmos eficientes y resolver problemas computacionales de manera sistemática y efectiva utilizando el Pensamiento Algorítmico.

Control de flujo

Operadores Básicos en Python con ejemplos

Recursos

Eloquent JavaScript

El Libro de Python

GitHub

Google Chrome Dev

explorando operadores lógicos

Operadores aritméticos JS

Operadores aritméticos y de asignación en Python

"Desarrollar habilidades sólidas en la programación que permitan diseñar y crear soluciones tecnológicas innovadoras, abriendo oportunidades en campos como el desarrollo web, la ciencia de datos, la inteligencia artificial y más, lo que contribuirá al crecimiento personal y profesional del estudiante en el mundo digital actual."

Formulario en Teams - Funciones JS

JavaScript

Recursos

w3schools