Для студентов СПбГУ по предмету ДругиеРасширяемый генератор синтаксически корректных программ для обучения программированиюРасширяемый генератор синтаксически корректных программ для обучения программированию
4,955921
2024-08-052024-08-05СтудИзба
Курсовая работа: Расширяемый генератор синтаксически корректных программ для обучения программированию
Описание
Содержание
2
3
Введение
| Введение................................... | 4 | ||
| Постановказадачи............................. | 5 | ||
| Глава 1. | Обзор и сравнение существующих генераторов программ- | ||
| ногокода ............................. | 6 | ||
| 1.1. | Понятие генерации программного кода . . . . . . . . . . . . | 6 | |
| 1.2. | Automated C++ Program Generator using English Language | ||
| Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 7 | ||
| 1.3. | Automatic code generation for C and C++ programming . . . . | 7 | |
| 1.4. | Csmith . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 7 | |
| 1.5. | Liveness-Driven Random Program Generation (ldrgen) . . . . . | 7 | |
| 1.6. | Yarpgen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 8 | |
| 1.7. | Deepsmith . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 8 | |
| 1.8. | SL Random Program Generator . . . . . . . . . . . . . . . . . | 8 | |
| 1.9. | Pyfuzz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . | 8 | |
| 1.10. Сравнительный анализ найденных инструментов и статей . . | 8 | ||
| 1.10.1 | Результатысравнения ................... | 11 | |
| Глава 2. | Разработка инструмента генерации программ . . . . . . . | 12 | |
| 2.1. | Требования к системе генерации . . . . . . . . . . . . . . . . | 12 | |
| 2.2. | Схемагенерациипрограмм . . . . . . . . . . . . . . . . . . . | 12 | |
| 2.3. | Промежуточное представление . . . . . . . . . . . . . . . . | 13 | |
| 2.4. | Шаблоныпрограмм....................... | 14 | |
| 2.5. | Архитектурасистемы...................... | 15 | |
| 2.6. | Компонентысистемы...................... | 17 | |
| 2.6.1 | Веб-сервер ......................... | 17 | |
| 2.6.2 | Исполнительпрограмм .................. | 17 | |
| 2.6.3 Базаданных......................... | 17 | ||
| 2.6.4 | Сторонаклиента...................... | 17 | |
| 2.6.5 Менеджершаблонов.................... | 18 | ||
| Глава 3. | Реализация инструмента генерации программ . . . . . . . | 19 | |
| 3.1. | Используемыетехнологии . . . . . . . . . . . . . . . . . . . | 19 | |
| | | | |
2
| 3.1.1 | Менеджершаблонов.................... | 19 | |
| 3.1.2 | Веб-сервер ......................... | 20 | |
| 3.1.3 | Базаданных......................... | 20 | |
| 3.1.4 | Исполнительпрограмм .................. | 20 | |
| 3.2. | Шаблоныпрограмм....................... | 21 | |
| 3.2.1 | Внутреннее представление шаблона . . . . . . . . . . . | 21 | |
| 3.2.2 | Конструирование шаблонов . . . . . . . . . . . . . . . . | 23 | |
| 3.3. | Промежуточное представление (AST) . . . . . . . . . . . . . | 25 | |
| 3.4. | Генерация текста программы . . . . . . . . . . . . . . . . . . | 25 | |
| 3.5. | API................................ | 26 | |
| 3.6. | Проверкаответов........................ | 27 | |
| Заключение................................. | 28 | ||
| Списоклитературы ............................ | 29 | ||
| | | | |
3
Введение
- настоящее время знание языка программирования является необхо-димым для специалиста в отрасли информационных технологий, а обучение им - крайне востребованным. На сегодняшний день программы по обучению языкам программирования есть не только в университетах, но и на различных образовательных платформах в интернете. В связи с ростом числа учащихся подобных курсов и ослабления контакта между студентом и преподавателем острее встает проблема создания учебных материалов, в частности практиче-ских заданий. Требуется создавать их в большем объеме и в то же время де-лать их разнообразными во избежание списывания. Специфически для курсов по изучению языков программирования возникает необходимость создания множества примеров программ на определенную тему или по конкретному шаблону. Создание подобных примеров вручную в нескольких вариантах (в идеале по отдельности для каждого ученика) затруднительно. Таким образом, создание удобного программного инструмента, позволяющего автоматиче-ски генерировать примеры кода на различных языках программирования для учебных задач представляет собой актуальную проблему.
Характеристики курсовой работы
Список файлов
Расширяемый генератор синтаксически корректных программ для обучения программированию.doc
Комментарии
Нет комментариев
Стань первым, кто что-нибудь напишет!
СПбГУ
Tortuga














