jueves, 29 de diciembre de 2016

MekaMon, el robot arácnido ideal para aprender a codificar



MekaMon es una araña robótica que mezcla tres elementos esenciales: gaming, realidad aumentada y la posibilidad de aprender lo básico en codificación, lo cual transforma al juguete en un instrumento ideal para grandes y chicos.

El producto fue presentado a comienzos de año en el Consumer Electronics Show (Feria de Electrónica de Consumo), en donde, por medio de un prototipo, Reach Robotics buscaba financiamiento para transformar este sueño en realidad. Cuando lo consiguieron, lograron desarrollar tres modos de juego (arcade, MekaMon Universe o modo historia y Dropzone o modo de práctica).

Intercambiar piezas

Lo interesante del aparato es que se puede intercambiar sus piezas y mejorar el equipo.

Sin embargo, cada una de estas modificaciones conlleva que la araña se comporte de una manera distinta. Acá es justamente donde entran las nociones básicas de codificación, ya que el usuario es quien debe aprender a manejar su araña por medio del modo Dropzone. Se espera que MekaMon salga a la venta en enero de 2017.


viernes, 11 de noviembre de 2016

Airblock, dron modular que enseña programación



La marca Makeblock, lanzó un nuevo dispositivo que busca relacionar a los niños con la tecnología, la codificación y la robótica. Hablamos de Airblock, un dron modular con el que los niños podrán aprender programación de una forma amena y divertida.

Este dispositivo modular recoge el espíritu del "hazlo tú mismo" para que los más pequeños creen tantas formas como puedan imaginar.

Airblock está formado de distintas piezas hexagonales que se unen a un cuerpo central mediante un sistema magnético. Está diseñado para que los más pequeños desarrollen su imaginación y aprendan a programar, ya que se controla mediante comandos introducidos a través de una aplicación móvil.

Todas las piezas están construidas con espuma de plástico muy ligera, que busca proteger a los niños de posibles accidentes, así como evitar que el dron se rompa gracias a este material.

Los módulos son muy sencillos de manipular gracias a su sistema magnético, no es necesario utilizar alguna herramienta, lo que hace muy sencillo su montaje.

Una vez armado, el Airblock se puede programar a través de una aplicación para dispositivos móviles, que permite a los pequeños aprender a codificar por medio de un lenguaje de programación visual muy parecido a Scratch.

El dron puede volar, correr por el suelo e incluso navegar por la piscina, y está fabricado con materiales resistentes que soportan los golpes contra las paredes y las puertas.

Airblock es un proyecto que actualmente busca financiación en Kickstarter, aunque ya ha superado la meta de los 100.000 dólares que habían establecido sus creadores.

Todos los interesados en este dron pueden adquirirlo a través de la página de Kickstarter a un costo de 99 dólares. Una vez en el mercado el precio del Airblock subirá hasta los 149 dólares. El envió de los pedidos comenzará a partir de febrero del 2017.

jueves, 22 de septiembre de 2016

El robot con el que los niños aprenden a programar antes que a escribir

A pesar de lo que hemos visto o leído en las obras de ciencia ficción, los robots no tienen porqué ser engendros malvados. Y no porque haya ejemplos como el repipi C3PO o el adorable Wall-E para defender la honorabilidad de las máquinas, si no porque la bondad o la maldad son categorías morales que exceden por mucho -al menos ahora y tal vez para siempre- la capacidad de los algoritmos y el lenguaje binario.

Los robots, en fin, no pueden ser buenos o malos. Son, en todo caso, como sus creadores quieren que sean. Por si acaso, para curarse en salud, Isaac Asimov ya planteó en su relato "Runaround” en fecha tan temprana como 1942 sus famosas tres leyes de la robótica ("Un robot no hará daño a un ser humano…” etcétera).

Podríamos decir entonces que si un robot está pensado para hacer cosas buenas, su creador también debe ser buena persona. Si aceptamos la ingenuidad y simpleza de este silogismo que roza el ridículo, tendríamos entonces que afirmar que Julián Da Silva es un gran tipo. Da Silva forma parte del equipo que ha diseñado Root, un pequeño robot pensado para que los niños aprendan a programar en los colegios. La idea, un proyecto impulsado por el Wyss Institute, centro perteneciente a la universidad de Harvard, está actualmente en fase de pruebas, pero dentro de pocos meses comenzará a comercializarse y llegará a las aulas de Estados Unidos por un precio realmente asequible (menos de 200 euros).

Parece evidente que el mundo al que tendrán que enfrentarse dentro de algunos años quienes ahora son niños estará plagado de máquinas. Robots que interactuarán entre ellos y se ocuparán de múltiples y complejas tareas. Por eso es muy importante familiarizarse con el lenguaje de las computadoras. Ya no será suficiente con saber manejarlas, tendremos que aprender a comunicarnos con ellas.

La decisión de aprender código no debería estar marcada entonces únicamente por una simple cuestión pecuniaria (aunque las oportunidades laborales, efectivamente, serán mayores) sino por la necesidad de adaptarse a un mundo cambiante.

Desde siempre, el principal escollo que se ha interpuesto entre los lenguajes de programación y los niños ha sido su aridez. Un bloque de texto plagado de números, letras y símbolos no parece lo más atractivo para atraer la atención de los más pequeños. Introducir un robot en la ecuación con el que los niños pueden jugar y al que es posible enviar órdenes a través de una aplicación móvil puede hacer el aprendizaje más rápido y divertido. Root, diseñado por Raphael Cherney, puede moverse por una pizarra, dibujar y reconocer distintos colores, e incorpora, entre otros, sensores de luz y moviento.

El hexágono robótico es programado y controlado desde una tableta u ordenador a través de Square, una aplicación diseñada por Da Silva que permite enviar órdenes a Root en tiempo real. Square muestra tres niveles de dificultad para que los niños puedan aprender desde los rudimientos de la programación hasta secuencias más complejas de código.

Su sistema es tan intuitivo y amigable que incluso niños que todavía no han aprendido a leer son capaces de utilizarlo. Da Silva asegura que en las pruebas que han realizado con los pequeños, estos reaccionan ante Root "como si fuera un amigo” y, aunque su entusiasmo al hablar del proyecto lo hace evidente, refuerza que en Wyss "disfrutamos haciendo robots para chicos”. Lo dicho, un buen tipo.

miércoles, 27 de julio de 2016

Sublenguajes especializados

Muchas veces querremos acceder a la base de datos desde una aplicación hecha en un lenguaje de programación cualquiera. Para utilizar el SQL desde un lenguaje de programación, podemos utilizar el SQL hospedado, y para trabajar con éste necesitamos un precompilador que separe las sentencias del lenguaje de programación de las del lenguaje de bases de datos. Una alternativa muy interesante a esta forma de trabajar son las rutinas SQL/CLI.

El objetivo de este apartado no es explicar con detalle ni el SQL hospedado ni, aún menos, las rutinas SQL/CLI. Sólo introduciremos las ideas básicas del funcionamiento de ambos.

martes, 26 de julio de 2016

Sentencias de control - Las autorizaciones y desautorizaciones - La opción RESTRICT

La opción RESTRICT no nos permite desautorizar a un usuario si éste ha autorizado a otros.

lunes, 25 de julio de 2016

Sentencias de control - Las autorizaciones y desautorizaciones - Desautorizaciones - Si un usuario

Si un usuario al que hemos autorizado ha autorizado a su vez a otros, que al mismo tiempo pueden haber hecho más autorizaciones, la opción CASCADE hace que queden desautorizados todos a la vez.

domingo, 24 de julio de 2016

Sentencias de control - Las autorizaciones y desautorizaciones - Desautorizaciones - La opción GRANT OPTION FOR

La opción GRANT OPTION FOR se utilizaría en el caso de que quisiéramos eliminar el derecho a autorizar (WITH GRANT OPTION).

sábado, 23 de julio de 2016

viernes, 22 de julio de 2016

Sentencias de control - Las autorizaciones y desautorizaciones - Desautorizaciones

Para desautorizar, el SQL dispone de la siguiente sentencia:

REVOKE [GRANT OPTION FOR] privilegios ON objeto FROM
usuarios [RESTRICT|CASCADE];

jueves, 21 de julio de 2016

Sentencias de control - Las autorizaciones y desautorizaciones - Autorizaciones - La opción WITH GRANT OPTION

La opción WITH GRANT OPTION permite que el usuario que autoricemos pueda, a su vez, autorizar a otros usuarios a acceder al objeto con los mismos privilegios con los que ha sido autorizado.

miércoles, 20 de julio de 2016

Sentencias de control - Las autorizaciones y desautorizaciones - Autorizaciones - Usuarios

c) Usuarios puede ser todo el mundo: PUBLIC, o bien una lista de los identificadores de los usuarios que queremos autorizar.

lunes, 18 de julio de 2016

Sentencias de control - Las autorizaciones y desautorizaciones - Autorizaciones - privilegios puede ser:

ALL PRIVILEGES: todos los privilegios sobre el objeto especificado.
• USAGE: utilización del objeto especificado; en este caso el dominio.
• SELECT: consultas.
• INSERT [(columnas)]: inserciones. Se puede concretar de qué columnas.
• UPDATE [(columnas)]: modificaciones. Se puede concretar de qué columnas.
• DELETE: borrados.
• REFERENCES [(columna)]: referencia del objeto en restricciones de integridad.
Se puede concretar de qué columnas.

domingo, 17 de julio de 2016

Sentencias de control - Las autorizaciones y desautorizaciones - Autorizaciones

Para autorizar, el SQL dispone de la siguiente sentencia:

GRANT privilegios ON objeto TO usuarios
[WITH GRANT OPTION];

Donde tenemos que:

sábado, 16 de julio de 2016

Sentencias de control - Las autorizaciones y desautorizaciones

Todos los privilegios sobre la base de datos los tiene su propietario, pero no es el único que accede a ésta. Por este motivo, el SQL nos ofrece sentencias para autorizar y desautorizar a otros usuarios.

viernes, 15 de julio de 2016

Sentencias de control - Las transacciones - Ejemplo de transacción

A continuación proponemos un ejemplo de transacción en el que se quiere disminuir el sueldo de los empleados que han trabajado en el proyecto 3 en 1.000 euros. y aumentar el sueldo
de los empleados que han trabajado en el proyecto 1 también en 1.000 euros.
SET TRANSACTION READ WRITE;
UPDATE empleados SET sueldo = sueldo – 1000 WHERE num_proyec = 3;
UPDATE empleados SET sueldo = sueldo + 1000 WHERE num_proyec = 1;
COMMIT;

jueves, 14 de julio de 2016

Sentencias de control - Las transacciones (II)

Si queremos actualizar la base de datos utilizaremos la opción READ WRITE, y si no la queremos actualizar, elegiremos la opción READ ONLY.
Sin embargo, en cambio, una transacción siempre debe acabar explícitamente con alguna de las sentencias siguientes:

{COMMIT|ROLLBACK} [WORK];

La diferencia entre COMMIT y ROLLBACK es que mientras la sentencia COMMIT confirma todos los cambios producidos contra la BD durante la ejecución de la transacción, la sentencia ROLLBACK deshace todos los cambios que se hayan producido en la base de datos y la deja como estaba antes del inicio de nuestra transacción.
La palabra reservada WORK sólo sirve para aclarar lo que hace la sentencia, y es totalmente opcional.

miércoles, 13 de julio de 2016

Sentencias de control - Las transacciones (I)

Una transacción es una unidad lógica de trabajo. O informalmente, y trabajando con SQL, un conjunto de sentencias que se ejecutan como si fuesen una sola. En general, las sentencias que forman parte de una transacción se interrelacionan entre sí, y no tiene sentido que se ejecute una sin que se ejecuten las demás.

La mayoría de las transacciones se inician de forma implícita al utilizar alguna sentencia que empieza con CREATE, ALTER, DROP, SET, DECLARE, GRANT o REVOKE, aunque existe la sentencia SQL para iniciar transacciones, que es la siguiente:

SET TRANSACTION {READ ONLY|READ WRITE};

martes, 12 de julio de 2016

Sentencias de control

Además de definir y manipular una base de datos relacional, es importante que se establezcan mecanismos de control para resolver problemas de concurrencia de usuarios y garantizar la seguridad de los datos. Para la concurrencia de usuarios utilizaremos el concepto de transacción, y para la seguridad veremos cómo se puede autorizar y desautorizar a usuarios a acceder a la base de datos.

lunes, 11 de julio de 2016

SQL Sentencias de manipulación - La diferencia - Utilización de la diferencia en BDUOC - Ejemplo anterior expresado con NOT IN y con NOT EXISTS

El ejemplo que hemos hecho antes se podría expresar con NOT IN:
SELECT c.codigo_cli
FROM clientes c
WHERE c.codigo_cli NOT IN (SELECT p.codigo_cliente
FROM proyectos p);
o también con NOT EXISTS

SELECT c.codigo_cli
FROM clientes c
WHERE NOT EXISTS (SELECT *
FROM proyectos p
WHERE c.codigo_cli = p.codigo_cliente);

domingo, 10 de julio de 2016

SQL Sentencias de manipulación - La diferencia - Utilización de la diferencia en BDUOC - Diferencia utilizando NOT EXISTS:

SELECT columnas
FROM tabla
WHERE NOT EXISTS (SELECT *
                                        FROM tabla
                                         WHERE condiciones);

sábado, 9 de julio de 2016

SQL Sentencias de manipulación - La diferencia - Utilización de la diferencia en BDUOC - Diferencia utilizando NOT IN:

SELECT columnas
FROM tabla
WHERE columna NOT IN (SELECT columna
                                               FROM tabla
                                                 [WHERE condiciones]);

viernes, 8 de julio de 2016

SQL Sentencias de manipulación - La diferencia - Utilización de la diferencia en BDUOC

Si queremos saber los clientes que no nos han contratado ningún proyecto, podríamos hacer:

El resultado de esta consulta sería el que se ve en el margen.
La diferencia es, junto con la intersección, una de las operaciones del SQL que se puede realizar de más formas diferentes. También podríamos encontrar la diferencia utilizando NOT IN o NOT EXISTS:

jueves, 7 de julio de 2016

SQL Sentencias de manipulación - La diferencia

Para encontrar la diferencia entre dos o más sentencias SELECT FROM podemos utilizar la cláusula EXCEPT, que tiene este formato:
SELECT columnas
FROM tabla
[WHERE condiciones]
EXCEPT [ALL]
SELECT columnas
FROM tabla
[WHERE condiciones];
Si ponemos la opción ALL aparecerán todas las filas que da la diferencia. No la pondremos si queremos eliminar las filas repetidas.
Lo más importante de la diferencia es que somos nosotros quienes tenemos que vigilar que se haga entre columnas definidas sobre dominios compatibles.

miércoles, 6 de julio de 2016

SQL Sentencias de manipulación - La intersección - Ejemplo anterior expresado con IN y con EXISTS

El ejemplo que hemos propuesto antes se podría expresar con IN:
SELECT c.ciudad
FROM clientes c
WHERE c.ciudad IN (SELECT d.ciudad_dep
                                      FROM departamentos d);

o también con EXISTS:

SELECT c.ciudad
FROM clientes c
WHERE EXISTS (SELECT *
                              FROM departamentos d
                                  HERE c.ciudad = d.ciudad_dep;

martes, 5 de julio de 2016

SQL Sentencias de manipulación - La intersección - Intersección utilizando EXISTS

SELECT columnas
FROM tabla
WHERE EXISTS (SELECT *
                                 FROM tabla
                                   WHERE condiciones);

lunes, 4 de julio de 2016

SQL Sentencias de manipulación - La intersección - Intersección utilizando IN

SELECT columnas
FROM tabla
WHERE columna IN (SELECT columna
                                    FROM tabla
                                       [WHERE condiciones]);

domingo, 3 de julio de 2016

SQL Sentencias de manipulación - La intersección - Utilización de la intersección en BDUOC

Si queremos saber todas las ciudades donde tenemos departamentos en los que podamos encontrar algún cliente, podríamos hacer:
Sin embargo, la intersección es una de las operaciones del SQL que se puede hacer de más formas diferentes. También podríamos encontrar la intersección con IN o EXISTS:

sábado, 2 de julio de 2016

SQL Sentencias de manipulación - La intersección

Para hacer la intersección entre dos o más sentencias SELECT FROM, podemos utilizar la cláusula INTERSECT, cuyo formato es:
SELECT columnas
FROM tabla
[WHERE condiciones]
INTERSECT [ALL]
SELECT columnas
FROM tabla
[WHERE condiciones];
Si indicamos la opción ALL, aparecerán todas las filas obtenidas a partir de la intersección. No la pondremos si queremos eliminar las filas repetidas.

Lo más importante de la intersección es que somos nosotros quienes tenemos que vigilar que se haga entre columnas definidas sobre dominios compatibles; es decir, que tengan la misma interpretación semántica.

viernes, 1 de julio de 2016

SQL Sentencias de manipulación - La unión - Utilización de la unión en BDUOC

Si queremos saber todas las ciudades que hay en nuestra base de datos, podríamos hacer:

jueves, 30 de junio de 2016

SQL Sentencias de manipulación - La unión

La cláusula UNION permite unir consultas de dos o más sentencias SELECT FROM. Su formato es:
SELECT columnas
FROM tabla
[WHERE condiciones]
UNION [ALL]
SELECT columnas
FROM tabla
[WHERE condiciones];

Si ponemos la opción ALL, aparecerán todas las filas obtenidas a causa de la unión. No la pondremos si queremos eliminar las filas repetidas. Lo más importante de la unión es que somos nosotros quienes tenemos que procurar que se efectúe entre columnas definidas sobre dominios compatibles; es decir, que tengan la misma interpretación semántica. Como ya hemos comentado, el SQL92 no nos ofrece herramientas para asegurar la compatibilidad semántica entre columnas.

Project Bloks, aprender a programar jugando con bloques



El gigante informático Google presentó, el pasado lunes, Project Bloks, una plataforma abierta que busca impulsar en los niños el aprendizaje de la programación jugando con bloques como los Legos.

Esta plataforma está destinada a programadores, diseñadores e investigadores para que puedan crear experiencias de programación para los más pequeños basadas en bloques.

Las experiencias que se creen mediante esta plataforma deberán ser tangibles, es decir, los niños tienen que poder tocarlas para jugar y aprender con ellas.

"Los niños juegan y aprenden de forma natural usando sus manos, construyendo cosas y haciendo cosas juntos", escribieron en un blog el director creativo y líder del proyecto, Steve Vranakis y Jayme Goldstein.

"Hacer que la programación sea algo físico -lo que se conoce como programación tangible- ofrece una forma única de combinar cómo los niños juegan y aprenden el racionamiento computacional de forma innata", señalan.

Por el momento, el proyecto cuenta con un sistema de módulos -placas electrónicas e interruptores programables- que pueden conectarse entre sí y emiten instrucciones a los dispositivos con los que estén conectados. Con ellos se puede construir, medir la temperatura de una bombilla, componer música o enviar órdenes a los juguetes conectados

Project Bloks, cuenta con un sistema prototipo de módulos inteligentes que al conectarse en diferentes configuraciones cambian el resultado de un programa. Los bloques tienen instrucciones como encender y apagar o habilitar Wi-Fi y Bluetooth en dispositivos, permitiéndole a los niños personalizar y reorganizar sus experiencias.

Para entender cómo funcionan estos blocks recuerda los juegos de trenes en los cuales se podía sacar los carriles, los puentes, las señales de cruce y otras piezas para desviar el tren a la derecha e izquierda. Con ellos se podía crear docenas de configuraciones distintas para el trayecto de tu tren.

Project Bloks buscar imitar esa experiencia pero con bloques inteligentes. Esta serie de bloques se podrá unir como uno quiera para crear órdenes que el sistema ejecutará a continuación.

Project Bloks vendrán con tres componentes claves: el Brain Board (el cerebro), el Base Board (la base) y los Pucks.

El sistema principal, llamado Brain Board es el procesador desarrollado con Raspberry Pi Zero y es el que controlará y aportará energía al resto de bloques. Cuenta con conexiones Bluetooth y WiFi para comunicarse con las tabletas o celulares. Este es el cerebro ejecutor, por así decirlo

El Base Boards son las piezas que conectarán todo el sistema, y que nos permitirán definir cómo fluyen las órdenes que le mandamos. Son los sensores que leen las instrucciones de los Pucks.

Y por último, los Puck son las piezas con las órdenes en cuestión, que podemos conectar como queramos para crear la orden. Según Google, los Pucks son las instrucciones para mover, parar, saltar y abrir, por ejemplo, y pueden tomar cualquier forma y color.


miércoles, 29 de junio de 2016

SQL Sentencias de manipulación - Consultas a más de una tabla - Combinaciones con más de dos tablas

Si queremos combinar tres tablas o más con el SQL92 introductorio, sólo tenemos que añadir todas las tablas en el FROM y los vínculos necesarios en el WHERE. Si queremos combinarlas con el SQL92 intermedio o con el completo, tenemos que ir haciendo combinaciones de tablas por pares, y la tabla resultante se convertirá en el primer componente del siguiente par.

Combinaciones con más de dos tablas en BDUOC

Veamos ejemplos de los dos casos, suponiendo que queremos combinar las tablas empleados, proyectos y clientes:

SELECT *
FROM empleados, proyectos, clientes
WHERE num_proyec = codigo_proyec AND codigo_cliente = codigo_cli;

o bien


SELECT *
FROM (empleados JOIN proyectos ON num_proyec = codigo_proyec)
JOIN clientes ON codigo_cliente = codigo_cli;

martes, 28 de junio de 2016

SQL Sentencias de manipulación - Consultas a más de una tabla - Combinación externa plena

SELECT e.codigo_empl, e.nombre_empl, e.nombre_dep, e.ciudad_dep,
d.telefono
FROM empleados e NATURAL FULL OUTER JOIN departamentos d;

 Y obtendríamos el siguiente resultado:


lunes, 27 de junio de 2016

SQL Sentencias de manipulación - Consultas a más de una tabla - Combinación externa derecha

SELECT e.codigo_empl, e.nombre_empl, e.nombre_dep, e.ciudad_dep, d.telefono
FROM empleados e NATURAL RIGHT OUTER JOIN departamentos d;

 Obtendríamos este resultado:


jueves, 23 de junio de 2016

A través de los juegos se puede enseñar a programar de forma divertida



Al paso que va la tecnología, aprender a programar se ha convertido en una necesidad básica, está a la altura de saber usar un ordenador o saber inglés. Por ello, enseñar a los niños a programar desde pequeños es muy importante.

No pienses que aprender a programar se reduce a teclear código en una pantalla en blanco y negro. Hoy en día existen muchas aplicaciones, servicios web (plataformas) y juegos especialmente diseñados para ayudar a los niños a aprender a programar, y hacerlo de forma divertida. Cada uno está destinado a diferentes niveles e intereses. Desde opciones básicas y sencillas pensadas para educación hasta juegos más avanzados para afianzar conceptos de la programación.

Aprender a programar tienen muchos beneficios, uno puede crear su propia página web, aplicaciones, juegos y hasta tener una carrera como desarrollador. La programación ayuda a tener mejor memoria y concentración.

Diseñados especialmente para enseñar programación, el portal Blogthinkbig seleccionó seis juegos que enseñan a programar de forma divertida y diferente.

CodeCombat: Es un multijugador en línea que fue creado con la idea de que si te vas a volver adicto a un juego, debería ser uno que te ayude a aprender de la manera más divertida que sea posible. Para jugar es necesario crear una cuenta y navegar entre más de 110 clases disponibles para la suscripción gratuita. El juego es perfecto para niños de más de nueve años y también para adultos, y no se necesita saber programar previamente. La web está en inglés, pero hay versiones en español incompletas.

CodinGame: Este sitio fue creado con la idea de que crear un código debería ser divertido. Por esta razón tienen una web con alrededor de 50 juegos para jugadores en solitario con un nivel de tutorial para que aprendan cómo funciona, y con niveles principiante, medio y avanzado. También tienen una sección para optimizar el código de algunos juegos, y siete juegos multijugador. Además, cuenta con una sección llamada "Clash of Code" donde se puede competir con otros desarrolladores, una sección de competencias que ofrece premios a los ganadores, y por último, un sitio donde conseguir trabajos en compañías de varios países que están contratando expertos en algún lenguaje de programación.

Code & Conquer: Es un juego social de estrategia que trata de enseñar programación haciendo que el jugador programe como sus personajes van a reaccionar. La idea es que se controle a un ejército completo, creando estrategias que te hagan ganar usando código. El juego está en inglés.

Checkio: Como jugador, en Checkio te unes a un mundo que fue creado por la misma comunidad, donde los programadores que se unen pueden desarrollar niveles nuevos para que otros puedan probar. En este caso es necesario saber aunque sea un poco sobre programación, porque incluso los primeros ejercicios son algo avanzados para aquellos que no tienen ni idea de cómo programar. Lo bueno es que muchos de los juegos están traducidos al español y todo es gratis.

CodeWars: CodeWars es un juego para desarrolladores que ya tienen conocimientos de programación pero quieren mejorar. La idea es competir contra otros y así ganar honor y niveles, pero al mismo tiempo la comunidad servirá para comparar el código creado con el de otros y así aprender diferentes soluciones a los problemas que se presentan.

CodeHunt: CodeHunt es un juego creado por Microsoft en el que el jugador deberá detectar fragmentos de código que desaparecieron y sustituirlos con su propia solución en Java o C#. A medida de que se va progresando, el jugador aprenderá sobre variables, algoritmos de búsqueda, operadores aritméticos y otras cosas más.


lunes, 2 de mayo de 2016

Programador Freelancer

Un programador freelancer es una persona que trabaja de manera autónoma e independiente (por cuenta propia). El trabajo lo realiza para personas u organizaciones que requieren sus servicios en tareas específicas, donde las retribuciones se obtienen en función al producto y a los resultados obtenidos y no así al tiempo empleado. En la mayor parte de las ocasiones no existe una relación contractual y la comunicación entre el freelancer y el cliente se produce directamente, utilizando videoconferencia (Skype), correo electrónico y otros.

El ser freelancer conlleva ventajas y desventajas en comparación a un empleo fijo.

Entre las diferencias más importantes se pueden mencionar que un freelancer es su propio jefe y que él mismo puede definir su horario de trabajo. Pero esto también se puede convertir en una desventaja cuando no existe autodisciplina.

Otra ventaja —quizás la más importante— es la de las retribuciones económicas obtenidas. Son mejores en comparación a un trabajo fijo e inclusive mejor valoradas por un cliente, ya que si él está satisfecho por el trabajo podrá recomendar a otros clientes, lo que ayudará a mejorar el prestigio y también la retribución económica en un futuro inmediato para el freelancer.

Una desventaja en el trabajo del freelancer es no contar con beneficios sociales (seguro médico, indemnizaciones, seguro de vejez, etc.).

¿Cómo contratar un freelancer?

Existen páginas webs que sirven de plataformas para publicar anuncios de empleo freelance; entre las más populares están Freelancer, Infojobs Freelancer, oDesk, Twago y Workana. De estas, solo Workana (http://workana.com/es) permite conocer que existen alrededor de 413 freelancers en Bolivia, categorizados según calificación y conocimiento.

Aún sin tener datos estadísticos de las demás plataformas, se puede decir que en Bolivia existen más programadores freelance que empresas dedicadas al rubro de desarrollo de sistemas.

Según datos de Fundempresa, Bolivia tiene alrededor de 289 empresas dedicadas específicamente a este rubro (programación informática) y unos 1.255 empresas a otras áreas (otras actividades de tecnología de la información). De estas, muy pocas se dedican exclusivamente al desarrollo de software.

lunes, 4 de abril de 2016

Aprende a programar jugando

Estudios científicos demostraron que para los niños el aprender jugando es algo muy interesante a nivel didáctico. Ahora otros niños que ya no son tan pequeños también querrán aprender jugando o mejor dicho entreteniéndose.

Revisemos algunos de los videojuegos bastante interesantes, con los que es posible aprender a programar mientras se divierte, sin tener que leer libros gigantes ni luchar contra un compilador.



CODE COMBAT

Este es un videojuego con el que aprenderás JavaScript mientras recolecta cristales de energía, sube de nivel a un personaje, comanda un ejército y termina salvando al mundo. Para jugarlo, solo necesita crear una cuenta e interactuar entre mas de 110 clases disponibles para la membresía gratuita. El juego es totalmente perfecto para niños de mas de 9 años y no se preocupe también para adultos. Además no se necesita saber programar previamente para poder disfrutar del mismo.



CHEK IO

Este es un juego muy interesante online donde necesita resolver problemas del lenguaje Python con el fin de avanzar entre los niveles. Se une a un interesante mundo que ha sido creado por la misma comunidad de Check iO, en donde los programadores que se unen podrán desarrollar niveles nuevos para que los demás puedan jugarlos. Muchos de los niveles están traducidos al español y absolutamente todo es gratis.

CODE WARS

Diseñado para desarrolladores que ya tienen conocimientos de programación pero quieren mejorar los mismos. La idea del juego es competir contra otros jugadores y así ganar honor y niveles para su personaje, pero al mismo tiempo esta comunidad que se ha creado servirá para que compare el código que ha creado con el de otros usuarios y así aprender muchas diferentes soluciones a los problemas que se presenten. Por el momento solo tiene ejercicios de CoffeScript, JavaScript, Phyton, Ruby, Java, Clojure, Haskell y C#.



PYTHON CHALLENGE

Este no es un juego muy dinámico, pero es bastante entretenido, el mismo consiste en 33 acertijos que sólo se podrán resolver con Python, si es un poco obsesivo, de seguro va a estar decenas de horas resolviendo los diferentes desafíos que presenta este juego y sin lugar a duda aprenderá mucho sobre Python.

Aprender un código hace que se tenga mejor memoria y aumente en la concentración. Por razones como estas, países tales como Estonia han incluido clases de lenguajes de programación dentro de la educación primaria de sus niños, siendo esta una manera de prepararlos para el futuro digital en el que ya vivimos.

martes, 16 de febrero de 2016

Los lenguajes de programación más utilizados

El lenguaje C#



En un mundo tan cambiante como el tecnológico, los lenguajes de programación van evolucionando también de manera vertiginosa.

El C# es el lenguaje más extendido para el desarrollo de aplicaciones y servicios de Microsoft.

Además para los desarrolladores de videojuegos es imprescindible este lenguaje ya que la plataforma Unity usa C# como uno de sus principales lenguajes.

Java



Es uno de los lenguajes más populares del mundo para crear aplicaciones web o aplicaciones de escritorio. Con Java y su framework más utilizado, el Spring Framework, puedes crear una aplicación web escalable para una gran cantidad de usuarios. Eso unido a que Android es, quizá, la plataforma móvil estrella incrementa el interés por este lenguaje ya que esta plataforma está basada nada mas y nada menos que en Java.

PHP



PHP junto con bases de datos como MySQL son herramientas muy útiles para desarrollar una plataforma web de manera rápida.

Debemos también recordar que la tecnología para gestionar éste y miles de blogs (WordPress) está basada en PHP.

Frameworks populares de PHP son Symfony, CakePHP y ahora también está el muy famoso Laravel.

Javascript



El archiconocido lenguaje JS está presente en todos los sitios webs.

Todos los navegadores modernos interpretan el código JavaScript integrado en las páginas web.

Aunque adopta nombres y convenciones del lenguaje de programación Java. Sin embargo Java y JavaScript tienen semánticas y propósitos diferentes. Dispone de una biblioteca extendida, se trata del JQuery.