Введение в язык программирования Java. Основные концепции программирования. Анатомия программы. Встроенные типы данных. Преобразование типов. Шаги в разработке программы. Условные выражения: оператор 'if'. Циклы: оператор 'while', цикл 'for'. Вложенный код. Отладка (дебаггинг) программ.
Массивы. Код для обработки массивов. Двумерные массивы. Стандартный ввод и вывод. Графика. Фракталы. Анимация.
Проект 🌎 - "Симуляция и визуализация солнечной системы: 8 планет, вращающихся вокруг солнца с разными скоростями, ускорениями и силами притяжения, действующими между ними".
Функции и библиотеки. Пример использования: цифровое аудио. Применение: распределение Гаусса. Модульное программирование. Классические примеры. Рекурсивная графика. Оптимизация: предотвращение "экспоненциальной" работы. Динамическое программирование.
Проект 🔵 - "Фракталы, треугольник Серпинского, множество Мандельброта, плюс создание собственного фрактала / рекурсивной графики (будет конкурс на самый оригинальный фрактал)".
Объектно-ориентированное программирование. Цвет. Обработка изображения. Обработка строк. Создание новых типов данных. Примеры: электрический заряд, черепашья графика, комплексные числа.
Проект 🔢 - "Распознавание рукописных цифр с помощью элементарного машинного обучения".
Скорость алгоритмов. Эмпирический анализ. Математические модели. Асимптотическая сложность. Алгоритмы поиска: последовательный поиск, бинарный поиск. Алгоритмы сортировки: сортировка вставкой, сортировка слиянием, самая длинная повторяющаяся подстрока.
Проект 🔢😮 - "Введение в машинное обучение и нейронные сети. Классический метод обучения перцептрона. Собственная реализация перцептрона и мульти-перцептрона для распознавания рукописных цифр".
Классические структуры данных. API и клиенты. Стеки, очереди, связанные списки и их реализация.
Проект 🎸 - "Создание собственной гитары, на которой можно играть с компьютерной клавиатуры, с помощью алгоритма Карплуса-Стронга".
Основатель nFactorial School. Со-основатель Hora.AI / Zero To One Labs / nFactorial Incubator. Выпускник Purdue University (2010), Princeton University (2012) по специальности «Компьютерные науки». Финалист ACM ICPC (студенческого чемпионата мира по программированию) 2009 и 2011 гг. Арман вел семинары «Введение в компьютерные науки» в Принстонском университете в течение 4 семестров в 2010-2012 гг.
LinkedIn
Программный менеджер, nFactorial School. Член независимой экспертной комиссии по отбору претендентов для присуждения международной стипендии «Болашак» по естественным наукам. В прошлом: старший консультант, EY (Ernst & Young); старший специалист АО НК «КазМунайГаз». Образование: Queen Mary University of London (2014), Imperial College London (2017).
LinkedIn
Мы изучаем заявки на постоянной основе. Решение будет принято в течение недели после подачи заявки. Чем раньше вы подадите заявку, тем раньше будет принято решение.
К сожалению, мы не предлагаем грантов. Если вы не можете позволить участие в программе, попробуйте собрать средства с помощью https://www.gofundme.com/start/education-fundraising
Нет, программа полностью проводится дистанционно.
Абсолютно! Это единственный способ обучения в нашей программе.
Данный курс разработан для новичков. Вам не нужны какие-либо предварительные знания или опыт в программировании.
Да. Это может быть ПК или Mac.
15 - 20 часов в неделю. В неделю будут 5 интерактивных лекций с менторами по 1.5 часа. Кроме того, вы должны уделять не менее 8 часов в неделю на выполнение домашних заданий.
Да! Наша программа была разработана для участников, которые работают или учатся полный рабочий день. Вам будет представлен доступ на видео-лекции, которые вы сможете смотреть в любое удобное для вас время! Интерактивные воркшопы будут проводиться в утреннее или вечернее время.
Основываясь на предыдущем опыте Армана по ведению данного курса, многие студенты с опытом программирования находят этот курс нестандартным, увлекательным и чрезвычайно полезным для создания прочной базы в компьютерных науках. В этом курсе мы рассмотрим алгоритмическую сложность, алгоритмы сортировки и поиска, классические структуры данных, теорию вычислений, машины Тьюринга, P vs NP и многое другое.
В течение 8 недель студентов будут сопровождать 2 ментора и 1 координатор программы.
Строгих ограничений нет, но мы предпочитаем студентов старше 15 лет. Мы готовы делать исключения. В первом потоке nFactorial Start самому младшему участнику было 12 лет, а самому старшему - 44!
Это наши выпускники nFactorial Incubator 2015 г. Фотография сделана в Алматы, недалеко от кампуса КБТУ, где проходили наши оффлайн-лекции.
К концу программы у вас будут фундаментальные знания в области компьютерных наук, объектно-ориентированного программирования и Java. После данной программы вы будете готовы подать заявку на участие в таких программах nFactorial School как «Введение в iOS или веб-разработку», «Введение в deep learning», «Подготовка к техническому интервью: алгоритмы и структуры данных» и многие др.
Выборочные проекты по программированию, которые Вы сделаете с нашей помощью в рамках nFactorial Start:
- Симуляция и визуализация солнечной системы: 8 планет, вращающихся вокруг солнца с разными скоростями, ускорениями и силами притяжения, действующими между ними
- Фракталы, треугольник Серпинского, множество Мандельброта, плюс создание собственного фрактала / рекурсивной графики (будет конкурс на самый оригинальный фрактал)
- Распознавание рукописных цифр с помощью элементарного машинного обучения
- Введение в машинное обучение и нейронные сети. Классический метод обучения перцептрона. Собственная реализация перцептрона и мульти-перцептрона для распознавания рукописных цифр
- Создание собственной гитары, на которой можно играть с компьютерной клавиатуры, с помощью алгоритма Карплуса-Стронга.
Отличный вопрос. В зависимости от выбранного Вами тарифа (см. информацию разделе «Тарифы»), Вы получите фундаментальные знания в программировании с помощью: 1) 40 видео-лекций; 2) 40 интерактивных лекций с менторами в режиме реального времени;
3) регулярных инспекций кода опытными менторами; 4) офисных часов с менторами программы; 5) домашних заданий и других материалов обучения; 6) доступа к онлайн-обсуждениям на форуме с сокурсниками и менторами; 7) инспекции кода сокурсниками; 8) проверенных программных проектов. В конечном итоге участник платит за то, что наша программа позволяет студенту с нулевым опытом в программировании стать студентом с очень прочной базой знаний в компьютерных науках.
Как опытные менторы и разработчики, мы знаем большинство современных языков, таких как Python, Ruby, JavaScript или Go. Мы выбрали Java, потому что он не такой низкоуровневый, как C (с ненужной сложностью для новичков), но также и не слишком высокоуровневый, как Python (который скрывает много чего 'за кулисами'). Java широко используется, доступна, охватывает полный набор современных абстракций, непрерывно развивается с начала 90-х годов и имеет множество автоматических проверок на наличие ошибок в коде. Это также отличный язык для обучения объектно-ориентированному программированию, который будет полезен в мобильной и полнофункциональной веб-разработке. Как заметил создатель C++ Бьярне Страуструп: «Есть только два типа языков программирования: те, на которые все жалуются, и те, которыми никто не пользуется».
Мы опираемся на многие инструменты. Вот некоторые из них. Discord - для анонсов, спонтанных голосых и видео-дискуссий между учащимися. Notion - для базы знаний курса: расписание, прошлые лекции, слайды, домашняя работа и т.д. Piazza - для обсуждения непонятных тем и заданий. codePost - для оценки домашних работ и обратной связи. Kahoot - для видео-викторин.
Требования к компьютеру на самом деле - минимальные. Главное - это версия операционной системы. Если у Вас ПК, то необходима 64-битная версия Windows 8 или 10. Если у Вас Mac, то - версии от Mac OS X 10.13 (High Sierra) до Mac OS X 10.15 (Catalina). Если у Вас Linux, то нужна 64-битная версия Linux.
Многие работающие (или безработные) программисты кодируют постоянным методом проб и ошибок, а также копированием и вставкой фрагментов из StackOverflow, не понимая, почему и как это работает. Хорошие программисты сначала планируют «на бумаге», а затем с первой попытки пишут правильное решение. Мы поможем вам получить фундаментальные знания в компьютерных науках.
Присоединяйтесь к сообществу талантливых менторов, успешных разработчков и выпускников nFactorial School прошлых лет. Компании, где работают выпускники nFactorial: Google, Facebook, Amazon, Apple, HBO, Robinhood, Yandex, и другие.
Если вас не приняли во флагманскую программу nFactorial, где мы учим создавать iOS и веб-приложения, текущая программа - единственная подготовка, которая вам необходима!
Даже если вы не планируете быть разработчиком, программирование поможет вам взглянуть на мир совершенно новыми глазами - как инженер, как человек, который может разбить сложную проблему на более простые подзадачи. Программирование поможет вам развить умение решать проблемы, логику, когнитивные и творческие способности.
«Программное обеспечение съедает мир». Программное обеспечение трансформирует все отрасли, даже если они не носят технический характер: от шопинга до сельского хозяйства. Начните свою карьеру в IT с правильного фундамента.