Me doy cuenta de que para ser un mejor programador, usted necesita para programa!
Así que, obviamente, la más práctica, la mejor queda.

Mi problema es este. Actualmente estoy en la universidad, y me parece que el curso de mi carga es un poco complicado, y no tengo mucho tiempo libre. No creo que realmente podría tomar en un gran proyecto, particularmente yo no creo que se tiene a la motivación de ver a través de, sería más fácil para mí para seguir postergando en favor de la obra que es debido es la escuela.

Pero todavía quiero a la práctica.
Así que estoy buscando todos los recursos que tienen dificultades de programación que puede ser completado en una cantidad bastante pequeña de tiempo. Idealmente algo que yo podía hacer en menos de 10 horas de trabajo (para poco más de una hora de trabajo de cada día), si no más pequeños.

He oído hablar de Google Code Jam, pero no estoy seguro de la duración de los programas que en él se especifica, ni el nivel de habilidad.

¿Alguien tiene alguna sugerencia? Tal vez incluso un compendio de tutoriales para diferentes funciones pueden ser útiles. Por ejemplo, un tutorial sobre el archivo IO vale la pena (si no ya lo saben), aunque puede ser un bastante pequeño tema.

  • Hola Mundo es siempre un proyecto pequeño. En una nota más seria, trate de construcción de ajedrez o a las damas. Es bastante simple proyecto en general, pero la lógica va en cada pieza le permite aprender un poco justo… Mucho que aprender acerca de la programación orientada a objetos allí (por ejemplo, el polimorfismo, la Torre es una extensión de una Pieza, que tiene una fila y una columna).
  • +1 para la muy verdadera realización. 🙂 Por cierto, Google Code Jam es una vez al año del evento, pero el concurso es co-organizado por el TopCoder, que contiene concursos similares cada semana. Es un montón de diversión, pero usted no necesita saber un poco acerca de los algoritmos.
  • Yo estaba pensando más acerca del uso de su pasado concursos.
  • Buena idea; TopCoder también tiene un gran concurso de archivo. Si usted ha tomado un curso de algoritmos que intervienen gráfico de algoritmos y programación dinámica y entendido, usted puede sumergirse en la División 1, pero si no, es posible que desee comenzar con la División 2 tareas, ya que sus soluciones normalmente no se requieren grandes algoritmo de la teoría.
  • Código Chef es un maravilloso portal.
  • Wow, codechef es impresionante. Organizado por la dificultad, y bastante pequeño también. Además de muchos de los problemas que tienen tutoriales, o de otras soluciones. Gracias gracias por eso 🙂

InformationsquelleAutor Blackbinary | 2011-03-06

13 Comentarios

  1. 33

    Usted debe mirar en código de katas, hacen exactamente lo que usted está hablando. Corta los ejercicios que están diseñados para perfeccionar su codificación/habilidades de pensamiento.

    Otras referencias:

    1. http://kata.coderdojo.com/wiki/Overview_of_Learning_Resources
    • Me gusta mucho la Codificación de Kata, porque separa los retos por ‘cinturón’, que en realidad es mucho más agradable de tener que mirar a través de cada uno ver si es difícil o no.
    • Referencia de los enlaces están rotos.
    • sí, aparentemente, que el sitio fue cerrado. He encontrado una muy buena alternativa.
  2. 20

    Proyecto De Euler tiene algo de matemáticas/número de problemas relacionados que son muy interesantes y van desde fácil a muy difícil. Usted puede elegir su idioma de elección y presentar sólo la solución de un gran número entero). Después de que haya enviado la solución correcta, usted tiene acceso a un foro/página de comentarios donde otros publicado sus comentarios y soluciones.

  3. 17

    De experiencia que recomiendo encontrar una tarea que hacer de manera repetitiva y convertirlo en un programa. También recomiendo, en serio, re-inventar la rueda, con el fin de obtener la práctica con la programación. No dejes que la gente te dice que no hacer algo sólo porque ya existe. Si usted no sabe cómo funciona, pruebe a escribir por ti mismo.

    No sé exactamente de qué nivel de programación que son, pero no trate de hacer nada demasiado loco del palo, que es solo un demotivator (como tratando de escribir un juego para la PS3).

    Si usted ya puede navegar su manera alrededor con IO, entonces usted debe tratar de aprender realmente cómo utilizar las Colecciones de manera efectiva. Creo que una de las mejores prácticas de las asignaciones que he tenido fue la reescritura de la Java de la Clase TreeMap. Fue un gran reto y he aprendido mucho por hacerlo.


    Aquí están algunas sugerencias para la práctica de las asignaciones:

    Tomar un archivo de texto que tiene una buena cantidad de información, agarra cualquier cosa, usted puede obtener algo a partir de aquí si quieres: http://www.gutenberg.org/ y hacer un programa que haga lo siguiente:

    1. Leer en el archivo
    2. Crear una colección de palabras y sus ocurrencias
    3. Crear una colección de anagramas
    4. Crear una colección de palabras y las posiciones en que se producen (línea#, posición de la palabra)
    5. Elaborar estadísticas sobre las palabras en el archivo – significado – el tratamiento de cada palabra como un individuo – que las palabras se producen antes y después de él.
    6. Eliminar todos los espacios en blanco del archivo
    7. Escribir todos los datos anteriores para sus propios archivos

    Una de mis cosas favoritas para hacer es meterse con los datos de la web, vaya a un centro de votación sitio web, encontrar una página que tiene la encuesta de datos en forma tabular y hacer lo siguiente:

    1. Descargar los datos
    2. Analizar a través de los datos y a su vez los datos de tabla en un archivo CSV
    3. Abrir en excel sin error

    O simplemente en busca de cualquier sitio y extraer datos de él, sólo asegúrese de que el sitio es robot amigable http://www.robotstxt.org/, usted no quiere un sitio a sentir como que está bajo ataque. La mayoría del tiempo, aunque esto no es normalmente un problema, porque si usted lee los términos de uso del sitio se establece claramente se le permite descargar el 1 copia de lo que se está viendo tanto tiempo como usted no tiene intención de vender. Por supuesto, esto cambia para cada sitio.


    Ir a un sitio web y obtener todos los enlaces de la página de programación.


    Aquí es una divertida, la Susan Programa (no recuerdo porqué se llama Susan) que me escribió inicialmente el uso de un programa en C y dos Bourne shell scripts en un entorno Unix. La idea de este programa es la horquilla de 4 procesos hijos y darles a cada uno una tarea así:

    Niño 1: Lee un archivo, se crea un diccionario de cada palabra y su posición en el archivo, este se da salida a un archivo.

    Niño 2: Infantil 1 salida y reconstruye el documento, esto se da salida a un archivo.

    Niño 3: Toma Hijo de 2 de salida y no de lo que el niño 1 lo hizo de nuevo

    Niño 4: se Lleva a un Niño de 3 y no de lo que el niño 2 lo hizo de nuevo

    El objetivo aquí es tener una réplica exacta de la original del archivo una vez que el Niño de 4 salidas de ella. Esto es un desafío y algo sin sentido, pero el punto de este ejercicio es conseguir que la práctica.

    En su caso, no se siente que usted necesita para utilizar diferentes hilos para esto, sólo se puede utilizar un único programa con dos funciones diferentes y sólo las llaman en orden.


    De nuevo, no está seguro de si se encuentran en este nivel todavía, pero intente reemplazar cualquier «para» o «foreach» bucle que tiene en su programa con la recursividad, así como la práctica. La recursividad es un dolor en el trasero, pero es importante saber y entender.

    Estas son algunas sugerencias que creo que realmente le ayudará a mejorar sus habilidades.

    Disfrutar de

  4. 5

    Código de Atasco es un buen concurso de programación, aunque, como usted ha mencionado, la mayoría de los problemas no son para principiantes.

    Hay una buena selección de los problemas del pasado topcoder algoritmo de competiciones. (Se celebran ~2 veces por mes, durante casi 10 años ya, así que hay bastante.)

    Rango de dificultad de muy simple (pero interesante) problemas en la 2ª división a muy difícil.
    Además, hay editoriales con las soluciones y el entorno en donde se puede presentar y probar el código. Usted también puede aprender a partir de las presentaciones de otras personas.

    De verificación el problema listado.

    Otra de las ventajas de topcoder es el regular concursos en línea que tienen. Me parece que competir contra otras personas en tiempo real, es un gran estímulo para la motivación.

    Hay muchos más problema de los archivos, como SPOJ, Los rayos UVA y Timo, a pesar de que rara vez proporcionan soluciones o incluso pistas.

    • Gracias por los consejos, lo de los archivos, como el que estoy buscando. En particular, aunque, me gustaría que se clasifican en diferentes dificultades.
    • Topcoder, ofrece gran cantidad de filtros, incluyendo la dificultad y los temas (ver el link en el post). En otros archivos, usted puede a menudo juez problema de la dificultad por el número de personas presentadas (por ejemplo, en timus).
  5. 3

    http://codegolf.stackexchange.com podría tener algunas dificultades de programación a su gusto. Muchas de las respuestas en ese sitio se golfed (de implementar el programa en el menor número de caracteres), pero definitivamente hay algunos ejemplos interesantes para aprender.

    • Que es, sin duda no es una buena práctica, ya que el último código corto es nada que usted necesita en la vida real, es en su mayoría en contra de todos los estilos de codificación.
    • desconocida, pero los desafíos actuales son interesantes. Gracias mootinator.
    • ¿Quién dijo algo acerca de que el aprendizaje de cualquier cosa, desde el estilo de las respuestas? El sitio está lleno de decente corto programación de puzzles. Algunos respuestas son escrito bien o explicaciones detalladas. Eres bienvenido @Blackbinary.
  6. 3

    Tratar de inscribirse en cualquier curso en los siguientes sitios web:

    Estos sitios web ofrecen libre educativo programas de prestigiosas escuelas en donde hay gran cantidad de desafiantes ejercicios para afilar sus habilidades de programación. He aprendido a programa de percolación, reconocimiento de patrones, pelota que rebota y tantas cosas más interesantes, porque de esto. Usted va a cargar el programa al término de los ejercicios y usted será calificado de acuerdo a ello (básicamente el programa será revisado).

    Al final de cada curso, usted incluso recibir un certificado de finalización. Derecho Frío?

  7. 2

    Yo siempre he pensado que practicar con el ejemplo de las preguntas de la entrevista fue una gran manera de enfocar las habilidades y expuesto a los tipos de problemas que normalmente no resolver. Además, si usted va a estar buscando trabajo, ayuda aún más.

    Aquí una muy simple que hice para la diversión, el otro día:

    Escribir una rutina para imprimir los números del 1
    a 100 y de nuevo a 1 de nuevo sin
    el uso de cualquiera de los bucles.

    Glassdoor.com tiene un montón de buenas pregunta de la entrevista presentada por las personas que realmente se metió en una entrevista.

  8. 1

    Desde que están en la Universidad y que buscan mejorar sus habilidades de codificación de la copia impresa del libro El agrietamiento de la Codificación de la Entrevista podría ser un buen ajuste para usted. Tiene gran general de programación preguntas y curiosidades acerca de entrevistas con algunas de las mejores compañías de tecnología. No sólo hay grandes preguntas, pero hay decente problema averías así.

    [Divulgación: yo tengo el libro, pero de lo contrario, no tienen ninguna relación con ella.]

    • Hmm, este libro se ve muy interesante, Gracias!
  9. 1

    Si te gusta la programación y quieres mejorar tus habilidades de programador, usted debe tratar de cocode.co. Es un social de los jóvenes sitio, similar a la de StackOverflow, pero basado en la publicación y resolución de dificultades de programación, en lugar de preguntar y responder preguntas. De muy fácil retos muy duros.

    Muy pequeños programas para mejorar las habilidades de programación?

  10. 0

    Puede intentar resolver los ACM problemas. Hay miles de problemas y usted puede encontrar el nivel de dificultad así que usted puede elegir que los problemas del primero. El offcial sitio para esto es:

    http://uva.onlinejudge.org/. Usted puede aprender más allí.

    saludos
    arefin

  11. 0

    Puede parecer un poco obvio, pero me he dado cuenta de un verdadero impulso en mi habitual de expresiones habilidades últimamente sólo de responder regex preguntas sobre el Desbordamiento de la Pila. La enseñanza obliga a descomponer los problemas en fácilmente explicable piezas, y también orientar su investigación en aquellas ocasiones en que sabemos que la mayoría, pero no todas, de una solución.

    Sugiero que encontrar un tema que está ya un poco competentes en el, ya que este tipo de cosa no es tan bueno como principiantes tutorial. Búsqueda de MODO de preguntas etiquetadas con ese tema y tratar de averiguar las respuestas. No sólo el código en tu cabeza, seguir adelante y escribir, la prueba de ellos, y se lo explique. Si no estás seguro de tu respuesta es correcta, sólo tienes que escribir sin publicar.

Dejar respuesta

Please enter your comment!
Please enter your name here