CS50W: Web-разработка на Python и Javascript
firstdigital
Почему Web-разработка?
150 тыс руб
Средняя зарплата в сфере web-разработки в России для специалиста с опытом 3-5 лет
20+ тыс вакансий
В сфере web-разработки в России, и в десятки раз больше в мире, в том числе удаленно
Востребованно
web-разработка - одно из самых востребованных направлений в IT с учетом необходимости разработки самых разнообразных сайтов, платформ и систем корпорациями, госсектором и стартапами
Почему этот курс?
Учитесь у лучших
Освойте web-разработку, пройдя курс от инструкторов Гарвардского университета, который стабильно признается в топ-3 в сфере компьютерных наук в мире
Бесплатно
Все материалы курса доступны БЕСПЛАТНО. Получите сертификат об успешном окончании курса за дополнительную плату
Основа профессий
Засчитайте курс как часть одной из IT-профессий first digital, являющихся сильным сигналом для работодателей
Как проходит обучение
Видеолекции
Смотрите видеоуроки в любое время, на любом устройстве, занятия разбиты на 10-30 минутные уроки чтобы встроится в Ваше расписание
Практика
Закрепите новый материал выполнением практического задания с автопроверкой кода
Сообщество
Присоединяйтесь к онлайн форуму и чату для студентов для обсуждения заданий и обмена опытом
Сертификат
Получите сертификат об окончании курса, составьте из отдельных курсов свою IT-профессию
Трудоустройство
Скоро!Откликайтесь на вакансии на закрытом сайте по поиску работы и эксклюзивные карьерные мероприятия, получите консультацию с занимающим позицию, которую Вы хочетите получить
Программа курса
10 недель
6-9 часов в неделю
Начальный уровень
Ожидаемый уровень знаний: знание основ программирования на уровне курса CS50x
Неделя
Описание
0
Языки маркировки, используемые для отображения веб-страницы, призваны сделать веб-сайты более визуально привлекательными. Мы рассмотрим следующие темы:
- HTML и его элементы (заголовки, выделение текста, ссылки, маркеры списка, картинки, новые строки, таблицы, формы)
- Document Object Model (DOM)
- Формы
- CSS: стили и их параметры
- CSS-селекторы
- CSS-псевдоклассы
- Адаптивный веб-дизайн
- Flexbox, grid
- Bootstrap
- Sass (Synthetically awesome Style sheets)
1
На данной неделе мы рассмотрим Git – систему для контроля версий и коллаборации внутри команды разработчиков. Мы рассмотрим следующие темы:
- Git
- GitHub
- Коммиты (Commits)
- Конфликты слияния
- Ветвь (управление версиями)
- Форк (Forking)
- Пул-реквесты (Pull-requests)
- GitHub Pages – простой способ опубликовать статический сайт
2
На данной неделе мы рассмотрим Python – широко используемый язык программирования для создания динамических веб-сайтов. Мы рассмотрим следующие темы:
- Переменные
- Formatted strings
- Условия
- Последовательности – strings, lists, tuples, sets, dictionaries, loops
- Функции
- Модули
- Объектно-ориентированное программирование
- Функциональное программирование: декораторы, lambda-функции
- Исключения (except)
3
4
На данной неделе мы рассмотрим SQL – язык, используемый для хранения и запроса информации, а также рассмотрим методы Django, облегчающие работу с SQL базами данных. Мы рассмотрим следующие темы:
- Типы баз данных
- Типы колонок
- SELECT и его использование в терминале с UPDATE, DELETE, функциями
- Функции (AVERAGE, COUNT, MAX, MIN, SUM)
- Объединение таблиц - Запрос JOIN, индексирование, потенциальные проблемы SQL (внедрение SQL-кода, состояние гонки)
- Django-модели
- Миграция
- Работа с командной строкой Shell
- Запуск приложения
- Django админ
- Многие ко многим (many-to-many)
- Пользователи и аутентификация
5
На данной неделе мы рассмотрим JavaScript – язык программирования, который позволяет сделать сайты более быстрыми и интерактивными. Мы рассмотрим следующие темы:
- JavaScript – отличия и преимущества языка
- Ивенты (Events)
- Переменные Variables
- querySelector
- Манипуляции с DOM - JavaScript консоль, стрелочные функции (Arrow Functions), создаем TODO List
- Интервалы
- Локальное хранение
- API - JavaScript-объекты, пример с информацией о курсе валют
6
7
На данной неделе мы рассмотрим различные методы, позволяющие настроить процесс обновления веб сайтов. Мы рассмотрим следующие темы:
- Assert
- Разработка через тестирование (Test-driven development)
- Модульное тестирование (Unit testing)
- Тестирование приложение Django
- Тестирование на стороне клиента
- Selenium - инструмент для автоматизации действий веб-браузера
- Принципы CI/CD (Continuous Integration and Continuous Delivery)
- Непрерывная интеграция с GitHub Actions
- Docker
8
На данной неделе мы рассмотрим различные методы, позволяющие множеству пользователей пользоваться сервисом одновременно, а также способы защиты веб-приложений от вредоносных атак. Мы рассмотрим следующие темы:
- Преимущества и недостатки облачных сервисов
- Вертикальное и горизонтальное масштабирование
- Балансировка нагрузки
- Автомасштабирование (Autoscaling)
- Масштабирование баз данных и репликация
- Кэширование
- Фишинговые атаки
- HTTPS
- Криптосистемы с открытым и закрытым ключом
- Безопасность баз данных
- Управление API для безопасности
- Атаки с использованием JavaScript и методы защиты против них
- Межсайтовая подделка запроса (Cross-site request forgery)
К концу курса вы выполните 5 проектов, каждый из которых будет использовать освоенные во время лекций знания:
- Проект 0: Разработка интерфейса посадочной страницы Google: поиск по текксту, поиск картинок, и расширенного поиска
- Проект 1: создание онлайн-энциклопедии наподобие Википедии
- Проект 2: разработкае сайта-аукциона электронную торговую площадку наподобие eBay, который позволил бы пользователям размещать лоты на аукционы, делать ставки, комментировать объявления и добавлять объявления в «список наблюдения»
- Проект 3: разработка интерфейса для почтового клиента, который выполняет вызовы API для отправки и получения электронных писем
- Проект 4: создание социальной сети, похожей на Twitter, где можно было бы публиковать сообщения и подписываться на пользователей
Финальный проект - это ваша возможность разработать и реализовать собственный динамический веб-сайт. Вы свободны в выборе веб-приложения для разработки, но ваш проект должет отвечать следующим харакретистикам:
- Ваше веб-приложение должно в значительной степени отличаться от других проектов в этом курсе
- Ваше веб-приложение должно использовать Django (включая хотя бы одну модель) на бэкенде и JavaScript на фронтенде
- Ваше веб-приложение должно адаптироваться к мобильным устройствам
Что вы освоите в результате прохождения курса
Освоите основы проектирования базы данных, масштабирования, обеспечения безопасности и удобства пользования вэб-приложением
Освоите основы сразу нескольких языков программирования, систем и фреймворков, включая:
Реализовав 5 проектов, позволяющих всесторонне закрепить знания, Вы научитесь писать и использовать API, создавать интерактивные пользовательские интерфейсы и использовать облачные сервисы, такие как GitHub и Heroku
Приобретете знания и опыт в области принципов, языков и инструментов, которые позволят вам разрабатывать и развертывать приложения в интернете
Сертификат об успешном окончании курса
Все материалы курса доступны БЕСПЛАТНО
В случае если вы хотите получить сертификат об успешном прохождении курса, необходимо будет оплатить 6900 р в любой момент учебы
Пример сертификата:
Сертификат может иметь самостоятельную ценность
А может использоваться для зачета курса как части профессии Web-разработчик first digital, являющихся сильным сигналом для работодателей.