Специальность: 09.02.07 «Информационные системы и программирование»
Квалификация: разработчик веб и мультимедийных приложений
Дисциплины:
- Основы алгоритмизации и программирования
- Основы проектирования баз данных
- Стандартизация, сертификация и тех.документирование
О чем статья: предложения тем лекций и практических работ для преподавателей данных дисциплин при формировании РП и КТП
А может и просто для людей, которые мечтают стать веб-разработчиками)
Раздел 1. Введение в профессию
Тема 1.1. Алгоритмизация и языки программирование
- Основы алгоритмизации. Понятие алгоритма и его свойства. Методы разработки алгоритма.
- Эволюция и классификация языков программирования. Программа, порядок ее разработки и исполнения.
- Области применения языков программирования. Стандарты языков программирования.
- Жизненный цикл программы. Основные этапы решения задач на компьютере
- Алгоритмы. Бинарный поиск. Задача о коммивояжере
- Алгоритмы. Сортировка выбором. Рекурсия
- Алгоритмы. Быстрая сортировка Хеш-таблицы и фильтры Блума
- Алгоритмы. Поиск в ширину. Алгоритм кратчайшего пути Дейкстры
- Алгоритмы. Жадные алгоритмы. Динамическое программирование
- Алгоритм k ближайших соседей. Деревья. Графы. Поиск в графе и его применения
- Инвертированные индексы. Преобразование Фурье
- Параллельные алгоритмы. MapReduce. Распределенные алгоритмы
- Фильтры Блума и Hyperloglog. Алгоритмы SHA
- Локально-чувствительное хеширование. Обмен ключами Диффи-Хеллмана
- Линейное программирование
Раздел 2. JavaScript
Тема 2.1. Основы JS
- История и основы языка JavaScript
- Основные операторы JavaScript
- Циклы, массивы, структуры данных
- Объекты в JavaScript
- Введение в DOM
- Обработка событий в JavaScript
Тема 2.2. Современный JS
- Анонимные функции, замыкания
- Современный JavaScript
- ООП в JavaScript
- Асинхронные запросы
- Регулярные выражения
Тема 2.3. Структуризация в программировании
- Основы структурного программирования. Методы структурного про-граммирования.
Тема 2.4. Модульное программирование
- Модульное программирование. Понятие модуля. Структура модуля.
- Стандартные модули.
Раздел 3. Основы объектно-ориентированного программирования (ООП)
Тема 3.1 Основные принципы объектно-ориентированного программирования (ООП)
- История развития ООП. Базовые понятия ООП: объект, его свойства и методы, класс, интерфейс.
- Основные принципы ООП: инкапсуляция, наследование, полиморфизм. Классы объектов. Компоненты и их свойства.
- Событийно-управляемая модель программирования. Компонентно-ориентированный подход
Тема 3.3. Визуальное событийно-управляемое программирование
- Основные компоненты (элементы управления) интегрированной среды разработки, их состав и назначение.
- Дополнительные элементы управления. Свойства компонентов. Виды свойств. Синтаксис определения свойств. Назначения свойств и их вли-яние на результат. Управление объектом через свойства.
- События компонентов (элементов управления), их сущность и назначение. Создание процедур на основе событий.
Тема 3.4 Разработка оконного приложения
- Разработка функционального интерфейса приложения. Создание интерфейса приложения.
- Разработка функциональной схемы работы приложения.
- Разработка игрового приложения.
Тема 3.5 Этапы разработки приложений
- Разработка приложения
- Проектирование объектно-ориентированного приложения
- Создание интерфейса пользователя
- Тестирование, отладка приложения
Тема 5.6 Иерархия классов
- Классы ООП: виды, назначение, свойства, методы, события.
- Перегрузка методов.
- Тестирование и отладка приложения
Практические работы
- Задачи на алгоритмы. Оформление блок-схем в Visio
- Составление программ линейной, разветвляющейся, циклической структур
- Обработка одномерных массивов
- Обработка двумерных массивов.
- Работа со строками.
- Работа с данными типа множество.
- Организация процедур и функций.
- Применение рекурсивных функций.
- Создание процедур на основе событий.
- Создание проекта с использованием кнопочных компонентов.
- Создание проекта с использованием компонентов стандартных диалогов и системы меню.
- Разработка функциональной схемы работы приложения.
- Разработка оконного приложения с несколькими формами.
- Разработка игрового приложения.
- Создание процедур обработки событий.
Список вопросов к экзамену по дисциплине «Основы алгоритмизации и программирования»
- Основные принципы алгоритмизации и программирования
- Методы построения алгоритмов
- Сложность алгоритмов
- Основные структуры данных
- Жадные алгоритмы
- Поиск в ширину. Алгоритм Дейкстры
- Сортировки
- Алгоритм k ближайших соседей. Деревья. Графы
- Бинарный поиск. Задача о коммивояжере. Сортировка выбором. Рекурсия.
- Хеш-таблицы
- В чем разница между null и undefined? Как вывести информацию в консоль? Сколько типов данных существует в JS?
- Как бы Вы реализовали метод Array.prototype.map?
- Как бы Вы реализовали метод Array.prototype.filter?
- Как бы Вы реализовали метод Array.prototype.reduce?
- Что такое ECMAScript?
- Что нового привнес в JS стандарт ES6 или ECMAScript2015?
- В чем разница между ключевыми словами «var», «let» и «const»?
- Что такое стрелочные функции (Arrow Functions)?
- Что такое классы (Classes)?
- Что такое шаблонные литералы (Template Literals)?
- Что такое деструктуризация объекта (Object Destructuring)?
- Что такое модули (Modules)?
- Что такое объект Set?
- В чем разница между обычной функцией и функциональным выражением?
- Для чего используется ключевое слово «new»?
- Что такое Ajax? Как принципиально устроена эта технология?
Защита практических работ
Теоретические вопросы
- Каковы этапы решения задачи на компьютере с использованием программирования? Охарактеризуйте их. Проиллюстрируйте этапы постановки и формализации на примере следующей задачи: требуется вычислить время движения моторной лодки по реке между двумя пунктами.
- Какие основные типы данных используются при программировании на компьютере?
- Из каких команд составляется линейный алгоритм? Приведите пример задачи, решаемой с помощью линейного алгоритма.
- Что такое алгоритмическая структура ветвления? В чем состоит разница между полным и неполным ветвлением? Приведите пример задачи, решаемой с помощью алгоритма с ветвящейся структурой.
- Постройте ветвящийся алгоритм решения задачи, сформулированной в п. 1.
- Что такое алгоритмическая структура цикла? В чем заключается разница между циклом с предусловием (цикл «Пока») и циклом с постусловием (цикл «До»)? Приведите пример задачи, решаемой с помощью циклического алгоритма. Составьте два варианта решения этой задачи: с циклом «Пока» и с циклом «До».
- Что такое вспомогательный алгоритм (процедура)? Как описывается процедура на алгоритмическом языке? Как описывается обращение к процедуре в основном алгоритме? Проиллюстрируйте выделение подзадачи и использование процедуры для решения следующей задачи: найти площадь кольца по данным значениям внутреннего и внешнего радиусов.
- Каковы правила вычисления логического выражения, содержащего логические операции? Приведите пример вычисления выражения с несколькими логическими операциями.
- Что такое структурное программирование? Каковы основные принципы структурной методики построения алгоритмов?
- Почему Ассемблеры называются машинно-ориентированными языками, а языки высокого уровня — машинно-независимыми языками программирования?
- Что такое трансляция программы на языке высокого уровня? Чем различаются компиляция и интерпретация?
- В чем состоит сущность метода последовательной детализации в программировании?
- Каким образом производится отладка программы?
- В чем заключается задача о Ханойской башне? Сформулируйте идею применения рекурсии для программирования задачи о Ханойской башне.
- Что такое задача полного перебора?
- В чем состоит идея алгоритма перебора с возвратом? Поясните на примере задачи о прохождении лабиринта.
- Какие существуют критерии сложности алгоритмов?
- Что такое алгоритм с полиномиальной временнóй сложностью?
- Какова идея алгоритма сортировки простым включением?
- В чем заключается идея алгоритма быстрой сортировки?
- Каков порядок сложности алгоритма быстрой сортировки?
- В чем разница между null и undefined? Как вывести информацию в консоль? Сколько типов данных существует в JS?
- Для чего используется оператор "&&"? Сколько видов циклов существует в JS?
- Для чего используется оператор "||"?
- Является ли использование унарного плюса (оператор "+") самым быстрым способом преобразования строки в число?
- Что такое DOM?
- Что такое распространение события (Event Propogation)?
- Что такое всплытие события (Event Bubbling)?
- Что такое погружение события (Event Capturing)?
- В чем разница между методами event.preventDefault() и event.stopPropagation()?
- Как узнать об использовании метода event.preventDefault()?
- Почему obj.someprop.x приводит к ошибке?
- Что такое цель события или целевой элемент (event.target)?
- Что такое текущая цель события (event.currentTarget)?
- В чем разница между операторами "==" и "==="?
- Почему результатом сравнения двух похожих объектов является false?
- Для чего используется оператор "!!"?
- Как записать несколько выражений в одну строку?
- Что такое поднятие (Hoisting)?
- Что такое область видимости (Scope)?
- Что такое замыкание (Closures)?
- Какие значения в JS являются ложными?
- Как проверить, является ли значение ложным?
- Для чего используется директива «use strict»?
- Какое значение имеет this?
- Что такое прототип объекта?
- Что такое IIFE?
- Для чего используется метод Function.prototype.apply?
- Для чего используется метод Function.prototype.call?
- В чем разница между методами call и apply?
- Что такое функциональное программирование и какие особенности JS позволяют говорить о нем как о функциональном языке программирования?
- Что такое функции высшего порядка (Higher Order Functions)?
- Почему функции в JS называют объектами первого класса (First-class Objects)?
- Как бы Вы реализовали метод Array.prototype.map?
- Как бы Вы реализовали метод Array.prototype.filter?
- Как бы Вы реализовали метод Array.prototype.reduce?
- Что такое объект arguments?
- Как создать объект, не имеющий прототипа?
- Почему в представленном коде переменная b становится глобальной при вызове функции?
- Что такое ECMAScript?
- Что нового привнес в JS стандарт ES6 или ECMAScript2015?
- В чем разница между ключевыми словами «var», «let» и «const»?
- Что такое стрелочные функции (Arrow Functions)?
- Что такое классы (Classes)?
- Что такое шаблонные литералы (Template Literals)?
- Что такое деструктуризация объекта (Object Destructuring)?
- Что такое модули (Modules)?
- Что такое объект Set?
- Что такое функция обратного вызова (Callback Function)?
- Что такое промисы (Promises)?
- Что такое async/await?
- В чем разница между spread-оператором и rest-оператором?
- Что такое параметры по умолчанию (Default Parameters)?
- Что такое объектная обертка (Wrapper Objects)?
- В чем разница между явным и неявным преобразованием или приведением к типу (Implicit and Explicit Coercion)?
- Что такое NaN? Как проверить, является ли значение NaN?
- Как проверить, является ли значение массивом?
- Как проверить, что число является четным, без использования деления по модулю или деления с остатком (оператора "%")?
- Как определить наличие свойства в объекте?
- Что такое AJAX?
- Как в JS создать объект?
- В чем разница между методами Object.freeze и Object.seal?
- В чем разница между оператором «in» и методом hasOwnProperty?
- Какие приемы работы с асинхронным кодом в JS Вы знаете?
- В чем разница между обычной функцией и функциональным выражением?
- Как в JS вызвать функцию?
- Что такое запоминание или мемоизация (Memoization)?
- Как бы Вы реализовали вспомогательную функцию запоминания?
- Почему typeof null возвращает object? Как проверить, является ли значение null
- Для чего используется ключевое слово «new»?
Практика на понимание
Задание 1. Написать скрипт, который запрашивает имя. Просит подтвердить правильность ввода. Если пользователь не подтверждает (жмет отмена) – опять запрашивает имя, если пользователь подтверждает (жмет да) – здоровается с ним.
Задание 2.
1) Создать HTML страницу и подключить к ней файл скрипта
2) В файле скрипта создать 2 переменные (money и time), которые будут получать данные от пользователя:
- Первая будет спрашивать "Ваш бюджет на месяц?"
- Вторая "Введите дату в формате YYYY-MM-DD"
3) Создать объект appData, который будет содержать такие данные:
- бюджет (передаем сюда переменную из п.2)
- данные времени - timeData (передаем сюда переменную из п.2)
- объект с обязательными расходами - expenses (смотри пункт 4)
- объект с необязательными расходами - optionalExpenses (оставляем пока пустым)
- массив данных с доп. доходом - income (оставляем пока пустым)
- свойство savings (выставляем его как false)
4) Задать пользователю по 2 раза вопросы:
“Введите обязательную статью расходов в этом месяце”
“Во сколько обойдется?”
Записать ответы в объект expenses в формате:
expenses: {
“ответ на первый вопрос” : “ответ на второй вопрос”
}
5) Вывести на экран пользователя бюджет на 1 день (брать месяц за 30 дней, использовать alert)
6) Проверить, чтобы все работало без ошибок в консоли
7) Создать свой репозиторий на GitHub и поместить туда папку с первым заданием
Задание 3.
Запросите у пользователя строку (prompt) содержащую разделители ;. Далее строку нужно преобразовать в массив (с учетом разделителя). Далее каждый элемент массива вывести на новой строке (document.write), в массиве не должно быть пустых элементов. Если пользователь жмет отмена, вводит пустую строку или строку без разделителей – запросите строку заново.
Задание 4.
Написать скрипт, который преобразует русский текст в транслит и выводит его в консоль.
Задание 5.
Написать регулярное выражение для поиска строки url (http://example.example/example/example.example
или https://www.example.example и т.п.)
- Написать регулярное выражение для поиска email
Задание 6.
Сделать цифровые часы. Для получения объекта DOM использовать document. Для его изменения innerHtml.
Например,
В html документ добавим
<body>
<div id = "mydiv"></div>
</body>
В js
window.onload = function() {
let item = document.getElementById('mydiv');
item.innerHTML = 'Hello world';
}
Задание 7.
Сделать игру «поймай крота»
document.querySelectorAll(selector) – возвращает список объектов из документа, отвечающий селектору.
Задание 8.
Дан массив объектов. Для примера
{id: 2, name: "Организация", parent_id: null}
{id: 3, name: "Бухгалтерия", parent_id: 2}
{id: 6, name: " Отдел охраны", parent_id: 2}
{id: 7, name: "Караульная служба", parent_id: 6}
{id: 8, name: "Бюро пропусков", parent_id: 6}
{id: 12, name: "Патентный отдел", parent_id: 2}
{id: 13, name: "Лётная служба", parent_id: 2}
{id: 14, name: "Лётный отряд Боинг 737", parent_id: 13}
{id: 17, name: "Лётный отряд Боинг 747", parent_id: 13}
{id: 18, name: "1-ая авиационная эксадрилия Боинг 737", parent_id: 14}
{id: 19, name: "2-ая авиационная эскадрилия Боинг 737", parent_id: 14}
{id: 21, name: "Лётно-методический отдел", parent_id: 13}
У каждого объекта есть id, name (имя) и parent_id – id родителя. Написать скрипт, который расположит на странице данный массив в виде иерархического списка.
Скрипт должен работать для массива объектов с произвольным количеством вложений.
Задание 9.
Написать классы для описания геометрических фигур на плоскости (точка, прямая, окружность, эллипс, прямоугольник). В классах должны присутствовать методы для получения всех параметров фигуры. Используйте наследование. Должна быть возможность задать параметры фигуры и ее положение.
Задание 10.
1. Есть некоторая строка (var str = 'fgfggg';), что будет, если взять str[0]?
2. Дана строка, нужно написать функцию, которая возвращает значение true, если строка — палиндром, и false, если это не так. При решении задачи необходимо учитывать пробелы и знаки препинания.
3. Напишите функцию, которая выводит в консоль числа от 1 до n, где n — целое число, которое функция принимает в качестве параметра, при этом: выводит fizz вместо чисел, кратных 3; выводит buzz вместо чисел, кратных 5; выводит fizzbuzz вместо чисел, кратных и 3, и 5.
4. Напишите функцию, проверяющую, являются ли две строки анаграммами друг друга (регистр букв не имеет значения). Важны только символы, пробелы или знаки препинания не учитываются.
5. Напишите функцию, которая принимает строку в качестве аргумента и возвращает количество гласных, содержащихся в этой строке. Гласными являются «a», «e», «i», «o», «u».
Задание 11.
1. Напишите функцию, которая возвращает n-ую запись в последовательности, где n — это число, которое вы передаёте в качестве аргумента функции.
2. Реализовать методы, которые в процессе выполнения строки (2).plus(3).minus(1) дали бы на выходе 4.
3. Дана функция, она принимает в качестве аргументов строки '*', '1', 'b', '1c', реализуйте ее так, чтобы она вернула строку '1*b*1c'
4. 'Что такое live/die'
5. Вывести таблицу 10 × 10, заполненную числами от 1 до 100
6. Сделать, чтобы при наведении указателя мыши на изображение это изображение переворачивалось вверх ногами
Задание 12.
1. В папке images есть изображения 1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg, 6.jpg, 7.jpg, 8.jpg, 9.jpg. Вывести случайное изображение из этой папки
2. Создать форму, в которую можно ввести два числа и получить сумму этих чисел
3. Вывести надпись красным цветом, если используется браузер Internet Explorer или синим цветом, если используется браузер Firefox
4. Создать калькулятор с вводом в форму чисел, а при нажатии на кнопку — выводился результат
5. Создать кнопку, добавляющую параграф
6. Создать рисунок на Canvas
Задание 13.
1. Какое будет выведено значение: let x = 5; alert( x++ ); ?
2. Чему равно такое выражение: [ ] + false - null + true ?
3. Что выведет этот код: let y = 1; let x = y = 2; alert(x); ?
4. Чему равна сумма [ ] + 1 + 2?
5. Что выведет этот код: alert( "1"[0] )?
6. Чему равно 2 && 1 && null && 0 && undefined ?
Задание 14.
1. Есть ли разница между выражениями? !!( a && b ) и (a && b)?
2. Что выведет этот код: alert( null || 2 && 3 || 4 ); ?
3. a = [1, 2, 3]; b = [1, 2, 3]; Правда ли что a == b ?
4. Что выведет этот код: alert( +"Infinity" ); ?
5. Верно ли сравнение: "ёжик" > "яблоко"?
6. Чему равно 0 || "" || 2 || undefined || true || falsе ?
Билеты к экзамену
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №1
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Основные принципы алгоритмизации и программирования
2. Есть некоторая строка (var str = 'fgfggg';), что будет, если взять str[0]?
3. Написать классы для описания геометрических фигур на плоскости (точка, прямая, окружность, эллипс, прямоугольник). В классах должны присутствовать методы для получения всех параметров фи-гуры. Используйте наследование. Должна быть возможность задать параметры фигуры и ее положение.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №2
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Методы построения алгоритмов
2. Дана строка, нужно написать функцию, которая возвращает значение true, если строка — палиндром, и false, если это не так. При решении задачи необходимо учитывать пробелы и знаки препинания.
3. Сделать игру «поймай крота». document.querySelectorAll(selector) – возвращает список объектов из документа, отвечающий селектору.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №3
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Сложность алгоритмов
2. Напишите функцию, которая выводит в консоль числа от 1 до n, где n — целое число, которое функция принимает в качестве параметра, при этом: выводит fizz вместо чисел, кратных 3; выводит buzz вместо чисел, кратных 5; выводит fizzbuzz вместо чисел, кратных и 3, и 5.
3. Сделать цифровые часы. Для получения объекта DOM использовать document. Для его изменения innerHtml. Например,
В html документ добавим
<body> <div id = "mydiv"></div></body>
В js window.onload = function()
{let item = document.getElementById('mydiv');
item.innerHTML = 'Hello world';}
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №4
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Основные структуры данных
2. Напишите функцию, проверяющую, являются ли две строки анаграммами друг друга (регистр букв не имеет значения). Важны только символы, пробелы или знаки пре-пинания не учитываются.
3. Написать регулярное выражение для поиска строки url (http://example.example/example/example.example
или https://www.example.example и т.п.) Написать регулярное выражение для поиска email
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №5
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Жадные алгоритмы
2. Напишите функцию, которая принимает строку в качестве аргумента и возвращает количество гласных, содержащихся в этой строке. Гласными являются «a», «e», «i», «o», «u».
3. Написать скрипт, который преобразует русский текст в транслит и выводит его в консоль. ГОСТ 7.79-2000.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №6
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Поиск в ширину. Алгоритм Дейкстры
2. Напишите функцию, которая возвращает n-ую запись в последовательности, где n — это число, которое вы передаёте в качестве аргумента функции.
3. Запросите у пользователя строку (prompt) содержащую разделители; Далее строку нужно преобразовать в массив (с учетом разделителя). Далее каждый элемент мас-сива вывести на новой строке (document.write), в массиве не должно быть пустых элемен-тов. Если пользователь жмет отмена, вводит пустую строку или строку без разделителей – запросите строку заново.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №7
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Сортировки
2. Реализовать методы, которые в процессе выполнения строки (2).plus(3).minus(1) дали бы на выходе 4.
3. Написать скрипт, который запрашивает имя. Просит подтвердить правиль-ность ввода. Если пользователь не подтверждает (жмет отмена) – опять запрашивает имя, если пользователь подтверждает (жмет да) – здоровается с ним.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №8
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Алгоритм k ближайших соседей. Деревья. Графы
2. Дана функция, она принимает в качестве аргументов строки '*', '1', 'b', '1c', реа-лизуйте ее так, чтобы она вернула строку '1*b*1c'
3. Создать HTML страницу и подключить к ней файл скрипта. В файле скрипта создать 2 переменные (money и time), которые будут получать данные от пользователя: первая будет спрашивать "Ваш бюджет на месяц?", вторая "Введите дату в формате YYYY-MM-DD". Создать объект appData, который будет содержать такие данные: бюд-жет (передаем сюда переменную из п.2), данные времени - timeData (передаем сюда пере-менную из п.2), объект с обязательными расходами - expenses (смотри пункт 4), объект с необязательными расходами - optionalExpenses (оставляем пока пустым), массив данных с доп. доходом - income (оставляем пока пустым), свойство savings (выставляем его как false). Задать пользователю по 2 раза вопросы: “Введите обязательную статью расходов в этом месяце”. “Во сколько обойдется?”, Записать ответы в объект expenses в формате: expenses: {“ответ на первый вопрос”: “ответ на второй вопрос”}. Вывести на экран поль-зователя бюджет на 1 день (брать месяц за 30 дней, использовать alert). Проверить, чтобы все работало без ошибок в консоли. Создать свой репозиторий на GitHub и поместить ту-да папку с заданием.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №9
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Бинарный поиск. Задача о коммивояжере. Сортировка выбором. Ре-курсия.
2. Вывести таблицу 10 × 10, заполненную числами от 1 до 100
3. Записать алгоритм нахождения наибольшего делителя двух натуральных чисел (X и Y).
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №10
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Хеш-таблицы
2. Сделать, чтобы при наведении указателя мыши на изображение это изображение переворачивалось вверх ногами
3. Заданы координаты двух точек. Координаты 1-й точки – X1, Y1, ко-ординаты 2-й точки – X2, Y2. Определить, какая из точек наиболее удалена от начала координат
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №11
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. В чем разница между null и undefined? Как вывести информацию в консоль? Сколько типов данных существует в JS?
2. В папке images есть изображения 1.jpg, 2.jpg, 3.jpg, 4.jpg, 5.jpg, 6.jpg, 7.jpg, 8.jpg, 9.jpg. Вывести случайное изображение из этой папки
3. Судно заданного проекта с количеством груза G встало под выгруз-ку сыпучего материала (песчано-гравийная смесь). Выгрузка произ-водится по слоям. Весь груз условно разделен на два слоя: верхний – легкодоступный и нижний – труднодоступный. Процентное содер-жание груза в каждом слое К1 и К2 зависит от типа проекта. Произ-водительность работы крана зависит от его типа, рода груза и номе-ра слоя соответственно Р1 и Р2. Рассчитать количество груза, вы-груженного в конце 1-й смены. Длительность одной смены 7 часов. Построить алгоритм.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №12
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Как бы Вы реализовали метод Array.prototype.map?
2. Создать форму, в которую можно ввести два числа и получить сум-му этих чисел
3. Даны два числа X и Y. Составить схему алгоритма вычисления ми-нимального из двух чисел Z = min(X, Y).
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №13
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Как бы Вы реализовали метод Array.prototype.filter?
2. Вывести надпись красным цветом, если используется браузер Internet Explorer или синим цветом, если используется браузер Firefox
3. Даны три числа A, B, C. Составить схему алгоритма вычисления Z = max(A, B, C).
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №14
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Как бы Вы реализовали метод Array.prototype.reduce?
2. Создать калькулятор с вводом в форму чисел, а при нажатии на кнопку — выводился результат
3. Даны действительные числа A, B, C. Составить схему алгоритма вы-числения Z = max (A2 + B, min(B + 1, C)).
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №15
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Что такое ECMAScript?
2. Какое будет выведено значение: let x = 5; alert( x++ ); ?
3. Задан массив по имени A, состоящий из 20 элементов Ai; i = 1, …, 20. Составить схему алгоритма вычисления суммы и произведения эле-ментов этого массива.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №16
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Что нового привнес в JS стандарт ES6 или ECMAScript2015?
2. Чему равно такое выражение: [ ] + false - null + true ?
3. Задан массив Х, состоящий из 20 элементов, Xi; i = 1, …, 20. Соста-вить схему алгоритма вычисления суммы и количества положитель-ных элементов массива.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №17
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. В чем разница между ключевыми словами «var», «let» и «const»?
2. Что выведет этот код: let y = 1; let x = y = 2; alert(x); ?
3. Задана матрица X(N*M). Определить количество положительных элементов в каждой строке матрицы. Написать алгоритм.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №18
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Что такое стрелочные функции (Arrow Functions)?
2. Чему равна сумма [ ] + 1 + 2?
3. Итоги первого вступительного экзамена заданы массивом оценок Mi, i = 1, …, 50. Сформировать списки абитуриентов, допущенных к сле-дующему (второму) экзамену. Ко второму экзамену будут допущены аби-туриенты с оценками Mi ≥ 3. В списке результатов указать текущие номера студентов, допущенных ко второму экзамену.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №19
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Что такое классы (Classes)?
2. Что выведет этот код: alert( "1"[0] )?
3. Дана квадратная матрица Y(N*N). Найти минимальный элемент сре-ди элементов, лежащих выше главной диагонали, номер строки и номер столбца, в котором он находится.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №20
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Что такое шаблонные литералы (Template Literals)?
2. Чему равно 2 && 1 && null && 0 && undefined ?
3. Дан массив A(i); i = 1, …, N. Отсортировать его методом простого выбора по возрастанию.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №21
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Что такое деструктуризация объекта (Object Destructuring)?
2. Есть ли разница между выражениями? !!( a && b ) и (a && b)?
3. Дан массив X(i); i = 1, …, N. Отсортировать его методом упорядоче-ния пар смежных элементов по убыванию.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №22
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Что такое модули (Modules)?
2. Есть ли разница между выражениями? !!( a && b ) и (a && b)?
3. Дан массив Bi, i = 1, …, 18. Найти сумму отрицательных и произве-дение положительных элементов массива S и P. Определить, какое значение больше – S или P – по абсолютной величине и на сколько.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №23
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Что такое объект Set?
2. a = [1, 2, 3]; b = [1, 2, 3]; Правда ли что a == b ?
3. Даны массивы Xi, i = 1, …, 10 и Yj, j = 1, 2, …, 15. Найти номера максимальных элементов массивов Xmax и Ymax. Определить, какой из элементов лежит ближе к началу массиву?
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №24
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. В чем разница между обычной функцией и функциональным выражением?
2. Что выведет этот код: alert( +"Infinity" ); ?
3. Разветвляющиеся вычислительные процессы. Z = max(A + 1, B) + 1.5min(C, D – 0.5)). Построить алгоритм
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №25
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Для чего используется ключевое слово «new»?
2. Чему равно 0 || "" || 2 || undefined || true || falsе ?
3. Изложите идею сортировки методом пузырька.
ЭКЗАМЕНАЦИОННЫЙ БИЛЕТ №26
Экзамен по дисциплине: Основы алгоритмизации и программирования
Вопросы:
1. Что такое Ajax? Как принципиально устроена эта технология?
2. Верно ли сравнение: "ёжик" > "яблоко"?
3. Заданный массив содержит положительные и отрицательные числа. Что можно сказать о соотношении между максимальным элементом всего массива и максимальным элементом среди положительных элементов? А как соотносятся между собой минимальный элемент всего массива и минимальный элемент среди отрицательных элементов?
Основы проектирования баз данных
Раздел 1. Основы проектирования баз данных
Тема 1. Основные понятия баз данных
- Основные понятия теории БД. Понятие объекта баз данных. Классификация и сравнительная характеристика БД. Технологии работы с БД.
Тема 2. Взаимосвязи в моделях и реляционный подход к построению моделей
- Логическая и физическая независимость данных. Типы моделей данных.
- Реляционная модель данных. Реляционная алгебра
- Понятие объекта баз данных. Виды связей между объектами.
- Операции в реляционных базах данных.
Тема 3 Этапы проектирования баз данных
- Основные этапы проектирования БД. Жизненный цикл БД. Концептуальное проектирование БД
Пр 1 Проектирование реляционной БД, освоение принципов проектирования БД, нормализация таблиц, в сущности и связи.
Пр 2 Процедуры концептуального, логического и физического проектирования.
- Создание проекта БД. Создание БД, таблиц, манипулирование данными. Применение логических условий к записям.
Пр 3 Модель "сущность–связь". Нормализация БД
- Установка и нормализация отношений в базе данных (различные нормальные формы)
- Сортировка, поиск и фильтрация данных.
- Средства проектирования структур БД. Типы данных СУБД MySQL.
Пр 4 Построение простых, сложных и перекрестных запросов к MySQL
Тема 4. Организация запросов SQL
- Основные понятия языка SQL. Синтаксис операторов, типы данных. Типы команд SQL.
- Сортировка и группировка данных в SQL. Функции в запросах SQL.
Пр 5 Работа с переменными и массивами. Написание программного файла и работа с табличными файлами.
Пр 6 Добавление записей в табличный файл из двумерного массива. Работа с командами ввода-вывода. Использование функций для работы с массивами.
- Создание хранимых процедур и триггеров. Управление транзакциями, кеширование. Перехват исключительных ситуаций и обработка ошибок
Пр 7 Построение концептуальной модели базы данных
Пр 8 Создание логической модели данных, cоздание физической модели данных
Пр 9 Разработка клиентской и серверной части базы данных в CMS WordPress
Список вопросов к экзамену по дисциплине "Основы проектирования баз данных"
- Основные понятия теории БД
- Понятие объекта баз данных
- Классификация и сравнительная характеристика СУБД
- Технологии работы с БД
- Логическая и физическая независимость данных
- Типы моделей данных
- Реляционная модель данных
- Реляционная алгебра
- Понятие объекта баз данных
- Виды связей между объектами
- Операции в реляционных базах данных
- Методы описания и построения схем баз данных
- Основные этапы проектирования БД
- Жизненный цикл БД
- Концептуальное проектирование БД
- Процедуры концептуального проектирования
- Процедуры логического проектирования
- Процедуры физического проектирования
- Модель "сущность-связь"
- Нормализация БД
- Средства проектирования структур БД
- Типы данных СУБД MySQL
- Средства проектирования структур БД
- Организация интерфейса с пользователем
- Основные требования к разработке пользовательского интерфейса
- Основные понятия языка SQL. Синтаксис операторов, типы данных
- Типы команд SQL
- Преимущества языка SQL
- Создание, модификация и удаление таблиц. Операторы манипулирования данными
- Организация запросов на выборку данных при помощи языка SQL
- Сортировка и группировка данных в SQL
- Функции в запросах SQL
- Создание и хранимых процедур и триггеров
- Управление транзакциями, кэширование
- Перехват исключительных ситуаций и обработка ошибок
Стандартизация, сертификация и тех.документирование
Раздел 1. Основы стандартизации
Тема 1.1. Государственная система стандартизации Российской Федерации.
- Обеспечение качества и безопасности процессов, продукции и услуг в сфере информационных технологий, требований международных стандартов серии ИСО 9000 в части создания систем менеджмента качества, структуры и основных требований национальных и международных стандартов в сфере средств информационных технологий
Тема 1.2. Стандартизация в различных сферах.
- Организационная структура технического комитета ИСО 176, модель описания системы качества в стандартах ИСО 9001 и 9004 и модель функционирования системы менеджмента качества (СМК), основанной на процессном подходе.
Тема 1.3. Международная стандартизация.
- Международная стандартизация. Федеральное агентство по техническому регулированию и метрологии РФ и его основные задачи.
- Межгосударственный совет по стандартизации, метрологии и сертификации. Содружества Независимых Государств и других национальных организациях.
Тема 1.4 Организация работ по стандартизации в Российской Федерации.
- Организация работ по стандартизации в Российской Федерации. Правовые основы стандартизации и ее задачи. Органы и службы по стандартизации.
- Порядок разработки стандартов. Государственные контроль и надзор за соблюдением обязательных требований стандартов.
- Маркировка продукции знаком соответствия государственным стандартам.
Тема 1.5. Организация работ по стандартизации в области ИКТ и открытые системы.
- Организация работ по стандартизации в области ИКТ и открытые системы. Федеральное агентство по техническому регулированию и метрологии РФ и его основные задачи.
- Межгосударственный совет по стандартизации, метрологии и сертификации Содружества Независимых Государств и других национальных организациях.
Тема 1.6. Системы менеджмента качества.
- Системы менеджмента качества. Менеджмент качества.
- Предпосылки развития менеджмента качества. Принципы обеспечения качества программных средств.
- Основные международные стандарты в области ИТ: ISO/IEC 9126, ISO/IEC 14598 и ИСО/МЭК 9126-1
Раздел 2. Основы сертификации
Тема 2.1. Сущность и проведение сертификации.
- Основные понятия сертификации. Цели и функции сертификации. Правовые основы сертификации. Понятие о системе сертификации. Процедура сертификации. Формы сертификации. Аккредитация. Сертификация программных продуктов.
- Формирование требовании к характеристикам и качеству программных продуктов. Организация сертификационных испытании программных продуктов на соответствие требованиям
- Подготовка сертификационных программных продуктов испытаний. Сертификационные испытания на соответствие требованиям. Удостоверение качества и завершение сертификационных испытаний программных продуктов
Тема2.2. Нормативно-правовые документы и стандарты в области защиты информации и информационной безопасности
- Нормативно-правовые документы и стандарты в области защиты информации и информационной безопасности. Международные правовые и нормативные акты обеспечения информационной безопасности процессов переработки информации. Отечественное организационное, правовое и нормативное обеспечении и регулирование в сфере информационной безопасности.
- Система менеджмента информационной безопасности. Сертификация систем обеспечения качества. Экологическая сертификация. Сертификация информационно-коммуникационных технологий и система ИНКОМ-ТЕХСЕРТ
Раздел 3. Техническое документоведение
Тема 3.1. Основные виды технической и технологической документации
- Основные виды технической и технологической документации. Виды технической и технологической документации. Стандарты оформления документов, регламентов, протоколов по информационным системам.
Тема 3.2. Стандарты для Веб-разработки
- Перечень стандартов. ГОСТ 19.001-77 Единая система программной документации. Общие положения.
- ГОСТ 19.101-77 ЕСПД. Виды программ и программных документов ГОСТ 19.102-77 ЕСПД. Стадии разработки
- ГОСТ 19.103-77 ЕСПД. Обозначение программ и программных документов
- ГОСТ 19.104-78 ЕСПД. Основные надписи
- ГОСТ 19 105-78 ЕСПД. Общие требования к программным документам
- ГОСТ 19.106-78 ЕСПД. Требования к программным документам, выполненным печатным способом
- ГОСТ 19.201-78 ЕСПД. Техническое задание. Требования к содержанию и оформлению. Сайт –визитка
- ГОСТ Р 52872-2012 Интернет-ресурсы. Требования доступности для инвалидов по зрению
- ГОСТ 34.602-89 Создание ТЗ на портал, интернет-магазин
- ГОСТ 19.202-78 ЕСПД. Спецификация. Требования к содержанию и оформлению ГОСТ 19.401-78 ЕСПД. Текст программы. Требования к содержанию и оформлению.
- ГОСТ 19.402-78 ЕСПД. Описание программы
- ГОСТ 19.404-79 ЕСПД. Пояснительная записка. Требования к содержанию и оформлению
- ГОСТ 19 503-79 ЕСПД. Руководство системного программиста. Требования к содержанию и оформлению
- ГОСТ 19 504-79 ЕСПД. Руководство программиста. Требования к содержанию и оформлению
- ГОСТ 19 505-79 ЕСПД. Руководство оператора. Требования к содержанию и оформлению
- ГОСТ 19.506-79 ЕСПД. Описание языка. Требования к содержанию и оформлению ГОСТ 19.507-79 ЕСПД. Ведомость эксплуатационных документов
- ГОСТ 19.508-79 ЕСПД. Руководство по техническому обслуживанию. Требования к содержанию и оформлению
- ГОСТ Р 56939-2016 Защита информации. Разработка безопасного программного обеспечения. Общие требования.
П.р. №1. Составление документов в соответствии с ГОСТ 19.104-78, ГОСТ 19 105-78, ГОСТ 19.106-78
П.р. №2. Составление документов в соответствии с ГОСТ 19.201-78, ГОСТ 19.202-78
П.р. №3. Составление документов в соответствии с ГОСТ 19.401-78, ГОСТ 19.402-78, ГОСТ 19.404-79
П.р. №4. Составление документов в соответствии с ГОСТ 19.503-79, ГОСТ 19.504-79, ГОСТ 19.505-79
П.р. №5. Составление документов в соответствии с ГОСТ 34.602-89, ГОСТ 19.201-78 ЕСПД, ГОСТ Р 52872-2012