Тимофей Мартынов
Тимофей Мартынов личный блог
28 января 2016, 11:49

Как я изучаю C#?

1. Читаю книгу «изучаем C#» Стиллмена.
2. Кодю в Visual Studio все примеры
3. Пока не пойму, как работает программа, дальше не иду.
4. Чтобы лучше усвоить, каждую программу объясняю в деталях и записываю это с экрана на ютуб
5. Записываю каждый день сколько времени потратил на программирование.

Таким образом я уже потратил 42 часа чистого времени. Учёт времени я веду в помидорах, используя http://tomato-timer.com/ Данную технику когда-то в фейсбуке посоветовал Константин Бронштейн, — я решил взять на вооружение. Суть в том, что 25 минут ты концентрированно занимаешься проблемой, потом 5 минут отдыхаешь. И в сумме при таком подходе расход времени становится более эффективным. Я реально эту тему уже 2 года использую.

3 года назад я уже читал Стиллмена, прогал примеры. Дошёл до 254 страницы и бросил. Надоело. Кстати надоело именно из-за того, что я пытался быстро с наскоку во всем разобраться.  Сейчас я на 241 странице (всего 700 стр.). На книгу я потратил пока 27 часов чистого времени. До неё я смотрел вебинары по C# и пытался разбирать коды. Мне кстати есть с кем поговорить. В офисе тут как минимум три программиста: два из них пишут только на старом С ещё и под линукс, третий ещё и до C# дошел. Счас уровень подтяну, будет о чем с ними поговорить.

Параллельно я выписываю задачи, которые я собираюсь решить в будущем при помощи программирования. Какие расчеты присобачить к биржевым графикам, какие параметры, индикаторы,  и т.п.

Местами программирование идёт невероятно туго. Вчера 1,5 часа потратил чтобы найти в коде ошибку. Ошибка была до безумия тупая — я забыл написать перед функцией что она void, а найти ошибку не мог, потому что думал, что компилятор ругается из-за функции, которая была перед ней, потому что именно там был установлен маркер ошибки (соответственно я искал ошибку не в той функции). Но я все равно намеренно не пропускал эту программу, и нашёл таки эту ошибку, к-ю сам сделал по невнимательности.

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

Кстати всем спасибо, кто оставлял советы к моим предыдущим постам про программирование! Они действительно помогли приобрести правильный настрой.

Предыдущие посты на эту тему:
22.01.2016: Программирование и я (+126,83к)
20.01.2016: Продолжаю изучать C# (+67,63к)
14.01.2016: Я и программирование (+279,260к)
12.12.2012: Чем для гуманитария оборачивается изучение C# (+20,36к)

p.s. кстати, знающие люди, подскажите плиз, как так у меня получилось, что в текстовых метках последний символ свойства Label.Text стал первым?:))
Как я изучаю C#?
161 Комментарий
  • Андрей К
    28 января 2016, 11:56
     и совершенно абстрактные конструкции

    уже и речь программиста начинается.
  • Александр Муравьев
    28 января 2016, 11:59
    Красавец! Тяжело наверно учить программирование с нуля на С# не в юном возрасте...))
      • Sergey F
        28 января 2016, 12:12
        Тимофей Мартынов, как узнаешь ответ на первые символы в строке — напиши мне в ответ на этот каммент плиз. Оч интересно.
      • Евгений Черных
        28 января 2016, 12:42
        Тимофей Мартынов, Молодец. Но имхо тебе лучше изучать маркетинг и все что с этим связано. Ты уже со смартом так то на другом уровне
          • Евгений Черных
            28 января 2016, 12:54
            Тимофей Мартынов, Я просто не понимаю зачем тебе как бизнес мену знать программирование.
            • Вячеслав
              28 января 2016, 12:57
              kbrobot.ru, Программирование развивает мышление и логику) чем выше уровень мышление тем легче дается решение тех или иных задач
              • Евгений Черных
                28 января 2016, 12:59
                Вячеслав Лисин, Если с этой точки зрения то да. Эдакие прикладные шахматы :)
      • Евгений
        28 января 2016, 14:03
        Тимофей Мартынов, p.s. кстати, знающие люди, подскажите плиз, как так у меня получилось, что в текстовых метках последний символ свойства Label.Text стал первым?:))

        Если нормально сформулируешь вопрос подскажу


        А все понял этого не может быть глюк какой то

        если написало

        Label1.Text=«бла бла ?»;

        то так и должно выводится

          • Евгений
            28 января 2016, 16:45
            Тимофей Мартынов, проверить свойство Label — RightToLeft скорее всего в True установлен исправить на False

            Или в коде написать

            Label1.RightToLeft=false;
          • Евгений
            28 января 2016, 16:52
            Тимофей Мартынов, Для чего изучаешь С# если собрался писать роботов для QUIK сразу забудь я знаю си, но писать не стал бы это геморрой, нету нормального API для QUIK проще заплатить.

            Ты написать не сможешь даже после 2х лет изучения си
            • Alexand77
              28 января 2016, 18:06
              Евгений, есть API SmartCom, он под него и собирается писать, из предыдущих постов это очевидно.
      • Евгений
        28 января 2016, 17:58
        Тимофей Мартынов, почитай для ориентира по C# — Карты и матрицы специальностей:
        edu.cbsystematics.com/ru/education/roadmap

        • vito2000
          29 января 2016, 12:00
          Евгений, т.е. судя по таблице, нужно в среднем 450 часов до уровня «специаслиста» (без опыта). Если по 3 часа в день, то займет полгода. Вполне нормальное вложение времени, если через эти полгода получать потом  100т.р. в мес.
    • Сергей Есенин
      28 января 2016, 12:51
      Alex, разницы никакой нет. я даже не знаю откуда это пошло, что что-либо в каком-либо возрасте больше 25-30 тяжело дается.
        • Вячеслав
          28 января 2016, 13:00
          Тимофей Мартынов, вам для изучения http://studopedia.info/10-6404.html в студ годы там много инфы получил)
      • Максим Виссарионович
        28 января 2016, 13:05
        Сергей Есенин, в юности на вдохновении всё делаешь, а потом его уже нет, чисто расчет.
        • Сергей Есенин
          28 января 2016, 13:39
          Максим Виссарионович, если четко понимаешь для чего оно тебе надо, то проблем возникать не должно)
  • Андрей К
    28 января 2016, 11:59
     Про ошибки. Если программа компилируется и в процессе выполнения валятся ошибки, то помогает метод некоторого логирования. Можно и применять трассировку, но я сторонник, понавтыкать в код кучу MessageBox, так я отлавливаю ход выполнения кода.

    .....
    MessageBox  (Этот кусок пройден, переменные = ..)
    ...
    MessageBox  (Эта функция отработана, переменные = ..)
  • Валентин Елисеев
    28 января 2016, 12:05
    Что-то мне кажется это не совсем правильно… Имея один из самых посещаемых ресурсов по очень интересной и денежной тематике — не надо всякие языки изучать… (имхо)
  • Андрей К
    28 января 2016, 12:05
    И не забываем про try-catch. Это дополнения к тексту об ошибках.
      • KNK
        28 января 2016, 13:46
        Тимофей Мартынов, это вот про это 

        try
        {
        SMAhigh = this.SMAhigh_h.Execute(HighPrices[bar], periodShort, bar);
        }//Вычисляем SMAhigh
        catch (System.ArgumentOutOfRangeException )
        {
        throw new TSLab.Script.ScriptException(«Ошибка при вычислении блока \'SMAhigh\'. Индекс за пределам диапазона.»);
        }//Сообщение если произошла ошибка в вычислении

      • Андрей К
        28 января 2016, 15:23
        Тимофей Мартынов, попытаюсь как обычно, раскидать на пальцах по простому.
        Бывают ситуации в процессе выполнения программы, когда программист заранее не может просчитать. Ситуация может вызвать такую ошибку в программе, что она ее вешает/портит/глючит. Ну например, вы что то высчитываете какой то формулой и у вас происходит деление на 0 (что в математике не приемлемо).  Или например, вы что то пытаетесь записать в файл, а windows вам этого не дает. Возникают глюки. Такие ситуации называются в программировании — исключительные ситуации. Если вы знаете, что какой то участок кода способен создать такую засаду, вы его оформляете в конструкцию try-catch
        Оформляется так:
        try
        {
               участок кода, который может заглючить
        }
        catch
        {
               операции, которые нужно сделать, если глюк возник
        }

        Например
        int n = 0;
        try
           a = 2/n;
        catch
           MessageBox.Show(«Операция деления вызвала ошибку»)

        Тогда программа не глюканет, а грамотно обойдет эту ситуацию. Подобный ход называется обработкой исключения.
  • EZDOK
    28 января 2016, 12:09
    напомнило… )))
     
     smart-lab.ru/blog/306231.php
    • Иван Петров
      29 января 2016, 09:15
      EZDOK, ТОЧНО!!!
      Не в бровь, а в глаз)))
  • alexKa
    28 января 2016, 12:09
    лучше сразу заняться делом, когда есть реальная задача обучение идет быстрее и незаметно
    • Denis Vlasov
      28 января 2016, 12:17
      лучше сразу заняться делом, когда есть реальная задача обучение идет быстрее и незаметно

      alexKa, верно только отчасти. Если нет базового набора знаний и ты не готов сразу набросать скелет программы для решения этой задачи, лучше всё-таки изучать основы по существующим примерам. Но вот в уме (в подсознании), конечно, нужно держать реальные задачи, которые ты собираешься решать. Поэтому считаю, что Тимофей всё правильно делает, выписывая задачи, которые он планирует решать. Как только знаний будет достаточно для какой-то из них, мозг сам выстрелит мыслью «Я ведь могу попробовать решить такую-то задачу прямо сейчас»
  • @L€K$ (Monaco)
    28 января 2016, 12:14
    не забывай первое правило программиста... «почаще сохраняйся». 
  • Surgeon
    28 января 2016, 12:20
    Учёт времени в помидорах-это весчь))
  • Fillio
    28 января 2016, 12:20
    itvdn.com/ru/video/csharp-essential

    неплохой видеокурс, по моему мнению. Нравится голос автора и его подход к обучению. Ну и не так скучно, нежели по книжке )
  • Denis Vlasov
    28 января 2016, 12:20
     Тимофей, а git-ом пользуешься? Если нет, то настоятельно рекомендую. Кучу времени сэкономишь, разбираясь, почему программа пару помидор назад работала, а сейчас нет :)
  • Макс
    28 января 2016, 12:25
    Сценарий один — начинает чтото получаться, процесс приносит удовольствие и уходят все траблы с мотивацией, набиваешь немного руку и появляется проект который можно показать, внезапно поступает предложение поработать за зарплату, в итоге забиваешь на все остальное т.к. быстро приходит осознанию что по комфортности на доллар заработка с программированием вообще мало что сравнится.
      • Макс
        28 января 2016, 12:45
        Тимофей Мартынов, я сформулировал коряво. Хотел сказать что обычно заработок программированием сопряжен с минимальной нервотрепкой. На бирже совсем не так даже если торгует робот. Ценность опыта програмированмя полученного при создании робота на порядок превышает ценность полученного понимания рынка, мое мнение.
  • owner
    28 января 2016, 12:36
    юзай брейкпоинты, не в блокноте же пишешь код))
  • Eric Dzhendoyan
    28 января 2016, 12:37
    Тимофей Стань хакером и взломай американские биржи))
  • Сергей
    28 января 2016, 12:38
    тимофей :)  рад за ваши успехи :) вы реально молодец :)
      но
     вспоминая  как вы говорите что то что я пишу никому не интересно, и что у меня запрет писать в общую, + то что вы  не дали мне возможность писать в разделе алготрейдинг
     ( я признателен что вы  переместили по просьбе туда мой вопрос)

    ответьте себе честно посты данного направления соответствуют  тематике ресурса? какому проценту ваших посетителей они интересны?

     я вот тоже  ищу частенько ответы по программным вопросам, тоже учу языки,  так мне тут писать в общую? или все таки искать спец форумы?

    удачи в  изучении C# :)
      • Сергей
        28 января 2016, 13:06
        Тимофей Мартынов, 
        1 не расценивайте мой комент выше как жалобу :) сколько людей столько мнений :)
        2  вы главное ответьте сами на вопросы о вашем комментарии, можно не озвучивать :)
        3. по  поводу отсутствия записей про алготрейдинг -
        так их и не будет, потому что  доступа что то писать в разделе нет, а на вопросы и темы написанные в вопросах и общей никто не отвечает, какой смысл писать?
        нет есть конечно вариант  написать и попросить вас перенести, что и сделал вот  с этим вопросом:
        smart-lab.ru/vopros/305771.php
         но честно три раза подумаешь а стоит ли писать
  • Денис Михайлов
    28 января 2016, 12:41
    Года 4 назад я задался целью тоже изучить си шарп. Нужно было написать простого робота под альфу)
    Опыт у меня был. Еще в детстве программировал, бейсик, Паскаль, потом хорошо изучил Яву. Долгое время не программировал.

    Так вот я скачал с торрентов видео уроки какого-то перца (кажись с Украины). Занятий 20, где он все разжовывает. Где-то за пару месяцев я все освоил и написал нужный код.
    Но так как я не программист, больше я ничего не кодил и сейчас уже все подзабыл… т.е. в целом просто потеря времени…
  • ...
    28 января 2016, 12:43
    есть такая тема в интернет — изучаем ${lang} за 15 минут. вместо ${lang} подставьте нужный вам язык =). синтаксис и управляющие инструкции учить минут 15, ну может быть пару часов вместе со всеми управляющими конструкциями. дальше уже идет изучение технологий или Фреймворков по русски =) это всякие наборы классов и библиотек. с++ учить пару часов а вот stl и boost всю оставшуюся жизнь =) лучше сделать отдельный раздел. видел была проблема с концепцией событий но по комментам так никто и не посоветовал почитать про паттерны в частности про наблюдателя
      • Denis Vlasov
        28 января 2016, 13:03
        Тимофей Мартынов, человек дело говорит так-то. Не знаю, как насчёт изучения за 15 минут (это скорее для опытных прогеров, переходящих с другого языка), но вот такой код даже в качестве шпаргалки может пригодиться:

        https://learnxinyminutes.com/docs/csharp/
      • ...
        28 января 2016, 13:04
        Тимофей Мартынов, тупой бы так не сказал =) думаю что не правильно ты дядя Фёдор бутерброд ешь =). выцепи какого-нибудь программиста, любого абсолютно. он тебя за 3-5 занятий научит пользоваться от ide (visual studio судя по всему) всякими брейкпоинтами, профилировщиком, отладчиком до всяких паттернов и подходов. а главное можно вопросы позадавать. знать программирование и уметь писать код это 2 разных оперы. вы слишком преувеличиваете сложность первого и мешаете со вторым.
      • IgorMushtriev
        28 января 2016, 13:05

        Добрый день, Тимофей, 

        Если есть реальное желание ЗАРАБАТЫВАТЬ на рынке, то лучше приходи к нам, в Мастер группу «Финансовой лаборатории» Игоря Чечета и Дмитрия Власова. (chechet.org)

        Здесь и C# и Resharper и VisualStudio изучишь. Сразу с практическим уклоном. 

        Наставники «за ручку» проведут по тернистому пути становления алгоритмического трейдера от простого к сложному.

        Чтобы не быть голословным, даю ссылку на итоги работы на реальном счете: http://smart-lab.ru/profile/VDV/

        можешь и ко мне в профиль заглянуть.

        нас много здесь. Просто мы не «светимся». Мы работаем.

        Удачи в трейдинге!

         

          • IgorMushtriev
            29 января 2016, 21:24

            Добрый день, Тимофей!

            Да. Только что закончилось занятие Мастер группы.

            На базе моей системы он сделал свою :), показал. Уже поставили в торговлю. 

            Ему сейчас некогда: его младшая дочь стала чемпионкой Европы по шахматам в своей возрастной группе. Ездили на чемпионат мира в Италию. 

            Трейдингом (алгоритмическим, автоматическим) занимается очень активно.

            Здесь бывает ежедневно. Ведет учет движения средств на счете.

             

          • IgorMushtriev
            29 января 2016, 21:33

            Тимофей, я почитал, что тебе советуют.

            Вот мой совет: пройди курс по ТСлаб у Родиона Скуратовского из RusAlgo.ru

            Во-первых, научишься работать с VisioStudio.

            Во-вторых, изучишь ТСлаб — программу для алготорговлию

            В-третьих, изучишь С#. И не просто язык, а конкретные вещи для программирования стратегий.

            Останется изучить Wealth-Lab для оптимизации стратегий.

            За этим — к Дмитрию с Игорем.

            Это самый правильный путь в алготрейдинг.

              • IgorMushtriev
                30 января 2016, 08:16

                Тимофей,

                Это не просто курс. Родион просто и ясно расскажет сложные вещи по принципу от простого к сложному. После каждого занятия дается «домашка». Первые — простейшие. Но с каждым разом они становятся сложнее и по окончанию курса (18 дней) становишься профессиональным программистом на С# с трейдерским уклоном.

                Я не знаю ни одного трейдера, прошедшего этот курс, сказавшего, что курс — «фуфло». 

                Курс реально стоящий.

                Но, Родион сразу предупреждает на 1 занятии, чему он не будет учить: 

                — создавать торговые стратегии;

                — трейдингу.

                Он дает базовые знания программирования торговых систем для ТСлаб на С# с использованием Visual Studio & ReSharper.

                А торговые идеи, реальный трейдинг — это Игорь и Дмитрий.

                Что касается книг, их никто не отменял. :)

                Сегодня Игорь выложил в своем блоге рецензию на очередную книгу. Захотелось самому её прочитать.

                chechet.org/174

          • Дмитрий Власов
            03 февраля 2016, 09:41
            Тимофей Мартынов, не, я не «забивал» на смарт-лаб. Просто статьи сюда писать перестал, т.к. сразу же начинают обвинять, что «околорыночник» и ищу новых жертв, чтобы их в оборот взять. А в режиме «чтения» каждый день здесь. Плюс пользуюсь сервисом «Мой счет» для ежедневного учета результатов по счету мастер-группы
  • vfreeman
    28 января 2016, 12:55
    установи resharper — он тебе будет подсказывать.
  • yaroslav1988
    28 января 2016, 12:56
    Тимофей, во первых удачи!

    А еще можно нескромный вопрос, а зачем C# ?

    Я вот знаю шарп, а куда приткнуть его не знаю ... 
    • owner
      28 января 2016, 14:29
      Yaroslav Romanov, .net, xamarin, unity
  • Евгений Черных
    28 января 2016, 12:59
    Вячеслав Лисин,
  • RTS_TRADER
    28 января 2016, 13:04
    Я пропустил суть а читать не охота… многабукв
    задача то какая у Тимофея  стоит  после  изучения с # -?
    • VpnS
      28 января 2016, 13:10
      RTS_TRADER, написал же про торговые роботы
      • RTS_TRADER
        28 января 2016, 13:52
        VpnS, пасиб -))))
  • Любопытный Пай
    28 января 2016, 13:06
    Если надоест роботов кодить, пробуйте время от времени Unity3d, там под шарп игрушки делать интересно ( свой мультиплатформенный движок ). 
  • Aleksey
    28 января 2016, 13:16

    Тимофей! Какая версия студии? 2010 ?

  • Chepell
    28 января 2016, 13:32
    Тимофей Мартынов, модолец! Теперь главное не остановиться и продолжать регулярно заниматься! Смотря на тебя постараюсь и сам в очередной раз изучить сишарп. Летом вроде бы нашел мотивацию, для ее усиления потратил денег и купил курсы по сишарпу применительно к тслаб. Но хватило меня на пару недель ((
    Тяжело шло и мотивация куда-то испарилась. Зачем что-то новое учить если и так все без проблем реализую в среде multicharts и кубиками в тслаб. Да, сишарп даст новые возможности, но блин какие, если и текущих возможностей вроде как достаточно ))

    По твоему обучения я вот не понимаю, тебе просто интересно изучить язык программирования или все же применительно к трейдингу?
  • Иван Петров
    28 января 2016, 13:36
    Зачем?
    • RTS_TRADER
      28 января 2016, 13:53
      Иван Петров, уникальную  торговую систему закодить -)
      • Иван Петров
        28 января 2016, 14:07
        RTS_TRADER, Может стоит сначала ее найти?
        • RTS_TRADER
          28 января 2016, 14:34
          Иван Петров, -))))
  • Алексей
    28 января 2016, 13:45
    Тимофей, пропускайте всё что связано с winForms не актуально а мозг забьёте, всё что касается юзер интерфейса лучше сразу изучать wpf с паттерном mvvm в идеале используя DependencyProperty, кода больше конечно, но изучать устаревший winForms это время терять, запишите эти 3 волшебных слова в будущем пригодится :-)

    по поводу Label.Text вы бы хоть код выложили, без него не разобраться :-)
    p.s.: ошибки ищут через дебагер ставите точку остановки и строчка за строчкой проверяете как работает программа.
    • Евгений
      28 января 2016, 14:18
      Алексей, тут дело не в программе а в кривом расположении элементов на форме скорее всего

      wpf  сложно понять будет для новичка лучше начинать с винформ
      • Алексей
        28 января 2016, 14:29
        Евгений, Если компоновка элементов виновата, то вариант только один — проверить свойство RightToLeft скорее всего в Yes установлен
      • Алексей
        28 января 2016, 19:17
        Тимофей Мартынов, вы их главное запишите, это цель на будущее :-)
  • evgen000
    28 января 2016, 13:49
    Один момент. Научится не сложно, сложно потом не забыть, ибо навыки надо применять постоянно, каждый день. Если честно не понимаю зачем тебе это… Вроде бы у тебя есть деньги, не проще ли команду алготрейдеров собрать.
  • Программирование съедает мозг только поначалу. Потом легче. Правда чем больше программа тем сложнее. Разбираться в чужом говнокоде вообще ужас, многие этого не любят. Мартыныч ты конечно поздновато в эту область зашел, тут требуются годы что бы что-то из себя начать представлять. Решение реальных задач IT — это не примерчики писать. И да, только С++, только хардкор.
  • SMA
    28 января 2016, 14:21

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

      • SMA
        28 января 2016, 22:35
        Тимофей Мартынов, будет намного проще, когда будешь делать то, ради чего пытаешься научится программировать- это будет твоей мотивацией.
  • Lenny
    28 января 2016, 14:31

    Как ты собираешься применять это знание?

    • Русский
      28 января 2016, 14:58
      Lenny, присоединяюсь, т.к. писать генеральные роботы, это как делать авто, разработать колесо\форсунку\двигатель, и сделать его, это разные вещи… сделать любой «китаец» может, вот и надо им это отдавать, а самому головой работать, а не кодить.

      PS
      Я весь програминг у хохлов заказываю, у них  цена\качество — супер!
      • Lenny
        28 января 2016, 15:24
        Алексей Иванов, рискуешь. Могут клятому москалю бомбу вложить.
  • Alpinist573
    28 января 2016, 14:33
    Очень прикольный ресурс по изучению Си шарпа videosharp.info гораздо веселее чем по учебнику мусолить и на вопросы отвечают
  • Утро
    28 января 2016, 14:37
    Тимофей, хотел сказать пару слов по поводу помидоро-техники. Есть еще на coursera.org интересный курс: Learning how to learn, Barbara Oakley — мне очень понравился… Не то, чтобы узнал очень много нового, скорее там все более структурно собрано и описано про процесс обучения. Помидоро там тоже упоминается и некоторые другие интересные факты и приемы

    Вдруг вам тоже будет интересно! 
    Удачи в освоении с##!
  • Alchemist
    28 января 2016, 15:27
    Экс-министр обороны США сделал мобильную игру в 83 года: https://roem.ru/28-01-2016/217710/rumsfeld/
  • Alchemist
    28 января 2016, 15:32
    Всегда мечтал уметь программировать. Вот начал самостоятельно изучать Computer Science и Python Programming, имея сугубо финансово-экономический бэкграунд, но будучи гиком в душе.

    Начал изучать Python в контексте инструментария для применения в Data Science и далее в Machine Learning. Навыков программирования до этого не имел, если не считать работу со сложными связанными таблицами excel.

    Начал с самого базового курса "Основы программирования на Python", книги Марка Лутца «Изучаем Python» и тренинга Python Essentials от Enthought, Inc. И официальные инструкции поглядываю: The Python Tutorial.

    Также обучаюсь на курсах:

    • массачусетского технологического института (MIT) MITx: 6.00.1x Introduction to Computer Science and Programming Using Python на edX;

    • Introduction to Python for Data Science (от Microsoft) на edX;

    • Python на Codecademy

    В феврале начинаю изучение курса МФТИ Математика и Python для анализа данных на Coursera.

    После завершения всего, что указано выше, планирую осилить совместный курс Высшей школы экономики и Школы анализа данных Яндекса на Coursera по Machine Learning:

    https://www.coursera.org/learn/intro...chine-learning

    В плане софта и среды разработки осваиваю:
    Enthought Canopy;
    Anaconda;
    Jupyter;
    и штатный IDLE.
      • Alchemist
        28 января 2016, 18:10
        Тимофей Мартынов, взял несколько курсов по Python так как до этого опыта кодинга вообще не было. Все указанные мною курсы предполагают «делание», а не только слушание/чтение. + уже начал затачивать Python под решение своих прикладных задач.
      • Alchemist
        28 января 2016, 21:10
        Тимофей Мартынов, iQuik.ru, судя по вопросам типа «много учишь, а когда кодить начнешь» можно сделать вывод, что вы не сталкивались с форматом обучения MOOC на платформах edX, Coursera и т.д. Название «курс» в привычном здешней публике по различным околорыночным курсам не соответствует реальному содержанию образовательных программ этих платформ. Непосредственно лекции занимают лишь малую часть конкретной образовательной программы, а основной акцент сделан на практическую работу, то есть, в случае «курсов» по программированию, собственно, на сам кодинг. Например, образовательная программа Introduction to Computer Science and Programming Using Python на edX построена на реальной офлайновой программе MIT. Как человек, который учился в США 1,5 года по программе MBA могу вас заверить, что образовательный процесс и контент edX и Coursera максимально соответствует реальному образовательному процессу в США.
        • Сергей Грошев
          29 января 2016, 10:00
          Alchemist, 

          Вы 11 лет на рынке и с 11 года на СЛ. За это время что-то заработали на рынке? Я без троллинга, реально интересует этот вопрос. Пошлёте подальше — не обижусь :-)
          • Alchemist
            30 января 2016, 04:17
            Тимофей Мартынов, попробуй что-нибудь, например, по C#. Останешься приятно удивлен.
    • swerg
      28 января 2016, 20:04
      Alchemist, вы в самом деле осилили всё это обилие курсов?!
      Я, правда, так и не понял: что с программированием на питоне в итоге?
      Но обилием осиленных курсов — сражён!
      • Alchemist
        28 января 2016, 20:40
        iQuik.ru, да, все в процессе!
        • swerg
          29 января 2016, 06:05
          Alchemist, c ума сойти.
          Проще выучиться программировать, чем освоить все эти курсы )
      • Alchemist
        29 января 2016, 11:18
        iQuik.ru, я учиться кодингу в январе начал.
    • vito2000
      29 января 2016, 14:13

      Alchemist, 
      Серьезный у Вас подход. Много усилий потребует. 

      Это для трейдинга или  новую профессию Data Mining получаете?

      Я так прикиул, что если по 8 часов в день заниматься, то за год реально и все эти курсы пройти. Куда дальше двигаться с этим...

      Как вариант:
      -год-второй в России набраться практического опыта.
      -потом сдать экзамен по английскому.
      -засветиться в решении заданий на  Kaggle.com (там конкуренция ппц — китайци и индусы рулят)
      — искать работу в Европе или США:

       

  • Scrooge
    28 января 2016, 16:35
    Программирование сложная тема. Я знаю по своему брату он уже лет 10 работает как минимум, столько книг вычитал толстенных. это нужно такая голову иметь что бы понять, а сейчас он работает в Mail.ru,  старший по отделу разработок игр, и плюс ешё блог ведет на своем сайте. 
  • Alchemist
    28 января 2016, 16:35
    Кстати, вот, например, на edX курс Programming with C# от Microsoft:

    www.edx.org/course/programming-c-microsoft-dev204x-1

  • day0markets.ru
    28 января 2016, 16:41
    Если идет прям совсем туго, то лучше пойти на курсы. курсы по программированию намного полезней курсов по трейдингу:)
      • Евгений
        28 января 2016, 17:09
        Тимофей Мартынов, расскажу как я учил 

        Есть замечательный форум — ЛУЧШИЙ В СЕТИ, на нем есть все языки и радиотехника и прочие, не сочтите за рекламу!

        Вот раздел по си — www.cyberforum.ru/csharp-net/

        Там есть раздел для новичков решайте задачи (старайтесь решить или просто читайте) по си в этом разделе, которые выкладывают новички и вы набьете руку
      • day0markets.ru
        28 января 2016, 17:34
        Тимофей Мартынов, да. пока не поймешь основы, тяжело идет. я помню сам как радовался, когда смог распарсить текстовый файл и прикрутить какое то апи. Несколько дней потратил на код. А сейчас на это уйдет минут 10 просто на набор кода. А так в принципе любая ошибка отлично гуглится на английском
    • Alchemist
      28 января 2016, 18:08
      Alex Hurko, «курсы по программированию намного полезней курсов по трейдингу» — 100%. В цитатник смартлаба!
  • Андрей Макарыч
    28 января 2016, 17:51
    может проще на курсы? это как с языками — на курсах эффективнее, чем самообучаться
  • Антон Денисков (Fry)
    28 января 2016, 17:52
    Тимофей, ты разобрался с событийной моделью программы?
      • Антон Денисков (Fry)
        30 января 2016, 08:41
        Тимофей Мартынов, в учебниках не пишут, но тут главное понять вот что.
        Самая простая модель программы — это когда код выполняется последовательно строчка за строчкой (как мы читаем книги). Чуть сложнее — это когда есть циклы и переходы (типа как гиперссылки).
        А вот событийная модель программы представляет собой «разорванное» исполнение кода.
        В такой программе существует функция(и), которую может даже не вызывать сама программа. То есть, грубо говоря, присутствует участок кода, к которому вообще нет «ссылок» внутри кода. Как бы островок кода.
        Для чего он нужен?
        К такому коду обращается сама система (как это обеспечивается чисто технически: читай про callback-функции).
        Итак, система (операционная система или другая программная среда) сама обращается к части программы. Причина по которой система обращается к этому «островку кода» и называется сообщением(событием). Приходит сообщение извне(в принципе и сама программа может высылать себе сообщения).
        Принимающий код (тот самый «островок» без явных ссылок на  него) называется обработчик сообщений(событий). Внутри обработчика происходят ответные действия на внешние события.
        Пример: пользователь нажимает кнопку в окошке — обработчику сообщений этого окна ОС высылает сообщение о левом клики мышки, о том, что кнопку нажали, потом отпустили и т.д. Обработчик может опустить не нужные события (перекинуть их системе) и обработать только нужные.
        В твоём случае сообщения будет посылать не ОС, а трейдерская среда программирования (не важно в какой системе ты будешь потом кодить, везде так будет).
        Это главное, что надо понять о событийной модели — основное взаимодействие программы с внешней средой происходит через события.
  • Сергей Гаврилов
    28 января 2016, 18:56
    А еще кодинг ведет к депрессии... 
  • Евгений Макеев
    28 января 2016, 19:10
    Тимофей изучи возможности по отладке, которые предоставляет среда, в которой пишешь код. Пошаговое исполнение, исполнение с/без захода в блоки (функции) Breakpoints, wathlist (смотреть на значение переменных) и т.д., куча проблем сразу отпадет — сэкономишь массу времени. Почаще компилируй код, по ходу написания, чтобы на ходу исправлять ошибки.
  • swerg
    28 января 2016, 20:02
    > и записываю это с экрана на ютуб

    А вот это зачем??
  • Lexw
    28 января 2016, 20:49
    не сочтите за рекламу плз...
    рекомендую javarush.ru, там очень продуктивный подход к обучению. Сам сейчас там учусь )
    Хоть он и по джаве, но перейти с джавы на С# это проще, чем изучать С# с нуля.  После 26 уровня начинается самое интересное. На реальных примерах показаны паттерны и как их применять в жизни. Сейчас на 30м уровне пишу сетевой чат, хотя еще летом даже не понимал, как это вообще делать :-)
    Пройдёшь весь курс — очень сильно повысишь скил программера.
  • Alchemist
    28 января 2016, 21:17
    How to teach yourself programming in 21 days?!

  • Oleg Only Algo
    28 января 2016, 22:06
    Учить тупо по учебнику язык программирования как то непонятно зачем так? Нужно ставить задачу и выполнять её, ишешЬ примеры и подгоняешь под свою задачу. В итоге выучишь и язык и задачу поставленную сделаешь. А так ну выучил, потом забыл и тд. Выучить си невозможно без практики, чтоб в мозг впечаталась еще. Зачем тратить время на какие то примеры из книг? Пиши робота сразу и учи язык
  • SMT
    29 января 2016, 00:13
    Самый  короткий путь стать алготрейдером с нуля, обходя мимо всю ненужную информацию, которая не пригодится для алготрейдинга.
    Читаешь
     book.mql4.com/ru  
    разбираешь примеры и статьи.
     переходишь на биржевой
     www.mql5.com/ru/docs 
    Он ни чем не отличается, только дополнен ООП и некоторые особенности. Куча статей и примеров с объяснениями
     www.mql5.com/ru/articles/mt5
      Когда на учишься тут свободно писать (а это просто).  Ты уже сможешь переложить логику робота на любой язык программирования быстро, не зная его, имея под рукой только документацию. Главное — не знание синтаксиса языка, а принцыпы программирования, которые везде одинаковы. 
      Имхо, пойдя этим путем ты в 10 раз быстрее станешь алготрейдером на том же С#, нежели начиная изучать   C# с нуля, где будешь влазить во всякую лишнюю навороченную шелуху, которая в алготрейдинге вряд ли пригодится. 
    ==========================
     В Комментах от SECRET читал что он начал тоже с MQL
    • Oleg Only Algo
      29 января 2016, 01:46
      SuperMegaTrader, похоже Тимофей решил не роботов писать, а в профессиональные программеры метит:)
    • helk3rn
      29 января 2016, 01:46
      SuperMegaTrader, Все верно, только лучше начинать сразу с MQL5. 
      • SMT
        29 января 2016, 03:59
        Adept, да. Просто по MQL4 учебник есть простой и с примерами, в котором даже школьник разберется.
         book.mql4.com/ru/content
  • killer moose
    29 января 2016, 01:15
    скажите, можно ли на вебмастеринге заработать на своих же сайтах и сколько и каким образом
  • helk3rn
    29 января 2016, 01:47
     Спасибо за томатный таймер, взял на вооружение. А то прокрастинация одолела :)
      • Евгений Сергеевич
        13 января 2019, 12:21
        Тимофей Мартынов, все таки методика в первозданном как-то нипорусски, намного эфефктэффек 25 минут работы чередовать с 15 минутами прокрастинации. Ну как можно успеть отдохнуть за 5 минут?
  • KNK
    29 января 2016, 15:26
    Видимо путь у каждого свой и цели разные, я в начале ноября 2015 впервые услышал название C#, а позавчера запустил своего первого робота, переписаного с API Велса на API ТСлаб)) 

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн