Многие работающие (или безработные) программисты кодируют постоянным методом проб и ошибок, а также копированием и вставкой фрагментов из StackOverflow, не понимая, почему и как это работает. Хорошие программисты сначала планируют «на бумаге», а затем с первой попытки пишут правильное решение. Мы поможем вам получить фундаментальные знания в компьютерных науках.
Присоединяйтесь к сообществу талантливых менторов, успешных разработчков и выпускников nFactorial School прошлых лет. Компании, где работают выпускники nFactorial: Google, Facebook, Amazon, Apple, HBO, Robinhood, Yandex, и другие.
Если вы еще не готовы начать курсы от nFactorial, где мы готовим из вас data science специалистов или учим создавать iOS или веб-приложения, текущая программа - единственная подготовка, которая вам необходима!
Даже если вы не планируете быть разработчиком, программирование поможет вам взглянуть на мир совершенно новыми глазами - как инженер, как человек, который может разбить сложную проблему на более простые подзадачи. Программирование поможет вам развить умение решать проблемы, логику, когнитивные и творческие способности.
«Программное обеспечение съедает мир». Программное обеспечение трансформирует все отрасли, даже если они не носят технический характер: от шопинга до сельского хозяйства. Начните свою карьеру в IT с правильного фундамента.
Введение в язык программирования Java. Основные концепции программирования. Анатомия программы. Встроенные типы данных. Преобразование типов. Шаги в разработке программы. Условные выражения: оператор 'if'. Циклы: оператор 'while', цикл 'for'. Вложенный код. Отладка (дебаггинг) программ.
Код для обработки массивов. Двумерные массивы. Стандартный ввод и вывод. Графика. Фракталы. Анимация.
Проект - «Симуляция и визуализация солнечной системы: 8 планет, вращающихся вокруг солнца с разными скоростями, ускорениями и силами притяжения, действующими между ними».
Недельные каникулы, чтобы перевести дух
Пример использования: цифровое аудио. Применение: распределение Гаусса. Модульное программирование. Классические примеры. Рекурсивная графика. Оптимизация: предотвращение "экспоненциальной" работы. Динамическое программирование.
Проект - «Фракталы, треугольник Серпинского, множество Мандельброта, плюс создание собственного фрактала / рекурсивной графики (будет конкурс на самый оригинальный фрактал)».
Цвет. Обработка изображения. Обработка строк. Создание новых типов данных. Примеры: электрический заряд, черепашья графика, комплексные числа.
Проект - «Распознавание рукописных цифр с помощью элементарного машинного обучения».
Математические модели. Асимптотическая сложность. Алгоритмы поиска: последовательный поиск, бинарный поиск. Алгоритмы сортировки: сортировка вставкой, сортировка слиянием, самая длинная повторяющаяся подстрока.
Проект - «Введение в машинное обучение и нейронные сети. Классический метод обучения перцептрона. Собственная реализация перцептрона и мульти-перцептрона для распознавания рукописных цифр».
Стеки, очереди, связанные списки и их реализация.
Проект - «Эвристики для решения задачи коммивояжера (классическая задача в комбинаторной оптимизации), где нужно найти самый выгодный маршрут для продавца, чтобы пройти все указанные города и вернуться в исходный город».
Как опытные менторы и разработчики, мы знаем большинство современных языков, таких как Python, Ruby, JavaScript или Go. Мы выбрали Java, потому что он не такой низкоуровневый, как C (с ненужной сложностью для новичков), но также и не слишком высокоуровневый, как Python (который скрывает много чего 'за кулисами'). Java широко используется, доступна, охватывает полный набор современных абстракций, непрерывно развивается с начала 90-х годов и имеет множество автоматических проверок на наличие ошибок в коде. Это также отличный язык для обучения объектно-ориентированному программированию, который будет полезен в мобильной и полнофункциональной веб-разработке. Как заметил создатель C++ Бьярне Страуструп: «Есть только два типа языков программирования: те, на которые все жалуются, и те, которыми никто не пользуется».
Вы можете оформить рассрочку 0-0-12 у наших банков-партнеров. Оставьте заявку на сайте, наши консультанты свяжутся с вами и помогут с оформлением.
Данный курс разработан для новичков. Вам не нужны какие-либо предварительные знания или опыт в программировании.
Основываясь на предыдущем опыте Армана по ведению данного курса, многие студенты с опытом программирования находят этот курс нестандартным, увлекательным и чрезвычайно полезным для создания прочной базы в компьютерных науках. В этом курсе мы рассмотрим алгоритмическую сложность, алгоритмы сортировки и поиска, классические структуры данных.
15-20 часов в неделю. За одну неделю: 3 предзаписанные видео-лекции с поддержкой менторов в реальном времени,
2 живых семинара в режиме реального времени, выполнение еженедельного проекта.
Онлайн-занятия проходят каждый день с понедельника по пятницу с 19:00 до 20:30 по времени Алматы/Астаны. Каждое воскресенье проходят офисные часы с менторами в течение 3 часов.