Mostrando entradas con la etiqueta programación. Mostrar todas las entradas
Mostrando entradas con la etiqueta programación. Mostrar todas las entradas

12 de mayo de 2021

Chileno logra una beca de Facebook para sus investigaciones

Autor: Ricardo Olave

Prensa Digital

Andrés Cristi (28), estudiante del Doctorado en Sistemas de Ingeniería (DSI) de Ingeniería Industrial de la Universidad de Chile es uno de los 26 integrantes del Facebook Fellowship Program 2021, programa internacional de becas de la red social que concede reconocimientos a candidatos a doctorados, que realizan investigaciones innovadoras y relevantes en áreas relacionadas con la informática y la ingeniería.

El reconocimiento crece al doble en su caso, porque en esta versión postularon más de 2 mil personas y fue el único latinoamericano que llegó a lograr una beca. De los seleccionados, 24 provienen de las mejores universidades de Estados Unidos, entre ellas el MIT, Stanford, Cornell o Harvard, por mencionar algunas, además de una entidad europea (Ecole Polytechnique de Lausanne en Suiza), siendo Andrés Cristi el cuarto latino en participar y el primer chileno condecorado, en este caso en el área de economía y computación.

La beca le permitirá investigar cómo diseñar algoritmos que permiten la interacción entre publicidad y usuarios. Un ejemplo de su trabajo es el caso de los anuncios de Google, donde Cristi explica que existe un algoritmo que en tiempo real considera los diferentes aspectos que llevarán al usuario que está googleando a apretar un anuncio ubicado en los primeros lugares de búsqueda, por lo que quiere seguir ahondando en la temática.

Esta es la segunda vez que Cristi postula al programa: en 2020 quedó finalista con una propuesta similar, que buscaba entender cómo los algoritmos se involucran con las búsquedas de los usuarios, enfocado a las decisiones económicas que conectan con los intereses publicitarios de las empresas.

Apoyado por el profesor José Correa de la Universidad de Chile, Cristi decidió mejorar su propuesta que hoy le permite ser uno de los reconocidos. 

Cristi explica que “a Facebook le interesa entender este tipo de problemas, porque ellos lo aplican en su negocio diario. Así como Google, Facebook vive de esos anuncios, es algo central y les interesa resolverlo”. El programa de becas, que acaba de cumplir su décimo aniversario, ha apoyado a 144 candidatos a doctorado de una amplia gama de universidades. La beca le permitirá a Andrés Cristi no solo seguir haciendo su investigación sin preocuparse por el financiamiento por los próximos dos años, sino también la posibilidad de contactar y colaborar con investigadores del Facebook Research, laboratorio de la compañía dedicado a encontrar soluciones a sus problemas digitales, donde podrá conocer “qué tipo de problemas están tratando de resolver en una de las compañías tecnológicas más grandes del mundo y de qué forma los enfrentan”.

Además, motivado por sus dos profesores guías, tanto de la Universidad de Chile como de la London School of Economics, no solo postuló a esta beca, sino que también terminó haciendo una pasantía en Google Research en Zurich, Suiza, entre mayo y diciembre de 2020, donde apoyó el área de “Diseño de Mecanismos”, lugar en el que pudo seguir estudiando cómo la compañía tecnológica vende los espacios publicitarios de las búsquedas.

El futuro de los algoritmos

Cristi, quien se ha especializado en comprender los aspectos fundamentales detrás de los algoritmos, tiene claro que su implicación en nuestras rutinas impacta directamente. El código matemático lo encontramos cuando nos ofrecen una mejor ruta para evitar el tráfico, las sugerencias de amigos en redes sociales o la película que nos recomienda un streaming. Si bien los beneficios son diversos, en términos de hacer la vida y la convivencia más fáciles, el estudiante de doctorado relata que existen dos riesgos claros que están atrayendo la atención de la comunidad científica: la pérdida de privacidad y la pérdida de justicia.

Frente al primer punto, Andrés Cristi cree que hay varios desafíos, frente a que cada vez se entregan más datos personales a los algoritmos, lo que provoca la pérdida de la vida privada si estos no son protegidos de manera apropiada. El tema de la justicia es más complejo, ya que Cristi analiza que aún existe la idea general de que las máquinas son imparciales. “Eso no es cierto, los algoritmos incorporan los sesgos de quien los crea y de los datos que utilizan. Por ello hay que tener mucho cuidado al momento de automatizar decisiones que pueden afectar de manera importante la vida de las personas”, agrega el ingeniero, siendo uno de los temas en los cuales les gustaría seguir investigando, para así evitar que los sesgos y la discriminación se profundicen en los temas digitales.

Por ahora, Cristi deberá esperar hasta septiembre para recibir el pago de la beca, un monto cercano a los US$42 mil (casi $30 millones), época en que también podrá participar de la reunión anual de becarios de Facebook, que por segundo año se realizará en formato online, compartiendo con sus pares los avances de cada proyecto.

El becado por Facebook siente que hay una reticencia a mirar los problemas que son más complejos, los cuales requieren herramientas científicas más avanzadas y personas altamente capacitadas.

25 de febrero de 2021

Cursos gratis de informática de las mejores universidades del mundo

Tomar clases de informática (Computer Science), en una institución reconocida, es hoy más fácil gracias a una oferta de cursos MOOC que permiten al estudiante acceder a una formación de calidad, como etapa previa a estudios más formales, y así actualizar conocimientos previos, obtener habilidades para el trabajo, incluso, pueden integrarse como curso electivo durante el desarrollo de un programa universitario.

Universidad de Harvard

Introducción a la informática

Nombre oficial: CS50: Introduction to Computer Science

Idioma: inglés

Descripción:

El curso que ofrece la Universidad de Harvard, en Estados Unidos, introduce a los estudiantes a la ciencia de la computación y "al arte de la programación".

Está dirigido tanto a alumnos que tienen conocimiento en ese campo como a los que no tienen ninguna experiencia previa.

El profesor David J. Malan, líder del curso, enseña a los estudiantes cómo pensar algorítmicamente y a resolver problemas eficientemente. 

Entre los tópicos impartidos están: abstracción, algoritmos, estructuras de datos, encapsulación, manejo de recursos, seguridad, ingeniería de software y desarrollo web. 

Los lenguajes enseñados son: C, PHP, JavaScript plus SQL, CSS, y HTML

Al curso se puede acceder a través de YouTube, iTunes y la plataforma digital edX. 

Puedes acceder a su sitio web aquí

Página en youtube del curso
Pie de foto,


Universidad de Stanford

Metodología de la programación

Nombre oficial: CS106A - Programming Methodology

Idioma: inglés

Descripción:

La universidad ubicada en California creó el programa SEE: Stanford Engineering Everywhere (Ingeniería de Stanford en todas partes), para poner a disposición de una audiencia más amplia importantes piezas de su plan de estudios.

El curso "Metodología de la programación" es uno de los más importantes en Stanford y de los más completos que se pueden encontrar en la web.

Los temas se centran en la introducción a la ingeniería de aplicaciones informáticas que enfatizan los principios modernos de ingeniería de software: diseño orientado a objetos, descomposición, encapsulación, abstracción y pruebas.

Las personas interesadas no necesitan registrarse en esa plataforma y, aunque los cursos SEE son idénticos a los que toman los estudiantes en la universidad, no se otorgará ningún crédito de Stanford ni se establecerá un canal de comunicación con los instructores o profesores. 

Para realizar el curso, que enseña el lenguaje de programación Java, no se necesitan conocimientos previos sobre programación.

El curso está diseñado explícitamente para atraer a humanistas y científicos sociales, así como a expertos en tecnología", indica el centro. 

Aunque no se requiere experiencia previa en el campo, sí se necesita una dedicación considerable y trabajo duro.

Todo el contenido del curso está disponible para ser descargado y los vídeos se pueden ver en su página web.

Muchos documentos PDF están comprimidos en archivos zip para que el usuario pueda tenerlos en su computador y así consultarlos incluso cuando no está conectado a internet. 

Puedes acceder a su sitio web aquí

Profesor Mehran Sahami
oto,


Instituto Tecnológico de Massachusetts (MIT)

Introducción a la informática y la programación

Nombre oficial: 6.00 Introduction to Computer Science and Programming 

Idioma: inglés 

Descripción: 

En YouTube, puedes encontrar las clases del científico y profesor de Ingeniería eléctrica y Ciencias de la computación del MIT John Guttag, quien impartió el curso "Introducción a la informática y la programación" en 2011. 

La colección de las 26 conferencias se pueden ver con subtítulos en inglés y el material del curso se puede descargar en la página web del curso. 

Este curso cubre los métodos y temas introductorios de la informática, indica la universidad.

Las 26 clases del curso se pueden encontrar en YouTube. 

"Está dirigido a estudiantes con poca o ninguna experiencia en programación. Su objetivo es proporcionar a los alumnos una comprensión de la función que puede desempeñar el cálculo en la resolución de problemas", señala el MIT. 

"También tiene como objetivo ayudar a los estudiantes, independientemente de su especialidad, a sentirse justificadamente seguros de su capacidad para escribir pequeños programas que les permitan alcanzar objetivos útiles". 

En la clase se usa el lenguaje de programación Python. 

El curso en la página del MIT lo puedes ver aquí y las 26 clases en YouTube las puedes ver aquí

Página del curso



Universidad de California, San Diego (UC San Diego)

Minecraft, programación y enseñanza 

Nombre oficial: Minecraft, Coding and Teaching 

Idioma: inglés 

Descripción: 

El curso Minecraft, programación y enseñanza, va dirigido a personas que no necesitan tener conocimientos previos de programación y que tienen un perfil docente

¿Nuevo en la programación? ¿Quieres aprender a enseñar programación a tus alumnos? ¿Tienes estudiantes a los que les encanta jugar Minecraft?, indica la página del curso. 

El software LearnToMod combina Minecraft, programación y apoyo docente para maestros que nunca han programado por su cuenta y que nunca han enseñado programación. 

El curso se ofrece en edX, una plataforma digital, creada por la Universidad de Harvard y el Instituto de Tecnología de Massachusetts (MIT, por sus siglas en inglés), que se ha convertido en una de las principales fuentes de cursos online gratis para la población en general. 

EdX es un proveedor de cursos abiertos masivos por Internet o lo que se ha popularizado con las siglas MOOC: Massive Open Online Course. 

Fue creada en 2012 y con el objetivo de estimular el aprendizaje, hospeda cursos de decenas de universidades sobre una gran variedad de disciplinas. 

El surgimiento de los cursos MOOC en años recientes ha sido todo un fenómeno en la educación superior, especialmente en Estados Unidos. 

En edX, encontramos cursos que ofrece la Universidad de California, San Diego, que pueden ser seguidos de forma gratuita o los estudiantes pueden optar por recibir un certificado por una pequeña suma de dinero. 

A la fecha de publicar este artículo, este curso en particular se encontraba archivado, pero edX señala que futuras fechas serán anunciadas y que si deseas más información, la universidad te puede enviar un correo electrónico con detalles.

Puedes acceder a su sitio web aquí

Página web del curso en edX


Khan Academy 

Nombre oficial: Programación de computadoras 

Idioma: español 

Khan Academy es una organización sin fines de lucro que promueve la educación gratuita por internet y que tiene adeptos en más de 200 países

Fue creada por el estadounidense Salman Khan, quien se propuso como misión ofrecer "una educación gratis, de nivel mundial, para cualquier persona, en cualquier parte".  

En su sitio web se pueden encontrar varios cursos sobre programación de computadoras: 

Introducción a JS: dibujo y animación 

Introducción a SQL: consulta y gestión de los datos 

JS avanzado: juegos y visualizaciones 

JS avanzado: simulaciones naturales 

HTML/JS: hacer páginas web interactivas 

HTML/JS: hacer páginas web interactivas con jQuery 

Puedes acceder a su sitio web aquí

Página web del curso
Pie de foto,




La plataforma Coursera ofrece cursos rápidos que bien pueden ser parte de una oferta de asignaturas electivas dentro de los programas de cualquier universidad. 

Mas información

Entre la amplia oferta destacan:

Python para Data Science y AI (Ofrecido por IBM)

En este curso aprenderá cómo comenzar rápida y fácilmente con la Inteligencia Artificial utilizando IBM Watson. Comprenderá cómo funciona Watson, se familiarizará con sus casos de uso y ejemplos de clientes de la vida real, y se le presentarán varios de los servicios de inteligencia artificial de Watson de IBM que permiten a cualquiera aplicar fácilmente la inteligencia artificial y crear aplicaciones inteligentes. También trabajará con varios servicios de Watson para demostrar la IA en acción.

Este curso no requiere ninguna experiencia en programación o ciencias de la computación y está diseñado para cualquier persona, ya sea que tenga una formación técnica o no.

Más información 


Introducción al Análisis de Datos (IBM)

Introducción a la Inteligencia Artificial (IBM)

En este curso aprenderá qué es la Inteligencia Artificial (IA), explorará casos de uso y aplicaciones de IA, comprenderá conceptos y términos de IA como aprendizaje automático, aprendizaje profundo y redes neuronales. Estará expuesto a varios problemas y preocupaciones relacionados con la IA, como la ética y el sesgo, y los trabajos, y recibirá consejos de expertos sobre cómo aprender y comenzar una carrera en IA. También demostrará AI en acción con un mini proyecto.

Este curso no requiere ninguna experiencia en programación o ciencias de la computación y está diseñado para presentar los conceptos básicos de inteligencia artificial a cualquier persona, ya sea que tenga una formación técnica o no.


Humanidades digitales (Universidad de Barcelona)
El curso ofrece una visión de las Humanidades Digitales desde la filosofía, la historia, la arqueología, el arte,… y desde las ciencias computacionales y la visión por ordenador. Ofrece una aproximación interdisciplinar a las Humanidades y el Patrimonio Digital, y a los métodos y herramientas utilizados (Bases de datos, Open Data, Big Data, Realidad Virtual, Redes Sociales, image recognition,…). También nos aporta una reflexión sobre los aspectos legales y éticos de la tecnología y sus implicaciones en la transformación digital, la innovación social, la política y la cultura.

¿Para qué sirve este curso? El curso pretende ser una introducción a las Humanidades y el Patrimonio Digital. Con él tendrás una visión amplia y transversal de los diferentes aspectos implicados en los diferentes ámbitos. Un curso que te ayudará en tu camino a la transformación digital y a la implementación de la tecnología digital en las Humanidades.

20 de octubre de 2017

Pensamiento computacional: ¿por qué es importante?


La Academia RoboMind, mediante un entorno de programación visual amigable, demuestra como el pensamiento computacional tiene aplicación en innumerables áreas, a la vez que proporciona un entrenamiento sencillo y efectivo para desarrollar el pensamiento lógico, desde la niñez. Pero también, para ayudar al adulto en la "reconexión" con su creatividad innata y con habilidades para estructurar la solución efectiva de problemas.




A medida que los estudiantes pasan por los cursos, se familiarizan con las posibilidades e imposibilidades de la programación y adquieren una idea del poder de la lógica. También aprenderán gradualmente cómo se puede resolver un problema largo dividiéndolo en piezas más pequeñas que se puedan resolver más fácilmente. Esto, por supuesto, es una habilidad que resulta útil cuando se realizan otros cursos o se estudian otras áreas de aplicación.

Todos en este país deberían aprender a programar porque te enseña a pensar
Steve Jobs

Con la programación, se aprende cómo automatizar las tareas repetitivas, transformar las percepciones en acciones y encontrar formas de tomar decisiones inteligentes, incluso en situaciones desconocidas. Sin embargo, enseñar puramente cómo programar no es el objetivo principal.

Al enseñar un idioma natural, no se pretende entrenar a los estudiantes para que se conviertan en escritores. Cuando se enseña matemáticas, los alumnos no necesitan terminar como matemáticos. Con la programación, es lo mismo. No necesita convertirse en programador para beneficiarse de la comprensión de los conceptos fundamentales. Es por eso que preferimos hablar de Pensamiento Computacional.

¿Qué es el pensamiento computacional?

Pensamiento Computacional es un término usado para los patrones fundamentales que manejan casi cualquier máquina. Por lo tanto, lo definimos como:

Cómo hacer que una máquina trabaje para ti. 
Academia RoboMind

Hay varias otras definiciones, y una más formal dice:

El Pensamiento Computacional es el proceso de pensamiento involucrado en la formulación de problemas y sus soluciones para que estas últimas estén representadas en una forma que pueda ser efectivamente llevada a cabo por un agente de procesamiento de información. 
Cuny, Snyder, Wing

La Academia RoboMind ofrece un entorno atractivo que entrena el pensamiento computacional. Al crear la academia, el campo del pensamiento computacional fue analizado y dividido en una estructura de conceptos y habilidades. Cada uno de los cursos, presentaciones, pruebas y desafíos proporcionados entrena un conjunto específico de estos aspectos. La siguiente tabla muestra los conceptos y habilidades estructuradas jerárquicamente que conforman el campo del pensamiento computacional.


El pensamiento computacional a veces se organiza en torno a tres aspectos principales: Conceptos computacionales, Prácticas computacionales, Perspectivas computacionales. La Academia RoboMind reconoció siete áreas que están cubiertas.

La programación es, como se mencionó, un área importante para entrenar el pensamiento lógico y estructurado. Los componentes básicos de la automatización están cubiertos: acciones de secuenciación, definición de secciones repetidas y toma de decisiones basadas en las percepciones. Estos son los ingredientes que pueden escribirse de manera formal. En etapas posteriores, aprende a analizar las elecciones hechas en los lenguajes de programación.

Las partes fundamentales de las matemáticas están cubiertas de forma natural al hacer ejercicios. Al anotar en qué condiciones se debe realizar una acción, se introduce la lógica. El mundo de los robots muestra la geometría en varias tareas de navegación. Al reescribir una solución, las reglas algebraicas lo guiarán para hacerlo correctamente. Los procesos aleatorios son la base de muchas aplicaciones modernas, desde la banca hasta el desarrollo de medicamentos. Con RoboMind puedes observar esto tú mismo.

La resolución de problemas es otro concepto central de pensamiento computacional. Primero, se debe analizar un problema para llegar a una definición precisa del objetivo. Entonces, debe encontrarse una posible solución para el problema. Las posibles soluciones se evalúan en términos de generalidad y complejidad, y se pueden probar dejando que una máquina lo ejecute. Te capacitamos en este proceso de resolución de problemas de una manera rigurosa e introducimos estrategias clásicas en el camino.

Crear soluciones en la forma de escribir un programa le enseña muchas habilidades: desde analizar cuidadosamente un desafío hasta diseñar, implementar y probar sus soluciones.

Los grandes desafíos rara vez son resueltos por un individuo. Las habilidades de comunicación están entrenadas en problemas exigentes. Desde sesiones de lluvia de ideas hasta la delegación de tareas y la presentación de resultados.

El Pensamiento Computacional está directamente conectado a aplicaciones relevantes en muchas áreas. El mundo de los robots es perfecto para demostrar los desafíos del transporte, la automatización en las fábricas y la búsqueda en un entorno desconocido.

Comprender lo que aprendió en teoría, durante el proceso de implementación y con aplicaciones concretas, le permitirá formular decisiones de diseño. Al evaluar diferentes soluciones, las elecciones específicas para un dominio de aplicación reforzarán estas decisiones. Las diferentes áreas de aplicación de los mismos conceptos básicos estimulan la visualización de patrones en todos los dominios.


Traducción: Mario Contreras
Bill Gates, Mark Zuckerberg y otros explican por qué aprender programación importa (en inglés)

Recursos

Licencia Creative Commons
Educapuntes por Mario Contreras se distribuye bajo una Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional .
Basada en una obra en www.educapuntes.blogspot.com .