Mostrando entradas con la etiqueta curso. Mostrar todas las entradas
Mostrando entradas con la etiqueta curso. Mostrar todas las entradas

domingo, 29 de diciembre de 2024

Introduction to Algorithms (Curso en Inglés)

En está ocasión compartimos un curso gratuito sobre algoritmos.

Un algoritmo es una secuencia de pasos definidos para resolver un problema específico o para realizar una tarea particular. En informática son útiles para:

  • Crear programas computacionales que pueden ejecutar tareas complejas y repetitivas. 
  • Crear procesos que trabajen con grandes cantidades de datos. 
  • Optimizar tareas y mejorar rendimiento en sistemas. 
  • Etc.

Ejemplo. Crear un algoritmo en el que se solicita verificar si un archivo llamado "datos.dat" existe. Si no existe, indicar que el archivo no existe.

Algoritmo_Existe_Archivo

Inicio

    Definir ruta = "Fuentes/datos.dat"

    Si archivo_existe(ruta) entonces
        Abrir archivo(ruta)
    Sino
        Mostrar "El archivo datos.dat no existe en el directorio Fuentes."
    Fin Si

Fin

Características (ideales) que debe tener un algoritmo

  1. Debe ser claro, no ambiguo. 
  2. Finito, tener un número determinado de pasos. 
  3. Efectivo, debe funcionar, cada paso deber ser realizable con los recursos disponibles. 
  4. Tener una entrada, datos con que trabajar. 
  5. Tener al menos una salida, un resultado. 
  6. Determinista, para un conjunto dado de entradas, el algoritmo debe producir siempre el mismo resultado. 
  7. Cumplir con la Generalidad, debe ser lo suficientemente general para resolver no solo un caso específico, sino toda una clase de problemas similares. 
  8. Independiente del lenguaje, un algoritmo debería ser fácilmente implementado en cualquier lenguaje de programación. 
  9. Ser lo mínimo eficiente
  10. Debería ser modular, los algoritmos deben ser diseñados para ser modulares, permitiendo que partes del mismo puedan ser reutilizadas o combinadas con otros algoritmos para resolver problemas más complejos.

Puedes acceder al curso cobre algoritmos en el enlace.

¡Saludos!

Enlaces:

https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2020/pages/lecture-notes

domingo, 14 de diciembre de 2014

¿Por qué programamos?

Es una pregunta que deberíamos hacernos antes de empezar a estudiar y/o aprender programación. La pregunta parece tan sencilla y compleja a la vez.

¿Por qué programamos? Algunos dirán que programamos porque nos pagan, otros porque les parece muy divertido y otros más divagarán en sus respuestas.

Tal vez la respuesta más lógica (y adecuada) es porque necesitamos resolver problemas. Es obvio que estos problemas tienen que ver con las empresas o centros de trabajo donde estamos. Donde se nos paga por crear programas o depurar proyectos existentes.


También existen personas que programan porque les motiva a crear cosas y no necesariamente estudiaron computación (o algo relacionado con las computadoras).  Así como hay gente que programa aunque no les guste (sic). 

Con el tiempo "el gusto de programar" puede terminar; gente que es muy buena programando y resolviendo problemas relativos a la programación, pero que termina odiando su trabajo.

Los que nos dedicamos a la programación debemos entender que no todos sabemos de todo, algunas cosas nos parecerán muy sencillas y otras nos provocaran mucha frustración al no poder resolverlas lo más rápido posible.

También la frustración de usar un lenguaje o herramienta que no nos guste, por ejemplo, usar Visual Studio (con C#) en lugar de Java o Python con Eclipse o cualquier otro IDE; las fechas de entrega de proyectos, las desveladas, no tener vida social, soportar personas que no nos agradan, etc..

A veces tienes que trabajar con gente que no tiene idea de lo que es la programación e ignora cual es tu trabajo, o peor  que ni el mismo tiene idea de lo que él hace ahí.  Su jefe inmediato le pide que ponga a trabajar a los de sistemas. ¿En qué? Ni él mismo lo sabe, solo hace lo que le pidieron.

En los comics de Dilbert se puede ver cada situación que viven los programadores, lo manejan de una manera muy sarcástica, pero aunque parezca exagerado no dista mucho de la realidad.

Para concluir, programamos porque necesitamos resolver problemas de la gente, por ejemplo, diseñar un programa para los cajeros automáticos, hacer que la interfaz sea lo más sencilla para el usuario final (aunque esta comprobado que eso no ayuda mucho, ya que la gente muchas veces no sabe usarlos aunque solo consista en apretar unos cuantos botones).

Jai un lenguaje de programación inspirado en C++

Hoy hablaremos de un nuevo lenguaje de programación llamado Jai . Se trata de un lenguaje de programación que está desarrolland...

Etiquetas

Archivo del blog