Programación desde cero

Recursos educativos sobre programación e informática.

Conceptos generales

» conceptos

Publicaciones por categoría: conceptos


pascal tutoriales mobile ejercicios python c++ poo otros java desafios pseudocodigo csharp bd
2023
11 Jul 2023

Ámbito (o scope, en inglés)

El ámbito es un concepto importante en muchos lenguajes de programación. Puede parecernos confuso cuando empezamos a programar pero luego...

07 May 2023

Qué es yield en Python

Esta es una de esas herramientas que aprendemos cuando queremos dar un pasito más allá y mejorar nuestro código Python....

2022
04 Dec 2022

Qué es un framework

Hoy en día existen frameworks para casi cualquier tipo de software que se quiera desarrollar. También los hay híbridos, que...

13 Nov 2022

Álgebra de Boole

Aunque parezca un tema más apropiado para expertos en matemática o electrónica, el álgebra de Boole nos permite analizar los...

25 Oct 2022

Microservicios vs. monolito

Una de las primeras grandes aplicaciones en usar microservicios fue Netflix, en 2009, cuando notó problemas para mantener la creciente...

18 Sep 2022

Arquitecturas little-endian y big-endian

No todas las computadoras tienen la misma arquitectura (aunque algunas son más populares y otras se han dejado de usar)....

27 Aug 2022

Compiladores e intérpretes

La diferencia entre lenguajes “compilados” e “interpretados” suele influir en sus prestaciones, su velocidad de ejecución y su flexibilidad. Mientras...

16 Aug 2022

URI, URN, URL. ¿Qué son?

La diferencia entre URI, URN y URL puede ser solo una cuestión conceptual, pero siempre es bueno saber diferenciarlos (especialmente...

2021
30 Dec 2021

APIs REST vs. SOAP

Sé que he estado un tiempo sin publicar pero no quería despedir el año sin compartirles algún nuevo material 😊....

04 Jul 2021

La capacidad y longitud de un arreglo, o su dimensión física y lógica

Los arrays son estructuras básicas, a partir de las cuales en varios lenguajes se implementan otras con diversas operaciones. Normalmente,...

23 Jun 2021

El array, una de las principales estructuras de datos

Los arrays (o “arreglos”, como suele llamárselos en Latinoamérica) son una de las primeras estructuras de datos que aprendemos, por...

13 Jun 2021

TDD ("Test Driven Development")

La práctica de “test driven development” (“desarrollo guiado por pruebas”) nos obliga a “pulir” nuestras habilidades para crear pruebas unitarias...

07 Jun 2021

Pruebas unitarias, o "unit tests"

Una buena práctica que usualmente pasamos por alto cuando estamos empezando a programar es la de escribir pruebas para nuestro...

09 Mar 2021

Algunas estructuras de datos comunes

Las estructuras de datos son fundamentales a la hora de mejorar nuestra algoritmia y convertirnos en buenos programadores. Existen libros...

24 Feb 2021

Los 5 "verbos" HTTP más usados

Muchas de las aplicaciones que usamos diariamente llevan por detrás una API REST que está constantemente recibiendo peticiones y enviando...

28 Jan 2021

Conceptos básicos sobre APIs

Hoy las APIs están presentes en casi todas las aplicaciones. Por ejemplo, para permitir que el front-end se comunique con...

21 Jan 2021

Excepciones

El manejo de excepciones es una parte crucial de una aplicación. ¿Quién no se pone un poco tenso cada vez...

18 Jan 2021

Listas por comprensión en Python

🐍 Python tiene una herramienta que puede resultar muy útil para escribir código más breve: las “listas por comprensión”.

11 Jan 2021

Representar datos con el formato JSON

El formato JSON se ha vuelto muy popular para transmitir datos en aplicaciones cliente-servidor, especialmente en aplicaciones web. En muchos...

08 Jan 2021

Representar datos con el formato XML

XML es uno de los formatos más ampliamente usados para transmitir información en internet, por su sintaxis simple en texto...

05 Jan 2021

El desplazamiento de bits ("shift")

Una de las operaciones más básicas para manipular bits es la de “desplazamiento” (“shift”). 😏 ¿Sabías que desplazar todos los...

2020
27 Nov 2020

Condiciones de carrera o "race conditions"

Cuando nuestra aplicación require el uso de “threads” (o “hilos”) podemos encontrarnos con el temido problema de las condiciones de...

03 Nov 2020

Selectores CSS

👉 Ya vimos qué son HTML y CSS. Ahora veamos algunos ejemplos de selectores que podemos usar en CSS para...

31 Oct 2020

Conceptos de HTML

👉 HTML es el lenguaje por excelencia para definir la estructura de una página web. Podemos ver el documento HTML...

28 Oct 2020

Conceptos de CSS

👉 Con CSS podemos manipular los estilos de un documento HTML y también hacer que se vea de diferentes formas...

21 Aug 2020

Las tablas de verdad (lógica proposicional)

Cuando empezamos a programar es inevitable que nos encontremos con ella: la lógica proposicional. Aunque es una materia muy amplia,...

11 Jun 2020

Patrones de diseño

🤓 ¿Aplicaste alguna vez un patrón de diseño orientado a objetos? ¿Hay alguno que utilices a menudo? ▶️ Video introductorio...

29 May 2020

Las referencias en C++

Las referencias en C++ suelen confundirse con los punteros, pero el concepto es diferente. Es importante conocerlas ya que C++...

22 May 2020

Las coerciones en Javascript

Javascript es uno de los lenguajes más populares en el desarrollo web, pero tiene sus “truquillos”. La coerción de tipos...

30 Apr 2020

Video - Punteros

▶️ En este video analizamos en detalle el concepto y funcionamiento de los punteros, un tema de base para comprender...

24 Apr 2020

El operador ternario

Algunos opinan que los operadores ternarios son una mala práctica porque restan legibilidad al código. Otros dicen que es mejor...

20 Apr 2020

Evaluación por circuito corto en operaciones lógicas

¿Qué sucede si tenemos una condición como if (A and B), donde B resulta ser un objeto nulo? Tener en...

10 Apr 2020

Visualizar la ejecución del código

Cuando programamos, la depuración (o “debugging”) del código es fundamental. Especialmente cuando se está aprendiendo. Esta herramienta gratuita y en...

26 Mar 2020

Pre y post condiciones de un algoritmo

Probar y documentar nuestro código es una tarea crucial en el desarrollo de software y conocer sobre las pre y...

03 Mar 2020

Los parámetros en las funciones

Los parámetros no siempre son necesarios en las funciones, pero muchas veces existen. ¿Sabes cuándo pasarlos y de qué forma?...

13 Jan 2020

XOR a nivel bit

Las operaciones a nivel bit trabajan con números binarios y son muy comunes en ciertos entornos (como los sistemas embebidos)....

09 Jan 2020

¿Por qué es buena práctica evitar variables globales?

Uno de los primeros consejos al empezar a programar es el de “evitar variables globales”. Normalmente el programador novato no...

07 Jan 2020

Video - Recursividad

En este video analizamos el concepto de recursividad (o “recursión”), con ejemplos sobre funciones y visualización paso a paso de...

04 Jan 2020

Los principios SOLID en el diseño de objetos

Los principios “SOLID” creados por el ingeniero Robert Martin son una guía para el diseño de proyectos OO 🤠 ▶️...

02 Jan 2020

Las funciones

Volvamos a lo básico: las funciones. Su uso es sencillo pero, como en todo, es importante seguir buenas prácticas. ▶️...

2019
20 Dec 2019

Listas enlazadas - algunas operaciones

Las listas enlazadas son la base para otras estructuras de datos. Acá vemos algunos ejemplos genéricos en pseudocódigo. (Fuente: “Introduction...

08 Dec 2019

Desarrollo de un algoritmo

Siempre es bueno encarar paso a paso un problema a resolver, utilizando nuestros conocimientos sobre las herramientas disponibles. Fuente: “Objects...

08 Nov 2019

Las expresiones regulares (regex)

Nuestras amigas, las expresiones regulares 🤠 Un breve resumen sobre un tema bastante extenso, con un ejemplo para describir direcciones...

22 Sep 2019

Buenas prácticas para nuestros condicionales

👉 Que compile no significa que haga lo que se pide. Pero que compile y que haga lo que se...

04 Sep 2019

La complejidad algorítmica

Un breve resumen con algunos tipos de complejidad algorítmica comunes. Un problema podría resolverse con diferentes algoritmos y la complejidad...

26 Jul 2019

Definiciones - IDE, framework, lenguaje

Algunos conceptos básicos que suelen crear confusión en los principiantes: ¿qué es un IDE (“entorno integrado de desarrollo”)?, ¿qué es...

19 Jul 2019

Errores y dudas comunes

Algunas dudas y errores comunes al programar, especialmente cuando estamos aprendiendo. En los ejemplos mostrados se utiliza pseudocódigo y no...

14 Jun 2019

Buscar y solucionar errores en el código

Descargar en PDF Versión para impresión

10 Mar 2019

Videos - Programación desde cero con Python

Una serie de videos con un curso de programación en Python desde cero: sin necesidad de tener conocimientos previos en...

2018
15 Nov 2018

Videos - aprendiendo los conceptos básicos de programación con Pilas Bloques

Para aprender los conceptos básicos de programación existe Pilas Bloques, una herramienta gratuita, disponible para ser usada en el navegador...

2017
22 Oct 2017

Video - Stack y heap

Diferencias entre stack y heap, usando ejemplos en C++.

2016
30 Mar 2016

Compiladores e intérpretes, lenguajes compilados e interpretados

Código de máquina Cuando escribimos código en algún lenguaje de programación, normalmente éste necesita ser convertido a un lenguaje que...

29 Mar 2016

Lenguajes de bajo y alto nivel

En el mundo de los lenguajes de programación suele categorizarse a los lenguajes mediante diferentes criterios: estáticos o dinámicos, fuertemente...

2015
23 Nov 2015

Funcionamiento del while (animaciones)

Fuente: blog.penjee.com Estas animaciones permiten entender mejor la forma en que funciona un bucle while. Los ejemplos están escritos en...

23 Oct 2015

Buenas prácticas de programación

Las buenas prácticas diferencian a los buenos programadores de los malos programadores. Son ciertas reglas o lineamientos acordados de manera...

27 Jun 2015

Pseudocódigo

El pseudocódigo es una manera informal de escribir código sin utilizar la sintaxis estricta de algún lenguaje de programación. No...

23 Jun 2015

Funciones

Podríamos decir que casi todo lenguaje de programación usado en la actualidad admite la separación de su código en módulos....

23 Jun 2015

Estructuras de control

La programación imperativa consiste en dar una serie de instrucciones para que la computadora las ejecute en el orden en...

21 Jun 2015

Abstracción en una iteración fija (for)

En algunos lenguajes, como Python o Java, existe una forma de escribir un “for” que automáticamente itere por los elementos...

20 Jun 2015

Diseño de un algoritmo

Diseñar un algoritmo es armar una solución para un problema o desafío a superar. Imaginemos que el desafío es construir...

20 Jun 2015

Construcción de un algoritmo

Los algoritmos resuelven problemas Hoy en día, los algoritmos son automáticamente asociados a algo que se hace en una computadora...

20 Jun 2015

Abstracción

Abstraerse es “separar las cualidades de un objeto para considerarlas aisladamente”, ver algo desde otro punto de vista sin prestar...

20 Jun 2015

Abstracción y modularización

Cuando se divide un programa en módulos, la intención es crear una resolución de un problema “grande” a través de...

18 Jun 2015

Tipos de datos

La información representada en un programa constituye los “datos” que este programa manipula. Algunos lenguajes de programación son fuertemente tipados,...

18 Jun 2015

Qué son las variables

Probablemente uno de los primeros conceptos con que se encuentra cualquier novel programador es el de variable. La forma más...

18 Jun 2015

Video - Ejemplo de tabla de verdad

En este video efectuamos un breve repaso de la tabla de verdad de cada operación y examinamos cómo obtener la...

18 Jun 2015

Tablas de verdad

Valor de verdad Las tablas de verdad son un elemento de la lógica proposicional para determinar el valor de verdad...

17 Jun 2015

Empezando a programar

Programar es dar instrucciones a una computadora para que solucione algún problema. Mediante la programación, junto a varios otros componentes...