Введение в язык программирования Java. Основные концепции программирования. Анатомия программы. Встроенные типы данных. Преобразование типов. Шаги в разработке программы. Условные выражения: оператор 'if'. Циклы: оператор 'while', цикл 'for'. Вложенный код. Отладка (дебаггинг) программ.
Массивы. Код для обработки массивов. Двумерные массивы. Стандартный ввод и вывод. Графика. Фракталы. Анимация.
Проект 🌎 - «Симуляция и визуализация солнечной системы: 8 планет, вращающихся вокруг солнца с разными скоростями, ускорениями и силами притяжения, действующими между ними».
Решение leetcode задач вместе с менторами, чтобы перевести дух
Функции и библиотеки. Пример использования: цифровое аудио. Применение: распределение Гаусса. Модульное программирование. Классические примеры. Рекурсивная графика. Оптимизация: предотвращение "экспоненциальной" работы. Динамическое программирование.
Проект 🔵 - «Фракталы, треугольник Серпинского, множество Мандельброта, плюс создание собственного фрактала / рекурсивной графики (будет конкурс на самый оригинальный фрактал)».
Объектно-ориентированное программирование. Цвет. Обработка изображения. Обработка строк. Создание новых типов данных. Примеры: электрический заряд, черепашья графика, комплексные числа.
Проект 🔢 - «Распознавание рукописных цифр с помощью элементарного машинного обучения».
Скорость алгоритмов. Эмпирический анализ. Математические модели. Асимптотическая сложность. Алгоритмы поиска: последовательный поиск, бинарный поиск. Алгоритмы сортировки: сортировка вставкой, сортировка слиянием, самая длинная повторяющаяся подстрока.
Проект 🔢😮 - «Введение в машинное обучение и нейронные сети. Классический метод обучения перцептрона. Собственная реализация перцептрона и мульти-перцептрона для распознавания рукописных цифр».
Классические структуры данных. API и клиенты. Стеки, очереди, связанные списки и их реализация.
Проект 🚶 - «Эвристики для решения задачи коммивояжера (классическая задача в комбинаторной оптимизации), где нужно найти самый выгодный маршрут для продавца, чтобы пройти все указанные города и вернуться в исходный город».
Основы веб-программирования: языки, инструменты, примеры. Git (интегральный инструмент для работы с кодом), HTML (язык разметки гипертекста), CSS (каскадные таблицы стилей), JS (мультипарадигменный язык программирования), VanillaJS (кросс-платформенный фреймворк для создания приложений JavaScript).
Обзор веб-разработки: как работает Интернет, браузеры, элементы, компоненты, веб-дизайн. Структура HTML-документа: doctype, html, head, body. Семантический html: HTML-формы, события HTM. CSS: layout и селекторы, примеры, инструменты. Введение в JavaScript: предмстория, спецификации, основа кода, главные переменные и инструменты. Основные функции: destructuring, arrow; rest, spread operators.
Импортирование и экспортирование элементов. Введение в DOM, Events, Vanilla.js. Браузерное окружение и DOM. Как связать Javascript с HTML и CSS. Что такое окружение JavaScript. Разбор “ Объектной модели документа(DOM)”. Введение в JQuery. Основы JQuery и Bootstrap. Знакомство с Bootstrap, интеграция Bootstrap с другими инструментами с помощью JQuery.
Введение в NPM, Storage. Хранение данных в браузере. Примеры использования javascript в консоли браузера (browser console). Методы использования консоля, рассмотрение кейсов разного применения: console.log, console.error, console.warn
Импортирование и экспортирование элементов. Введение в DOM, Events, Vanilla.js. Браузерное окружение и DOM. Как связать Javascript с HTML и CSS. Что такое окружение JavaScript. Разбор “ Объектной модели документа(DOM)”. Введение в JQuery. Основы JQuery и Bootstrap. Знакомство с Bootstrap, интеграция Bootstrap с другими инструментами с помощью JQuery.
Введение в NPM, Storage. Хранение данных в браузере. Примеры использования javascript в консоли браузера (browser console). Методы использования консоля, рассмотрение кейсов разного применения: console.log, console.error, console.warn.
Изучение декларативной JavaScript-библиотеки React, ее свойств и применения для создания пользовательских интерфейсов. Основы React - JavaScript-библиотека для создания пользовательских интерфейсов. Разбор компонентов React, приложения и компонентов с использованием внешних плагинов. Введение в JSX, Styling. Знакомство с траспилятором Babel, виртуальным домом. Разбор компонентов и функций Map в React. Применение inline стилей и CSS в React. Разбор способов state, useState. Знакомство с элементами UI, создание стейта на обработку input и вывод в консоль. Библиотека UI Library.
Установка библиотеки UI и ее практическое применение. Практическое применение инструментов Material UI, Material Kit UI 2, FontAwesome. Введение в Backend-разработку. Создание алгоритмов, расчетов и интеграций IT систем внутри веб-сайта. Ознакомление с Express - программной платформой/фреймворком веб-приложений для Node.js. Изучение процедур и способов API (Application Programming Interface — «программный интерфейс приложения») для взаимодействия компьютерных программ. Ознакомление с базами данных Database, их взаимодействие и правила применения средств моделирования данных. Введение в web APIs.
Практическая работа с фреймворком, применение полученных знаний фундаментальных принципов программирования. Создание функциональных веб-сайтов. Работа над собственными проектами участников. Тестирование знаний и навыков проектирования. Создание собственного веб-приложения. Обучение работы с клиент-серверной архитектурой и API.
Основатель, nFactorial School. В прошлом: со-основатель и CTO, Hora.AI (Индия, инвестор - глава поиска в Google), со-основатель и CEO, Zero To One Labs (ведущая студия мобильной разработки, 30 разработчиков, 40+ продуктов в портфолио). Выпускник Принстонского Университета по специальности «Компьютерные науки». Финалист ACM ICPC World Finals (студенческого чемпионата мира по программированию) в 2009г (Стокгольм, Швеция) и 2011г (Орландо, Флорида). Арман преподавал семинары курса «Введение в компьютерные науки» в Принстонском университете в течение 4 семестров в 2010-2012 гг.
Ментор модуля nFactorial Web Intro & Web Advanced. Front-end разработчик в Petrel AI. В прошлом: веб-разработчик в hardware-стартапе Nommi (США), ментор Technovation girls. Образование: выпускница Suleyman Demirel University (2020).
Ментор, nFactorial School. Студент Nazarbayev University по специальности «Компьютерные Науки». Развивающийся Android-разработчик.
Ментор, 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.
Основываясь на предыдущем опыте Армана по ведению данного курса, многие студенты с опытом программирования находят этот курс нестандартным, увлекательным и чрезвычайно полезным для создания прочной базы в компьютерных науках. В этом курсе мы рассмотрим алгоритмическую сложность, алгоритмы сортировки и поиска, классические структуры данных.
Строгих ограничений нет, но мы предпочитаем студентов старше 15 лет. Мы готовы делать исключения. В первом потоке nFactorial Start самому младшему участнику было 12 лет, а самому старшему - 44.
Многие работающие (или безработные) программисты кодируют постоянным методом проб и ошибок, а также копированием и вставкой фрагментов из StackOverflow, не понимая, почему и как это работает. Хорошие программисты сначала планируют «на бумаге», а затем с первой попытки пишут правильное решение. Мы поможем вам получить фундаментальные знания в компьютерных науках.
Присоединяйтесь к сообществу талантливых менторов, успешных разработчков и выпускников nFactorial School прошлых лет. Компании, где работают выпускники nFactorial: Google, Facebook, Amazon, Apple, HBO, Robinhood, Yandex, и другие.
Даже если вы не планируете быть разработчиком, программирование поможет вам взглянуть на мир совершенно новыми глазами - как инженер, как человек, который может разбить сложную проблему на более простые подзадачи. Программирование поможет вам развить умение решать проблемы, логику, когнитивные и творческие способности.
«Программное обеспечение съедает мир». Программное обеспечение трансформирует все отрасли, даже если они не носят технический характер: от шопинга до сельского хозяйства. Начните свою карьеру в IT с правильного фундамента.