Introducci贸n a los algoritmos

1

驴Qu茅 aprender谩s sobre algoritmos y pensamiento l贸gico?

2

La importancia de entrenar tu pensamiento l贸gico

3

驴Qu茅 entiende una computadora?

4

驴Qu茅 es el sistema binario?

5

Metodolog铆a para construir un algoritmo: requerimientos y proceso mental

Tipos de datos y operadores l贸gicos

6

驴Qu茅 son Bits y Bytes?

7

驴Qu茅 son variables, constantes y tipos de datos?

8

Identifica las variables seg煤n los requerimientos de negocio

9

Strings (texto) y concatenaci贸n

10

N煤meros y operaciones matem谩ticas b谩sicas

11

Operaciones matem谩ticas compuestas: par茅ntesis y orden de evaluaci贸n

12

True y false: booleanos y tablas de la verdad

13

Arrays y funciones sobre arrays

14

驴C贸mo dise帽ar algoritmos con diagramas de flujo?

15

Define el tipo de dato seg煤n los requerimientos de negocio

Estructuras de control

16

If y Else: condicionales y comparaciones para proteger tus algoritmos

17

Switch y Case: condicionales en forma de casos

18

Excepciones y errores: Throw y Try Catch

19

驴Qu茅 es un ciclo? While, For y Do While

20

Diagrama de flujo con condicionales

21

Diagrama de flujo con ciclos

22

Tutorial de algoritmos de programaci贸n

23

Dise帽a algoritmos para resolver problemas de tu vida diaria

Encapsula tu c贸digo en funciones

24

驴Qu茅 es una funci贸n?

25

驴C贸mo desarrollar tu l贸gica de programaci贸n?

26

Modularizaci贸n de c贸digo

27

Flujo de funciones para encapsular algoritmos

28

Nomenclaturas de programaci贸n: camelCase, PascalCase, snake_case

29

驴Qu茅 es recursividad? Funciones que se llaman a s铆 mismas

30

Convierte algoritmos con ciclos a funciones recursivas

31

Resolviendo acertijos

Traduce tus algoritmos a lenguajes de programaci贸n

32

Diferencias entre lenguajes de programaci贸n

33

C贸mo escribir c贸digo en cualquier lenguaje de programaci贸n

34

C贸mo programar en JavaScript, Python y PHP

35

Introducci贸n al ejercicio en JavaScript

36

Programando en JavaScript

37

Introducci贸n al ejercicio en Python

38

Programando en Python

39

Introducci贸n al ejercicio en PHP

40

Programando en PHP

41

C贸mo programar en Java y Lenguaje C

42

Introducci贸n al ejercicio en Java

43

Programando en Java

44

Introducci贸n al ejercicio en C

45

Programando en Lenguaje C

46

Traduce diagramas de flujo a c贸digo en lenguajes de programaci贸n

Conclusiones

47

Pr贸ximos pasos para aprender programaci贸n profesionalmente

A煤n no tienes acceso a esta clase

Crea una cuenta y contin煤a viendo este curso

Diferencias entre lenguajes de programaci贸n

32/47
Recursos

Funciones habituales de lenguajes de programaci贸n

  • C# para desarrollo de videojuegos.
  • Dart para desarrollo movil con Flutter.
  • Python para backend y data.
  • JavaScript para frontend, backend y movil.

驴Qu茅 lenguaje de programaci贸n aprender primero?

Contribuci贸n creada por: Giuseppe Ram铆rez, Juan Felipe Peralta, Obed Paz

Aportes 90

Preguntas 9

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesi贸n.

隆Unanse al mundo de PHP!, 隆Os invoco!

Ahora que tengo tu atenci贸n, como dijo la profesora, no debes estancarte en un solo lenguaje, yo soy PHP Lover, sin embargo, me encanta trabajar con otros lenguajes como JavaScript, C++ o Python.
.
Les dejo algunas caracter铆sticas de algunos lenguajes de programaci贸n para que los vayan conociendo:
.
馃悩 PHP
.

  • Es un lenguaje muy flexible
  • Sus variables se declaran con un signo de d贸lar $
  • Es similar a JavaScript en algunos aspectos
  • Es un lenguaje con tipado opcional (pero recomendado)
  • Es un lenguaje con indentaci贸n opcional (pero recomendado)
  • Tiene una documentaci贸n completa, pero de lo m谩s completa que hay (y en espa帽ol 馃憖)
  • Hace uso de par茅ntesis y corchetes para definir su gram谩tica (sint谩xis)
  • No est谩 muerto, solo andaba de parranda 馃槈
  • El punto y coma es obligatorio

.
Ejemplo:

// Con tipado
function suma(int $a, int $b): int {
    return $a + $b;
}

echo suma();

// Sin tipado
function suma($a, $b) {
    return $a + $b;
}

echo suma(1, 2);

.
JavaScript

  • NO ES JAVA
  • Es un lenguaje muy flexible
  • Sus variables se declaran con las palabras let y constantes con const.
  • Es similar a PHP en algunos aspectos
  • Es un lenguaje sin tipado (a no ser que uses TypeScript)
  • Es un lenguaje con indentaci贸n opcional (pero recomendado)
  • Tiene una gran y enorme comunidad y existen un mont贸n de cosas que puedes hacer con 茅l (React, Vue, Angular, Svelte, WebPack, Babel, etc鈥)
  • Hace uso de par茅ntesis y corchetes para definir su gram谩tica (sint谩xis)
  • El punto y coma es opcional (la mayor铆a del tiempo)

.
Ejemplo:


// Forma cl谩sica
function suma(a, b) {
    return a + b;
}

console.log( suma() );

// Arrow Functions
const suma = (a, b) => {
    return a + b;
}

console.log( suma(1, 2) );

馃悕 Python

  • Es un lenguaje muy usado en el Data Science
  • Sus variables se declaran 煤nicamente poniendo el nombre y un operador de asignaci贸n
  • Es un lenguaje con tipado opcional (pero recomendado), para usarlo hay que importar la librer铆a de tipado de Python
  • Es un lenguaje con indentaci贸n obligatoria
  • NO siempre hace uso de par茅ntesis ni corchetes para definir su gram谩tica (sint谩xis)
  • Los bloques de c贸digo se suelen separar por un doble enter
  • El punto y coma NO se debe usar nunca
  • Es un delito federal escribir en alguna otra nomenclatura que no sea snake_case (no es un delito pero no lo hagas)

.
Ejemplo:


// Con tipado
def suma(a: int, b: int) -> int:
    return a + b


print( str( suma(1, 2) ) )

// Sin tipado
def suma(a, b):
    return a + b


print( str( suma(1, 2) ) )

Podr铆a ponerles m谩s lenguajes como Java o C++ pero con esos pueden darse una idea 馃槃

Conceptos

Tipado: El tipado es que debemos definir cada variable que definamos, en otros ya se define autom谩ticamente.

Identacion: Debe llevar unos espacios a su lado izquierdo para que funcione correctamente y identificar en que bloque va espec铆ficamente.

Corchetes: Este esta en la mayor铆a de los lenguajes, en aquellos que si es cuando empezaremos una l铆nea de c贸digo.

  • C# para desarrollo de videojuegos. 馃挏
  • Dart para desarrollo movil con Flutter. 馃挋
  • Python para backend y data. 馃挌
  • JavaScript para front, back y movil. 馃挍

He programado en otros lenguajes pero estos 4 tienen algo en comun que me han enamorado 馃槄馃挅

馃惐鈥嶐煉 La l贸gica es esencial porque nos permite analizar todas las posibilidades que tenemos, y ver cual es la mejor opci贸n para llegar a nuestro objetivo. El lenguaje de programaci贸n nos permitir谩 representar la opci贸n encontrada.

馃挕 Les recomiendo este video de Freddy donde habla sobre cu谩l lenguaje de programaci贸n aprender primero. 馃憞

Diferencias entre lenguajes de programaci贸n

Cada lenguaje de programaci贸n es diferente en cuanto a su sintaxis, pero la l贸gica que puedes aplicar a ellos siempre ser谩 la misma, por esa raz贸n es tan importante fortalecer tu pensamiento l贸gico, este te acompa帽ar谩 sin importar el lenguaje que elijas.

No te quedes con un solo lenguaje.

Existen muchos lenguajes y podemos usarlos para diferentes prop贸sitos. Ampl铆a tus opciones y tus conocimientos, siempre te puedes apoyar de la documentaci贸n para aplicar tus conocimientos en ellos. Existen lenguajes para diferentes 谩mbitos:

  • JavaScript: Es el lenguaje rey de la web, tambi茅n te sirve para mobile y backend.

Python: Este lenguaje es utilizado: Big data, Machine learning, Backend.

C#: Puede ir desde la programaci贸n de videojuegos, hasta backend robustas.

Diferencias sint谩cticas.

Puedes aplicar condiciones, estructuras de control, variables, pero con una sintaxis espec铆fica, lo mejor es apoyarse en la documentaci贸n para familiarizarse con dicho lenguaje.

Finalizaci贸n de l铆neas.

Hay lenguajes donde debes terminar cada instrucci贸n con un punto y aparte, otros donde es opcional, y otros donde no lo requiere. Lo m谩s importante aqu铆 es ser consistente si es opcional.

Tipado.

Hay lenguajes donde debes indicar su tipo de dato.

Indentaci贸n.

Es cuando escribes una l铆nea de c贸digo como hija de otra y la mueves / tabulas a la izquierda para su mejor legibilidad, hay lenguajes donde es obligatorio indentar un bloque de c贸digo para que cumpla su funci贸n.

Corchetes.

Hay ocasiones donde no debes utilizarlos.

La l贸gica es lo m谩s importante.

El objetivo fundamental de la indentaci贸n del c贸digo fuente es facilitar su lectura y comprensi贸n. Hay dos tipos de posibles lectores del c贸digo fuente: programas y personas. A los programas les da igual la indentaci贸n, leen bien nuestro c贸digo siempre que cumpla la sintaxis del lenguaje. Luego la indentaci贸n debe centrarse en la lectura y comprensi贸n del c贸digo por personas.
Un c贸digo bien indentado es un codigo elegante, saludos 馃槂

Diferencias sint谩cticas
Podr谩s implementar la misma l贸gica, algoritmos, condiciones, ciclos, variables, pero se escribir谩n de manera diferente 鈥 se debe conservar la l贸gica

Finalizaci贸n de l铆neas
Habr谩 lenguajes donde se finalice con ;
En otros no existe o en otros no lo exige

Tipado
Debes definir de que tipo ser谩 la variable
En algunos no ser谩 necesario simplemente defines la variable y su valor
En otros deveras definir si es un string, float, int, etc.
No sucede en todos los lenguajes

Indentacion
Debe llevar unos espacios a su lado izquierdo
Es una buena practica para tener una buena legibilidad del c贸digo

Corchetes
No olvides cerrarlos 馃槢
Y revisar en que lenguaje se deben usar

La l贸gica es lo mas importante

Hazte bueno en un lenguaje y aprende a utilizarlo en todo lo que el lenguaje es capaz

parece que este curso esta dirigido a mujeres

Les dejo otros datos, espero les sirva 馃槂


soy el 煤nico que piensa que este curso ha sido explicado como el tipico profe que se la pasa leyendo diapositivas?

Notas de la clase

Usar el lenguaje que m谩s te convenga para el proyecto, pero no te apegues a uno solo. 
  • Diferencias sint谩cticas: cada lenguaje tiene su propia forma de escribirse sin embargo todos conservan una l贸gica para trabajar. As铆 que no te preocupes, si aprendes a manejar la l贸gica, a resolver problemas, podr谩s entrar a cualquier lenguaje de programaci贸n y aplicarla en este.

  • Finalizaci贸n de l铆neas: Cada lenguaje tiene requerimientos para terminar una l铆nea, d贸nde puede ser opcional, regla o no es necesario. Todo depende del lenguaje.

function comer();
  • Tipado: Lenguajes que obligan a definir de qu茅 tipo va a ser cada variable que definas.
    Como hay otros que no lo requieren (javascript)
Que tipo de valor, por ejemplo: numero, string, float, entero鈥tc.
var numero1: num;
var nombre: string;
var edad: num;
var decimal: float;
var cumple: true;
var cumple: false;
  • Indentaci贸n: Escribir una l铆nea de c贸digo respetando hijos, padres, hermanos. Con el respectivo espacio con el fin de poder entender su relaci贸n a partir de estos, y facilitar lectura. Sin embargo hay lenguajes que lo requieren y otros no.

soy un padre
---soy un hijo
---soy un hermano
-----soy un hijo

  • Corchetes: Son opcionales en algunos lenguajes. Donde se usan enuncian un bloque de c贸digo despu茅s de la iniciaci贸n de una definici贸n de funci贸n, condicional, ciclo etc.

function ejemploDeFuncion() 
{retornar ejemplo de uso de corchetes};
  • La l贸gica es lo m谩s importante:
    Es la forma de resolver el problema, independiente del lenguaje.

Otra vez, el curso solo para mujeres, que feo que discriminen as铆!! Por que no pueden hacer un curso para hombres y mujeres por igual?

驴Existe la palabra identaci贸n como sin贸nimo de indentaci贸n?

25. Diferencias entre lenguajes de programaci贸n

Respecto a la identaci贸n todo depende del tipo de lenguaje que use aunque es altamente recomendado.

Ahora, 驴c贸mo elegir un lenguaje?

Pues les recomiendo este video de Fredy Vega donde 茅l personalmente te da unas pautas para elegir:

https://www.youtube.com/watch?v=C-Bivj9PLXk

Resumen

Diferencias sint谩cticas
Finalizaci贸n de lineas
Tipado
Indentaci贸n
Corchetes
La l贸gica es lo m谩s importante

Muy bien, mi objetivo es aprender JavaScript 馃槃

Las diferencias entre los lenguajes no te impiden llevar a cabo los algoritmos que creas

Al final no aprendes un solo lenguaje, ya que para hacer diversas tareas necesitas utilizar mas de uno.

Excelente!

Entonces en resumen lo que tenemos que hacer es mirar distintos tipos de lenguaje de programaci贸n, tener la mente abierta para todo esto y adem谩s reforzar la parte l贸gica del pensamiento para poder resolver distintos problemas a la hora de realizar nuestro c贸digo.

Corr铆janme si me equivoco.

https://youtu.be/C-Bivj9PLXk buen video para tomar iniciar en un lenguajes de programaci贸n

Me encanta que la maestra habla todo en femenino, me encanta porque todos los profesores de programaci贸n que he tenido han sido hombres y todo lo hablan en masculino
Me gusta tener una maestra y que todo lo diga en mi g茅nero :3

El mejor consejo鈥 no te cases con un lenguaje de programaci贸n

En cuanto a la indentaci贸n hoy en dia es mejor utilizar editores especializados en alg煤n lenguaje de progra. Recomiendo y uso visual studio code鈥

Hola!
Si eres nueva(o) en el mundo de programaci贸n atento a este video porque de ahora en adelante los 鈥;鈥 鈥)鈥 鈥渳鈥 ser谩n tus peores enemigos 馃槢

!)

Yo he empezado a aprender c++ pero su sintaxis es algo complicada

La l贸gica es lo m谩s importante. Algoritmo --> Lenguaje

igual siempre es intuitivo y como explica en el video la l贸gica es lo mas importante

genial a aprender

Importante identar la frase pero ojo no abusar del tab鈥

Lo importante es aprender la l贸gica de programaci贸n las opciones de los lenguajes cambian con el tiempo y el uso

Muy interesante y full bien explicado me encanto esta clase.

La l贸gica es lo esencial en el c贸digo ya que esa permite una secuencia del proceso a realizar.
La sint谩ctica es la manera de escribir el c贸digo en los diferentes leguajes de programaci贸n.

me encanta platzi day

Muy cierto, lo m谩s importante es la l贸gica, el lenguaje de programaci贸n es un medio m谩s no el fin. 馃懆馃徎鈥嶐煉

La l贸gica es patr贸n com煤n entre todos los lenguajes!

Luego creo que cometemos el error de creerlo saber pero nunca esta dem谩s volver a repasar los conceptos b谩sicos

Muy 煤til y mantener una buena pr谩ctica te hace un mejor programador

encuentra el lenguaje de programaci贸n con el que te acomodes y despu茅s vas revisando la documentaci贸n en otro lenguajes

Buena clase 馃槃

Esta industria siempre estar谩 en un cambio constante, as铆 que aprendamos y no nos quedemos atr谩s

Ahora queda la duda de con cu谩l lenguaje empezar.

Gracias!

Recomiendo que hagan el curso de Historia de la Programaci贸n: Lenguajes y Paradigmas que les ayudara a despejar algunas dudas y mejorar sus conocimientos bases.

Me gusta python.

Es un lenguaje muy usado en el Data Science
Sus variables se declaran 煤nicamente poniendo el nombre y un operador de asignaci贸n
Es un lenguaje con tipado opcional (pero recomendado), para usarlo hay que importar la librer铆a de tipado de Python
Es un lenguaje con indentaci贸n obligatoria
NO siempre hace uso de par茅ntesis ni corchetes para definir su gram谩tica (sint谩xis)

Espero manejar Js y Python.

驴cuantos lenguajes de programaci贸n existen en total

valla a Aprender lenjuages

Especializarse en un lenguaje de programaci贸n, pero abrir la puerta y ser receptivos en aprender otros lenguajes. Recuerden, nunca paren de aprender!

Diferencias Sint谩cticas, finalizaci贸n de l铆neas, tipado, indentaci贸n, corchetes para iniciar una linea, importante la l贸gica. (Mis apuntes resumidos)

En varios videos dice, siempre puedes referir a la documentaci贸n.
pero como se consulta la documentaci贸n? en internet? hay algun manual oficial de cada lenguaje? o c贸mo?

La profe explica claro y bien, pero ser铆a mucho mejor si en cada punto que menciona a lo largo del video incluye im谩genes, siento que es un poco m谩s complejo de interiorizar los conceptos para muchos de los que tenemos poca experiencia en programaci贸n,

Diapositiva 3 - Finalizaci贸n de l铆neas

Diapositiva 2 - Diferencias sint谩cticas

Diapositiva 1 - No te quedes en un solo lenguaje

Diapositiva 4 - Tipado

Diapositiva 5 - Indentaci贸n

Diapositiva 6 - Corchetes

Diapositiva 7 - La l贸gica es lo m谩s importante

Mantener el c贸digo bonito siempre fue lo m谩s 煤til.

Hay que conocer muy bien la sintaxis del lenguaje, para que tengamos todo bien homog茅neo

Los algoritmos no tienen lenguaje

Conserva la l贸gica de la soluci贸n, la sintaxis es lo de menos

Javascript :3

Indentaci贸n = Sangr铆a, en gram谩tica.

Yo empec茅 con JavaScript y estoy seguro que si me lo propongo puedo aprender cualquier lenguaje.

En el video de Fredy nos comparte lo siguiente: 鈥Una vez dominas un lenguaje, los dominas todos. Porque los lenguajes tienen much铆simas cosas en com煤n. Las funciones, las variables, los ciclos, las condiciones, la recursividad, la forma en la que funcionan los objetos, entre muchas otras minucias. El resto es aprender la sintaxis. Se aprendemos JavaScript, podemos evolucionar a Java, y a partir de ah铆 a C. Se aprendemos Python, podemos aprender muy r谩pido Go, y a partir de ah铆, lo que queramos鈥.

la l贸gica es lo mas importante
los algoritmos no tienen lenguaje
no te quedes con un solo lenguaje

Diferencias entre lenguajes de programacion

Diferencias sintacticas: La forma de escribirlo cambia en cada lenguaje

Finalizacion de lineas: Hay lenguajes donde se pide ; al final de cada linea de codigo, otros no y en otros es opcional.

Tipado: Algunos piden definir el tipo de variable a la par del nombre de la variable

Indentacion: Debe llevar unos espacios a su lado izquierdo para que funcione correctamente y identificar en que bloque va espec铆ficamente.

Corchetes: Este esta en la mayor铆a de los lenguajes, en aquellos que si es cuando empezaremos una l铆nea de c贸digo dentro de una funcion

Conceptos basicos:

  • Tipado: El tipado es que debemos definir cada variable, en otros ya se define autom谩ticamente.

  • Identacion: Debe llevar unos espacios a su lado izquierdo para que funcione correctamente y identificar en que bloque va espec铆ficamente.

  • Corchetes: Este esta en la mayor铆a de los lenguajes, en aquellos que si es cuando empezaremos una l铆nea de c贸digo.

aveces pienso con esta maestra que la palabra 鈥渂ueno鈥 no sirve solo 鈥渂uena鈥 D:

en mis inicios hice algunos algoritmos (recuerdo convertir un numero en la descripcion en palabras, por ejemplo una funcion que recibia 1267 y devolvia mil doscientos sesenta y siete), y lo hice con un diagrama de flujo y luego lo escribi en distintos lenguajes. La idea era tener un set de funciones que es llamaran igual y tuvieran el mismo funcionamiento. Como lenguaje en si C++ me sirvio como base ya que son muchos los que comparten la sintaxis (java, php, C#, entro otros)

Me ir茅 por el lado de PHP. 驴Y ustedes?

Yo cuando empec茅 en programaci贸n el lenguaje que mas me gusto fue JAVA, luego descubri C++ pero me enamoro Python por como era y todo lo que se puede hacer. Ahora quiero aprender Go para poder manejar el Back-end

I love JavaScript

Despu茅s de no haber logrado ning煤n acertijo de la clase anterior, sigo en crisis con mi l贸gica en esta jajaja

Jajaja. Esta clase me record贸 cada vez que una f贸rmula de Excel no me funcion贸 por la falta de un parentesis. Jejeje

Muy buena clase!

Hay muchos lenguajes pero antes de elegir un lenguaje debes pensar bien en donde quieres trabajar

En aplicaciones? En programas de escritorio? Paginas Web?

Investiga a fondo y elije donde quieres enfocarte, el tiempo es un recurso muy valioso que debes usar al 100%

Corchetes.

Indentaci贸n.

Tipado.

Finalizaci贸n de l铆neas.

Diferencias sint谩cticas.