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

Задание 1.2. Создайте, используя чистый JavaScript, HTML и CSS, web-страницу, которая показывает текущую дату и время, а также время, которое осталось до наступления какой-либо важной даты. Оценивается дизайн страницы, желательно использование динамических эффектов. Допустимо вместо цифровых часов создать стрелочные. Время "до наступления важной даты" следует оформить фразой типа "до Нового года осталось 364 дня, 10 часов, 15 минут", обратив внимание на автоматическую коррекцию склонений слов.
Задание 1.3. Создать одностраничное приложение "Интеллектуальный планировщик задач (todo-list)" , которое должно включать в себя:
а) базовый CRUD-функционал (создать задачу, просмотреть список задач, изменить задачу, удалить задачу);
б) расширенный функционал: указать временные рамки выполнения задачи, отметить статус задачи (активная, выполненная досрочно, в срок либо просроченная и т.п.), дать возможность пользователю фильтровать задачи по какому-либо критерию (статус, важность, тематика и т.п.).
Тема 2. Программирование в Node.js
Тема 2. Программирование в Node.js.
Задание 2.1. Создать с использованием технологии Node.js собственный web-сервер, который будет получать данные из формы пользователя (первая html-страница) и выдавать их в обработанном виде на вторую html-страницу. Например, на первой странице вы заполняете поля "имя", "пароль", "дата рождения". Вторая страница представляет собой, как вариант, информацию о регистрации пользователя на сервере, включая имя пользователя, его возраст, дату регистрации и оценку качества пароля.
Задание 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=...– реализовать поиск по заголовку и содержимому статьи.
Клиентское Интернет-приложение должно обеспечивать пользовательский интерфейс к серверу, позволяющий авторизоваться, создать статью, удалить статью, просмотреть одну или несколько статей с выбором условий фильтрации.
В помощь тем, кто ещё не работал с MongoDB, рекомендуется посмотреть актуальный курс Базы данных и обратить особое внимание на эту методичку. Вам, конечно же, НЕ НУЖНО в обязательном порядке выполнять самостоятельные задания из этой методички.
Тема 3. Технология ASP.NET MVC на C#
Тема 3. Создание сайта на основе модели MVC на языке C# в технологии ASP.NET.
Используйте пошаговую инструкцию для разработки проекта ASP.NET. Можно вместо этого создать собственный MVC-проект на языке C#. Инструкция написана для Microsoft Visual Studio 2017 Community Edition с установленной поддержкой языка C# и средств разработки ASP.NET. Вы можете работать как с более современными, так и более ранними версиями Visual Studio, однако при этом могут быть некоторые непринципиальные расхождения в интерфейсе среды разработки. Проекты, разработанные в различных версиях Visual Studio, несовместимы. В разных компьютерных классах ФТИ стоят различные версии Visual Studio от 2012 до 2019.
Тема 4. Python и фреймворк Django
Тема 4. Язык Python и фреймворк Django для web-разработки.
Задание 4.1 (пошаговая инструкция).
Задание 4.2 (пошаговая инструкция) ориентировано на среду программирования PyCharm, однако вы без особых проблем можете использовать стандартную установку языка Python (без PyCharm) и любой из удобных текстовых редакторов.