При оценке результатов практических занятий используется балльно-рейтинговая система. За выполнение каждого из обязательных перечисленных ниже заданий можно получить от 1 до указанного для него максимального количества баллов, в зависимости от качества его выполнения. Однако этих заданий не хватит для получения проходного балла, поэтому по каждой из тем можно выполнить собственное оригинальное дополнительное задание, которое оценивается от 3 до 5 баллов, но не более одного собственного проекта по каждой из тем. Всего 4 темы, задания из списка могут дать максимум 20 баллов. Проходной балл - 30. Студенты, не набравшие нужное количество баллов, для получения зачёта должны будут пройти устное собеседование по темам лекционного курса.
Разрешается (и приветствуется) использовать для выполнения заданий собственные ноутбуки (которые могут работать с Microsoft Visual Studio).
Тема 1. HTML + CSS + JavaScript
Тема 1. Классические HTML + CSS + JavaScript.
Задание 1.1. "Конфетти". Создайте web-страницу, на которой, щёлкая мышкой, можно вывести круг случайного цвета и размера с центром в указанном мышкой месте. Пользуйтесь HTML, CSS и JavaScript. Максимальный балл - 1.

Задание 1.2. Создайте, используя чистый JavaScript, HTML и CSS, web-страницу, которая показывает текущую дату и время, и время, которое осталось до наступления какой-либо важной даты. Оценивается дизайн страницы, желательно использование динамических эффектов. Допустимо вместо цифровых часов создать стрелочные. Время "до наступления важной даты" следует оформить фразой типа "до Нового года осталось 364 дня, 10 часов, 15 минут", обратив внимание на автоматическую коррекцию склонений слов. Максимальный балл - 2.
Задание 1.3. Создать одностраничное приложение "Интеллектуальный планировщик задач (todo-list)" , которое должно включать в себя:
а) базовый CRUD-функционал (создать задачу, просмотреть список задач, изменить задачу, удалить задачу);
б) расширенный функционал: указать временные рамки выполнения задачи, отметить статус задачи (активная, выполненная досрочно, в срок либо просроченная и т.п.), дать возможность пользователю фильтровать задачи по какому-либо критерию (статус, важность, тематика и т.п.). Максимальный балл - 4.
Тема 2. Программирование в Node.js
Тема 2. Программирование в Node.js.
Задание 2.1. Создать с использованием технологии Node.js собственный web-сервер, который будет получать данные из формы пользователя (первая html-страница) и выдавать их в обработанном виде на вторую html-страницу. Например, на первой странице вы заполняете поля "имя", "пароль", "дата рождения". Вторая страница представляет собой, как вариант, информацию о регистрации пользователя на сервере, включая имя пользователя, его возраст, дату регистрации и оценку качества пароля. Максимальный балл - 2.
Задание 2.2. Написать клиент-серверное приложение "Блог" с использованием СУБД MongoDB. Аккаунт для доступа к базе данных вы можете получить у преподавателя. Модель данных должна содержать как минимум одну коллекцию документов (статей) с полями title (название статьи), content (содержание статьи), author (для авторизации вы можете подключить к блогу результат выполнения предыдущего задания или ограничиться условной авторизацией), tags (массив ключевых слов), created (дата создания статьи), view (количество просмотров). Сервер, реализованный на Node.js, должен поддерживать приблизительно такие вызовы (endpoints):
-
GET /api/posts– получить все статьи. -
GET /api/posts/:id– получить одну статью по её ID. -
POST /api/posts– создать новую статью с проверкой валидации входных данных. -
DELETE /api/posts/:id– удалить статью. -
GET /api/posts/search?q=...– реализовать поиск по заголовку и содержимому статьи.
Клиентское Интернет-приложение должно обеспечивать пользовательский интерфейс к серверу, позволяющий авторизоваться, создать статью, удалить статью, просмотреть одну или несколько статей с выбором условий фильтрации. Максимальный балл - 5.
Тема 3. Технология ASP.NET MVC на C#
Тема 3. Создание сайта на основе модели MVC на языке C# в технологии ASP.NET.
Используйте пошаговую инструкцию для разработки проекта ASP.NET. Инструкция написана для Microsoft Visual Studio 2017 Community Edition с установленной поддержкой языка C# и средств разработки ASP.NET. Вы можете работать как с более современными, так и более ранними версиями Visual Studio, однако при этом могут быть некоторые непринципиальные расхождения в интерфейсе среды разработки. Проекты, разработанные в различных версиях Visual Studio, несовместимы. В разных компьютерных классах ФТИ стоят различные версии Visual Studio от 2012 до 2019. Максимальный балл - 3.
Тема 4. Python и фреймворк Django
Тема 4. Язык Python и фреймворк Django для web-разработки.
Задание 4.1 (пошаговая инструкция). Максимальный балл - 1.
Задание 4.2 (пошаговая инструкция) ориентировано на среду программирования PyCharm, однако вы без особых проблем можете использовать стандартную установку языка Python (без PyCharm) и любой из удобных текстовых редакторов. Максимальный балл - 2.