Как мат-подготовку в ВУЗе правильно объединить с программированием?
Опишу кратко свою ситуацию. За плечами ВО есть, но гуманитарное.
Интерес к программированию когда-то был.
Принято решение получать еще одно ВО в области computer science.
0. чтоб потом не откидывали резюме еще до собеседования из-за непрофильного ВО.
1. сам документ вполне может пригодиться, если придется бежать из этой страны (выборы 2015 не за горами)
2. почерпнуть что-то из мат. подготовки.
3. по поводу программирования больших ожиданий нет (паскаль и бейсик вместо с++/java), штудирую сам, что могу.
Остановлюсь на
Меня интересует программирование под iOS. Что именно (и как?) почерпнуть из вышки/дискретки для того же гейм-дева?
Оговорюсь, не задаю вопрос «Как написать свою „ГТА 3ДЭ“ за 5 дней?» или холивар «а нужна ли математика»?
Просто если будет возможность разобраться в математических вопросах, то на что именно сделать упор, а «не наука ради науки»?
Математика не ставится как самоцель.
0. Какие базовые алгоритмы необходимо знать для работы с данными — кроме сортировок?
1. Что из вышки почерпнуть для анимации? Или в это не стоит углубляться — вроде реализации физики жидкости, диффуров, и т.д. Не ради развития,а ради применения? Или большинство задач уже готовы в том же Unity?
2. Где доступнее всего описаны те же графы? (например, интересуют с точки зрения искусственного интеллекта — не для создания «Терминатор-5»), а хотя бы для понимания базовых алгоритмов ИИ).
3. Краткий список мат.аспектов, которые необходимо знать для устройства на работу программистом?
4. Выходит за рамки темы вопроса, и задавать мне его рано, но насколько геймдев в Украине (для мобильных платформ) развит, и какой туда порог вхождения с точки зрения знаний? Почему многие плохо отзываются о работе в геймдеве? кроме овертаймов?
Буду благодарен за ответы.
11 коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарівВот возьмем в качестве примера совет предыдущего коментора: Имея базовые познания математики на уровне арифметики 5 класса можно сделать много чего.
Например, написать тетрис. Посчитать количество тетрисов в аппсторе оставим в качестве упражнения. :D
Помните геометрию и тригонометрию
И т.д.
Думаю даже вы не можете предугадать чем вы будете или хотели бы заниматься(я имею ввиду конкретику, а не абстрактно «программировать под йаОС») в будущем. Поэтому трудно дать конкретные рекомендации.
Во-вторых в математике нету важных и не важных областей, так как все они очень тесно и нетривиально связаны друг с другом.
Поэтому я могу дать только такую рекомендацию теорминимума:
1. Рональд Л. Грэхем, Дональд Э. Кнут, Орен Паташник Конкретная математика. Математические основы информатики
2. Я. Б. Зельдович, И. М. Яглом, Высшая математика для начинающих физиков и техников.
3. Любой стандартный учебник университетского курса матлогики.
Этого хватит, что бы не сделать очевидных лаж связанных с отсутствием физмат граммотности типа линейных аппроксимаций при нетривиальной работе с гироскопом/акселерометром смартфона; будете знать что такое О(n), почему невозможно построить идеальный статический валидатор/анализатор кода для С++ и так далее.
Короткий ответ: все.Чуть длиннее: все, что делает информатика — это изучает алгоритмы преобразования данных. Все, чем занимаются программисты — преобразовывают данные.
Задайте себе этот вопрос позже — у вас тут полная каша в голове. Если вас интерисует ИИ, то вам не графы нужны, а логика и матстатистика. Достаточный, что бы соответствовать вакансии :) См. выше.Прочтите учебник Кормена или возьмите трехтомник Кнута «Искусство программирования», осильте первый том, и пролистайте второй-третий, что бы иметь представление что можно сделать в самых общих случаях. МООС на коурсере есть, есть лекции курса по алгоритмам в MIT OCW. Информации полно, читайте.
В любом случае никто никого не заставляет читать все подряд от корки до корки. У вас графовый фетиш. С таким же успехом можно сказать, что раз реализации графов строятся на списках, то серебряная пуля ИИ — алгоритмы над списками. Представьте, пожалуйста в виде графа гамма-функцию.
Зараз такі дикі часи що вже мало хто з програмістів знає, що будь яку(!!!) програму можна написати за допомогою if() goto. Тому так — списки це деякоюсь мірою срібна куля — брайнфак(спун) та й абстрактна «машина Тюрінга» те й тільки робить що туди-сюди обходить список. Тому і так і ні, ні тому як від структур данних ми прагнемо також відповідності нашому мисленню. Програми на брайнфаці писати можна та чи варто ? )))
offtop off offtop on
Ось саме через такі «викрики з зали» ШІ досі в дитячому віці а той в зародку ))). Гамма-функція математична це функція з точками розриву
Щож до систем ШІ що аналізують функції матаналізу то й там буде граф. Тільки не в поточечному виведенні функії на екран, а в вигляді «графа властивостей» — деякої скінченної множини «бірок» які відрізняють одну функцію від іншої в контексті «інструентарію матаналізу» — не повірите саме так працює наше мислення і через те ми можемо класифікувати та працювати з функціями з розривами, а зовсім не через те що наше внутрішнє око здатне заповзти в нескінченність «точка за точкою»... Та це дуже довга розмова варта іншого випадку, топік-стартер хотів взнати зовсім інше...
offtop off
Дякую за відповіді.
«Дискретний аналіз» зацікавив, коли продивився зміст.
Безперечно, Кнут — видатний автор. Але його праці досить складні для початківця. Тому цікавить більш зрозуміла для початківців література.
Про графи згадав, бо побачив, що в Unity використовується алгоритм A* search для здійснення pathfinding.
Хотілося б не тільки робити copy-paste, а хоча б зрозуміти, як він працює. Без графів це буде неможливо. Щодо використання графів для інших завдань ШІ в іграх ( той же вибір зброї противником) не знаю.
Не ставлю абсурдні завдання типу «Fallout — own version — made in 3 days,has been compiled after 3 months».
То того ж цікавлять мобільні платформи,а не PC/XBOX.
0. Всем пофиг на диплом
Вас интересует гейм-дев, iOS или математика? Если гейм-дев, то там очень специфическая математика, ну и железо знать надо. Если iOS то математика не нужна совсем, нужно знать API операционной системы.1. Тут хз
2. Так вам шашечки или ехать?
3. Джава и С++ в универе учат, в некоторых местах даже вполне неплохо.
0. Теоретически, то все. Практически, всегда есть волшебная функция, которая делает все что надо. Я еще ни разу на форумах не видел тему типа «пацаны, помогите!!!! реализовал за O(N), а надо за O(lg(N))». Конечно, понимание как работают волшебные функции необходимо, но тут он-лайн курсы будут полезны, да и качество изложения материала там будет сильно выше чем в среднем ВУЗе.
1. ИМХО, все уже написано до нас.
2. Графы как структура данных описана в книжках по структурам данных. Мне Седжвик нравится (хоть там и куча примеров на богомерзкой джаве).
3. Первый и последний раз мат задачу на собеседовании мне задавали в Самсунге. Я ее успешно провалил, т.к. к кому времени забыл школьный курс математики. В итоге в Самсунг меня не взяли, чему с бесконечно рад.
4. Развит. Но геймдев он очень специфичен. Я бы на специальные форум пошел, вроде gamedev.ru или типа такого. Могу предположить что проблема будет не в математике, а в том, как эту математику переложить в железо.
0.согласен. Подумывал о ШАГе. (но тут курсы, а не ВО)
Но курсы того же ШАГа под iOS меня не очень радуют стоимостью и какой-то странной учебной программой:много всего,но 45 уроков. Если там краткий обзор по SQLite, Cocos2d, но ничего конкретного — то лучше скачать книги и прочитать, надеюсь"my English skills will be sufficient"
1. вот тут он может пригодиться, но это так..более чем отдаленное будущее.
Может, после иммиграционной реформы в тех же США это будет вообще невозможно. +11 млн новых граждан-мексиканцев — немало.
2. -
3. Мне С-шные языки больше по душе. Паскаль и бейсик уже не так нужны для освоения цикла, списка (вот список я лучше понял как раз на С++ (через классы), чем на паскале), массива, сортировки с выбором или пузырьком.
Интересует геймдев под мобильные устройства. Хотелось бы задать вопрос:
В чем именно специфика геймдейва в Украине? Если все реально плохо, то буду смотреть в другие области.
Спасибо, буду надеяться и развиваться в этом направлении) Правда, по тому же Unity junior-ских вакансий не видел, что в совокупности с отрицательными отзывами (правда, больше россиян) на разных форумах о геймдеве в целом, не очень порадовало.