Введение в язык программирования Java. Основные концепции программирования. Анатомия программы. Встроенные типы данных. Преобразование типов. Шаги в разработке программы. Условные выражения: оператор 'if'. Циклы: оператор 'while', цикл 'for'. Вложенный код. Отладка (дебаггинг) программ.
Массивы. Код для обработки массивов. Двумерные массивы. Стандартный ввод и вывод. Графика. Фракталы. Анимация.
Проект 🌎 - «Симуляция и визуализация солнечной системы: 8 планет, вращающихся вокруг солнца с разными скоростями, ускорениями и силами притяжения, действующими между ними».
Недельные каникулы, чтобы перевести дух
Функции и библиотеки. Пример использования: цифровое аудио. Применение: распределение Гаусса. Модульное программирование. Классические примеры. Рекурсивная графика. Оптимизация: предотвращение "экспоненциальной" работы. Динамическое программирование.
Проект 🔵 - «Фракталы, треугольник Серпинского, множество Мандельброта, плюс создание собственного фрактала / рекурсивной графики (будет конкурс на самый оригинальный фрактал)».
Объектно-ориентированное программирование. Цвет. Обработка изображения. Обработка строк. Создание новых типов данных. Примеры: электрический заряд, черепашья графика, комплексные числа.
Проект 🔢 - «Распознавание рукописных цифр с помощью элементарного машинного обучения».
Скорость алгоритмов. Эмпирический анализ. Математические модели. Асимптотическая сложность. Алгоритмы поиска: последовательный поиск, бинарный поиск. Алгоритмы сортировки: сортировка вставкой, сортировка слиянием, самая длинная повторяющаяся подстрока.
Проект 🔢😮 - «Введение в машинное обучение и нейронные сети. Классический метод обучения перцептрона. Собственная реализация перцептрона и мульти-перцептрона для распознавания рукописных цифр».
Классические структуры данных. API и клиенты. Стеки, очереди, связанные списки и их реализация.
Проект 🚶 - «Эвристики для решения задачи коммивояжера (классическая задача в комбинаторной оптимизации), где нужно найти самый выгодный маршрут для продавца, чтобы пройти все указанные города и вернуться в исходный город».
Основатель, nFactorial School. В прошлом: со-основатель и CTO, Hora.AI (Индия, инвестор - глава поиска в Google), со-основатель и CEO, Zero To One Labs (ведущая студия мобильной разработки, 30 разработчиков, 40+ продуктов в портфолио). Выпускник Принстонского Университета по специальности «Компьютерные науки». Финалист ACM ICPC World Finals (студенческого чемпионата мира по программированию) в 2009г (Стокгольм, Швеция) и 2011г (Орландо, Флорида). Арман преподавал семинары курса «Введение в компьютерные науки» в Принстонском университете в течение 4 семестров в 2010-2012 гг.
Координатор программы nFactorial Start. Выпускница международной программы Future Leaders Exchange (FLEX 2004). В прошлом: старший менеджер по работе с выпускниками Nazarbayev University (2014-2021); начальник отдела маркетинга Корпорации Казахмыс (2012-2013). Образование: KIMEP (2008), Aston University (2010), Великобритания.
Ментор, nFactorial School. ТОП 10% студент Nazarbayev University по специальности «Компьютерные науки». Младший научный сотрудник Nazarbayev University по темам машинного обучения и машинного зрения.
Ментор, nFactorial School. Старший преподаватель по специальности «Computer Science», Suleyman Demirel University. PhD на тему «Grammar Error Correction», Satbayev University. Обучался в университете Turgut Ozal, Стамбул, Турция. В прошлом: Координатор учебных программ и Директор департамента автоматизации, Suleyman Demirel University. Автор курса «Web-програмирование» в проекте «Открытый университет Казахстана» и летнего семинара «Разработка на Ionic» для Method School.
Данный курс разработан для новичков. Вам не нужны какие-либо предварительные знания или опыт в программировании.
15-20 часов в неделю. За одну неделю: 3 предзаписанные видео-лекции с поддержкой менторов в реальном времени, 2 живых семинара в режиме реального времени, выполнение еженедельного проекта.
Абсолютно! Это единственный способ обучения в нашей программе. Наша программа была разработана для участников, которые работают или учатся полный рабочий день. Вам будет представлен доступ на видео-лекции, которые вы сможете смотреть в любое удобное для вас время! Интерактивные воркшопы будут проводиться в вечернее время.
Да. Это может быть ПК или Mac. Требования к компьютеру - минимальные. Главное - это версия операционной системы. Если у Вас ПК, то необходима 64-битная версия Windows 8 или 10. Если у Вас Mac, то - версии от Mac OS X 10.13 (High Sierra) до Mac OS X 10.15 (Catalina). Если у Вас Linux, то нужна 64-битная версия Linux.
Основываясь на предыдущем опыте Армана по ведению данного курса, многие студенты с опытом программирования находят этот курс нестандартным, увлекательным и чрезвычайно полезным для создания прочной базы в компьютерных науках. В этом курсе мы рассмотрим алгоритмическую сложность, алгоритмы сортировки и поиска, классические структуры данных.
В течение 8 недель студентов будут сопровождать 1-2 ментора и 1 координатор программы.
Строгих ограничений нет, но мы предпочитаем студентов старше 15 лет. Мы готовы делать исключения. В первом потоке nFactorial Start самому младшему участнику было 12 лет, а самому старшему - 44.
К концу программы у вас будут фундаментальные знания в области компьютерных наук, объектно-ориентированного программирования и Java. Вне зависимости от ваших целей, программа nFactorial Start позволит правильно подготовиться к следующим специализациям: алгоритмы, веб-разработка, мобильная разработка, разработка игр, анализ данных, машинное обучение и т.д.. Из нашего опыта: прыгать в одну из этих специализаций с нуля без сильной базы в программировании очень неэффективно, сильно замедляет процесс обучения и имеет низкий процент успеха.
Как опытные менторы и разработчики, мы знаем большинство современных языков, таких как Python, Ruby, JavaScript или Go. Мы выбрали Java, потому что он не такой низкоуровневый, как C (с ненужной сложностью для новичков), но также и не слишком высокоуровневый, как Python (который скрывает много чего 'за кулисами'). Java широко используется, доступна, охватывает полный набор современных абстракций, непрерывно развивается с начала 90-х годов и имеет множество автоматических проверок на наличие ошибок в коде. Это также отличный язык для обучения объектно-ориентированному программированию, который будет полезен в мобильной и полнофункциональной веб-разработке. Как заметил создатель C++ Бьярне Страуструп: «Есть только два типа языков программирования: те, на которые все жалуются, и те, которыми никто не пользуется».
Многие работающие (или безработные) программисты кодируют постоянным методом проб и ошибок, а также копированием и вставкой фрагментов из StackOverflow, не понимая, почему и как это работает. Хорошие программисты сначала планируют «на бумаге», а затем с первой попытки пишут правильное решение. Мы поможем вам получить фундаментальные знания в компьютерных науках.
Присоединяйтесь к сообществу талантливых менторов, успешных разработчков и выпускников nFactorial School прошлых лет. Компании, где работают выпускники nFactorial: Google, Facebook, Amazon, Apple, HBO, Robinhood, Yandex, и другие.
Если вас не приняли во флагманскую программу nFactorial, где мы учим создавать iOS и веб-приложения, текущая программа - единственная подготовка, которая вам необходима!
Даже если вы не планируете быть разработчиком, программирование поможет вам взглянуть на мир совершенно новыми глазами - как инженер, как человек, который может разбить сложную проблему на более простые подзадачи. Программирование поможет вам развить умение решать проблемы, логику, когнитивные и творческие способности.
«Программное обеспечение съедает мир». Программное обеспечение трансформирует все отрасли, даже если они не носят технический характер: от шопинга до сельского хозяйства. Начните свою карьеру в IT с правильного фундамента.