+ Reply to Thread
Results 1 to 12 of 12

Thread: Improve your programming skills

  1. #1
    ARCHANGEL's Avatar

    Bug Improve your programming skills

    Товарищи, возникла идея о том, как проводить время с пользой, улучшая навыки программирования. Пока это всё - идея, поэтому высказывайте свои предложения, мнения, советы и т.д.

    Суть идеи в следующем. В начале недели некоторым случайным образом выбирается задача по программированию с какого-то ресурса on-line judge. Её пытаются решать и выкладывают свои результаты. В конце недели берём лучший и обсуждаем, за счёт чего решение получилось оптимальным. В течение недели обсуждения также разрешены, но запрещено выкладывать готовые решения.

    Критикуйте.
    Добрым быть просто - достаточно обратить свой гнев на негодяев...

  2. 4 пользователя(ей) сказали cпасибо:
    Dark Koder (18-09-2014) keyst0rke (18-09-2014) root (22-09-2014) ximera (17-09-2014)
  3. #2

    Default Re: Improve your programming skills

    Буду участвовать или нет, не знаю, так как я не програмист, но маслица в огонь подолью из своего архива.

    Набор ссылок вики: http://en.wikipedia.org/wiki/Categor...mming_contests

    Конечно же http://codeforces.com/ и https://projecteuler.net/
    а также
    http://www.azspcs.net/
    http://www.codechef.com/
    http://www.codewars.com/
    http://eudyptula-challenge.org/
    https://code.google.com/codejam/contests.html
    https://www.hackerrank.com/
    https://helloworldopen.com/
    http://community.topcoder.com/tc
    https://contest.tuenti.net/Challenges
    http://uva.onlinejudge.org/
    http://www.pythonchallenge.com/
    http://codingbat.com/
    Не знаю есть ли везде онлайн жюрейка, давно дело было.

    Можно даже сконструировать свой контест.
    http://www.kaggle.com/competitions

  4. 5 пользователя(ей) сказали cпасибо:
    Dark Koder (18-09-2014) Darwin (17-09-2014) keyst0rke (18-09-2014) root (22-09-2014) ximera (17-09-2014)
  5. #3
    Darwin's Avatar

    Default Re: Improve your programming skills

    Надо доступ к серваку иметь. Обычно решаешь задачу, вроде все правильно, а загружаешь на сервак падает на нескольких тестах. Да и там в основном математические задачи (очень часто олимпиадные), на знание алгоритма.

  6. 2 пользователя(ей) сказали cпасибо:
    Dark Koder (18-09-2014) ximera (17-09-2014)
  7. #4
    ARCHANGEL's Avatar

    Default Re: Improve your programming skills

    Так в том-то и суть, что на знание алгоритмов. Будем по ходу дела изучать алгоритмы. И с доступом к серверу, конечно, проще. Но практика показывает, что сервер если и валит на тестах код, то потому, что код кривой.
    Добрым быть просто - достаточно обратить свой гнев на негодяев...

  8. 2 пользователя(ей) сказали cпасибо:
    Dark Koder (18-09-2014) ximera (17-09-2014)
  9. #5
    ximera's Avatar

    Default Re: Improve your programming skills

    Полностью поддерживаю идею.
    Чтобы избегать ошибок, надо набираться опыта; чтобы набираться опыта, надо делать ошибки. © Лоренс Питер

    Неизбежное прими достойно. © Сенека Луций Анней

    Господи... храни сумасшедших. © Сумасшедший Фрэнки

  10. #6
    Darwin's Avatar

    Default Re: Improve your programming skills

    Иногда не хватает входяших данных, если задание не однозначное (может по разному трактоваться).

    С тестами тоже были когда то проблемы, делаешь проверку по граничным значениям (из условия) и пару тестов не проходят. Убираешь проверку все пучком.

    По всякому бывает.
    Last edited by Darwin; 17-09-2014 at 18:30.

  11. #7
    ARCHANGEL's Avatar

    Default Re: Improve your programming skills

    Да, бывает по-всякому. Потому и выберем какой-то известный ресурс, где можно и советы почитать, и условия задач проверены.
    Добрым быть просто - достаточно обратить свой гнев на негодяев...

  12. Пользователь сказал cпасибо:
    Darwin (17-09-2014)
  13. #8
    ARCHANGEL's Avatar

    Default Re: Improve your programming skills

    Ок, тогда давайте выберем какой-то ресурс, с которого будем брать задания. Нужно, чтоб поддерживалось достаточное большое количество различных языков программирования, задания должны быть изложены простым и понятным языком, и хорошо бы, чтоб на правильное решение в случае неудачи ну хоть что-то намекало. Например, вот не знаю я, как решать задачу. А там говорят - используй алгоритм Беллмана-Форда, а я без понятия, что это такое. Но я уже знаю, что искать.

    OKOB предложил множество ссылок, есть смысл выбрать что-то оттуда, но если кто-то знает другие достойные ресурсы, то предлагайте. План, в общем, такой:
    1. До начала выходных определяемся с ресурсом, на котором будем решать задания. Т.е. пятница (вечер) или суббота (утро) - дэдлайн.
    2. Далее выбирается задание для решения. Выбираться может как рандомом, так и каким-то другим способом, предлагайте.
    3. До следующих выходных - решаем самостоятельно и обсуждаем.
    4. Следующая суббота - делимся результатами.
    5. Суббота/воскресенье - разбор удачных решений.
    6. После разбора - выбор нового задания и т.д.

    В принципе, в ходе таких занятий ресурс можно будет поменять, если выбор окажется неудачным. Про выбор заданий - можно выбрать рандомно, но хорошо бы, чтоб задания хотя бы несколько недель подряд были на одну и ту же тему, чтоб тема закрепилась. В общем, пока предлагайте ресурсы с небольшой аргументацией, почему этот ресурс нам бы подошёл. А там - посмотрим.

    Мне, например, нравится ресурс Тимус. Хорош тем, что задач много. Условия на русском языке, понятны, каждой присвоен уровень сложности. Также достаточно просто начать работу с ресурсом. Из минусов - задачи не структурированы по темам; бывают траблы со входными данными, как описывал выше Darwin; форум есть, но убог.
    Добрым быть просто - достаточно обратить свой гнев на негодяев...

  14. #9

    Default Re: Improve your programming skills

    Из ресурсов: (может выше был упомянут, не заметил)
    http://codeforces.ru/

    Никогда у меня не было проблем с тестами и задачи струированы по темам. Так же если совсем печально и не получается решить задачи, то через неделю ( приблизительно ) авторы задач выкладывают решения (идеи, не код).

    А так мне кажется более полезным может быть вид соревнований, когда дается на месяц задача с большим призовым фондом ( как правило какая-то именитая контора выдвегает задание ). Там и задачи практичнее, и интереснее. Пример таких сореваний есть на topcoder.com.
    Last edited by coldfire; 19-09-2014 at 06:56.

  15. #10
    ARCHANGEL's Avatar

    Default Re: Improve your programming skills

    Что-то немногие хотят обсуждать тему. А кто хотел бы участвовать? А то, может, никто не хочет?
    Добрым быть просто - достаточно обратить свой гнев на негодяев...

  16. #11
    Darwin's Avatar

    Default Re: Improve your programming skills

    Я буду стараться участвовать, но не постоянно. Интересней порешать wargames.

  17. #12
    REU's Avatar

    Default Re: Improve your programming skills

    Я не хочу.

+ Reply to Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
All times are GMT. The time now is 01:28
vBulletin® Copyright ©2000 - 2018
www.reverse4you.org