Coder Social home page Coder Social logo

ejercicios's Introduction

Ejercicios de programación

Éste es un repositorio inspirado en CodeKata y forma parte de una iniciativa de amigos de aprender juntos un nuevo lenguaje de programación.

Se espera que los ejercicios propuestos se practiquen usando el lenguaje de programación Rust, pero cualquier alternativa es bienvenida, pues comparar las soluciones también es útil para aprender. Los ejercicios propuestos no requieren experiencia previa, incluso se recomiendan para quien esté aprendiendo a programar por primera vez.

Una kata de código es un ejercicio de programación que ayuda al programador a mejorar sus habilidades a través de la práctica y la repetición.

En la industria del software tomamos desarrolladores capacitados en la teoría y los arrojamos a las profundidades, trabajando en un proyecto. Eso es como tomar un grupo de niños en forma y decirles que tienen 60 minutos para vencer a un equipo profesional de fútbol americano. En el software, hacemos nuestra práctica en el trabajo, y por eso cometemos errores en el trabajo. Tenemos que encontrar maneras de dividir la práctica de la profesión. Necesitamos sesiones de práctica.

La Kata

¿En qué consiste una buena sesión de práctica? Se necesita algo de tiempo sin interrupciones, y una cosa sencilla que quieras intentar. Tienes que intentarlo tantas veces como sea necesario y acostumbrarte a cometer errores. Tienes que buscar retroalimentación para que así puedas mejorar. Es necesario que no haya presión: por eso es difícil practicar en un ambiente de trabajo. Ayuda mantener el ambiente divertido: haz pequeños progresos cuando sea posible. Reconocerás una buena sesión de práctica porque saldrás de una sabiendo más que cuando entraste.

En karate, una kata es un ejercicio en el que repites una forma muchas, muchas veces, haciendo pequeños progresos cada vez. La idea detrás de una kata de código es similar. Ejercicios cortos, tal vez de 30 minutos ó 1 hora de duración. Puedes ser programados de muchas maneras. Algunos no son conclusivos, y se tratan más bien de pensar en cuestiones más allá de la programación. Probablemente éstos no tengan una única respuesta correcta.

El punto de una kata no es llegar a una respuesta correcta. El punto es todo aquello que aprendes mientras tanto. El objetivo es la práctica, no la solución.

Dave Thomas (2014).

Reglas

  • Los ejercicios deberán estar organizados en directorios numerados en este repositorio.
  • Para compartir los ejercicios, publica un Pull Request con tu solución nombrando un directorio con tu nombre de usuario y dentro los archivos de la solución en algún lenguaje.

Ejemplos:

  • /ejercicios/0/bitdmt/solution.rs
  • /ejercicios/0/danioso/solution.py
  • /ejercicios/0/urielable/solution.java

En el caso de Rust, puede que quieras incluir un directorio src, test y el archivo Cargo.toml.

Para saber más sobre cómo ejecutar tu solución con y sin la herramienta cargo, consulta aquí:

Índice de ejercicios

Referencias

Dave Thomas (2014). CodeKata. Julio 2020, de Dave Thomas. Sitio web: http://codekata.com/kata/codekata-intro/

ejercicios's People

Contributors

edmt avatar danioso avatar urielable avatar sanosom avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.