Я пишу, чтобы попросить некоторые рекомендации по выбору языка и курса действий в обучении программированию.Я извиняюсь, если этот тип вопроса не подходит для перекрестной проверки, пожалуйста, посоветуйте мне другой форум, если это так.
Я видел ветку за веткой с вопросами от новичков, спрашивая: «Что лучше?язык для начала?а потом всегда начинается ожесточенная война, или кто-то просто отвечает: «Нет лучшего языка, лучше выбрать один и начать его изучать».Мой вопрос немного более сфокусирован, чем этот.
Прежде всего, я программировал всю свою жизнь, в очень ограниченных возможностях.Мое самое глубокое обучение было на C ++.Хотя в моей программе получения степени EECS я решил никогда не быть разработчиком программного обеспечения, потому что я не мог не общаться с людьми в течение столь длительного периода времени.Вместо этого я понял, что хочу стать учителем математики, и именно по этому пути я пошел.
Но теперь, когда я на этом пути, я начал понимать, что, возможно, я смогу разработать собственное программное обеспечение, которое поможет мне в классе.Если я хочу продемонстрировать евклидов алгоритм, что может быть лучше, чем иметь программное обеспечение, которое нарушает процесс?Студенты могут использовать это программное обеспечение как часть своего обучения, а продвинутые студенты могут даже разработать программы для себя.Или с Ipad в руках, почему бы не иметь приложение, которое позволяет студентам самостоятельно посещать занятия?Это, безусловно, упростит некоторые потребности управления классом.
Очевидно, что уже есть много замечательных вещей для математики и образования, но я хочу найти способ более непосредственно создавать вещи, специфичные для моих лекций.Если я учу конкретному способу расчета процента, я хочу создать приложение, которое соответствует моему стилю преподавания, а не просто другое приложение калькулятора, которое требует, чтобы ученик учился дважды.
Самое большее, что я использую вкласс сейчас iWork Numbers / Microsoft Excel для моего класса статистики.Студенты могут изучить основные статистические функции и преобразовать некоторые из своих данных в графики.
Я немного побаловался с R и использовал Maple в колледже.Я начал базовые учебные пособия по разработке для OS X / iOS и действительно добился значительных успехов в создании приложения для OS X, которое принимает текстовую строку, преобразует ее в числа и выполняет шифрование с использованием модульного сложения и умножения.Иногда я использую Wolfram | Alpha, чтобы сэкономить время на быстрое решение уравнений или базовых преобразований.Я знаю о MatLab, Mathematica, и недавно люди говорили мне проверять Python или Ruby.Я также знаю базовый HTML, и хотя он сейчас забыт, я изучал Javascript и PERL в колледже.
Если я продолжу путь Obj-C / Cocoa, я думаю, что он будет иметь большие преимущества.К сожалению, все, что я создал для Mac, можно будет использовать только на Mac, поэтому оно не будет универсальным для всех моих учеников.Возможно, тогда изучение веб-языка будет лучше.Во-вторых, мне интересно, является ли основное использование математическим, тогда, возможно, мое время было бы лучше потратить на изучение языка программирования Mathematica, или R, или чего-то меньшего, основанного на GUI и больше на простом кодировании алгоритмов, возможно, Python или Ruby?*
Похоже, у Mathematica уже есть много демонстраций для различных математических концепций, поэтому вопрос о том, как заново изобретать колесо, у меня тоже есть.Я думаю, в целом, было бы хорошо иметь больше контроля и дизайна вещей, как мне нужно.И потом, если я захочу создать приложение «Посещаемость» или что-то еще, у меня уже будет опыт программирования, чтобы легче было проектировать что-то для моего iPad или MacBook.
С этим связан вопрос: какой хороший язык преподавать моим ученикам? В своем выступлении на TED Конрад Вольфрам говорит, что один из лучших способов проверить понимание студентов - это написать им программу. Но если Mathematica выполняет для них математику практически автоматически, то я не уверен, что получит более глубокий опыт разработки логики для себя, как вы делаете, когда пишете на C, или на традиционном процедурном языке.
Я знаю, что программированию нужно время, чтобы учиться, но я также знаю, что на данный момент моя цель не состоит в том, чтобы создать приложение типа «Tiny Wings». С легкостью магазина приложений, некоторые из моих работ могут быть дополнительным источником дохода, но я считаю себя скорее любителем, а теперь учителем, который смотрит на разработку программного обеспечения специально для его способности помочь мне продемонстрировать математические концепции.
Я думаю, что я буду продвигать Obj-C / Cocoa для OSX / iOS, но если у кого-то есть лучшее руководство по всем остальным доступным материалам, это будет высоко ценится. Я не думаю, что хотел бы полностью перейти в Интернет (мне нравятся приложения), но, возможно, кто-то может предложить хороший способ соединения того, что я создаю в XCode, с универсальной веб-версией. Например, если вы нашли алгоритм в obj-c, проще ли перевести его на ruby и запустить его в сети, или есть другой подход, который работает лучше?