Этот курс помогает студентам освоить необходимые навыки структурированного и объектно-ориентированного программирования. По окончании курса студенты должны понимать основные концепции программирования, такие как управление потоком, объекты, классы, методы, процедурное декомпозицию, наследование и полиморфизм; быть способными писать простые приложения, используя большинство возможностей языка программирования Java и применять принципы хорошей практики программирования на протяжении всего процесса.
По окончании курса студенты должны уметь исследовать, анализировать, проектировать, разрабатывать и поддерживать функционирующие программные системы в соответствии с целями Департамента "Программной инженерии" АУЦА и стандартом компетентности в области ИТ 510300 (ОК 17, 17, 115).
Темы: Структурированное программирование:
Темы: Объектно-ориентированное программирование
Курс "Safety Management for SFW" является вводным и охватывает наиболее важные аспекты безопасности программного обеспечения с точки зрения разработчика. Этот курс, оцениваемый в 3 кредита, фокусируется на темах построения безопасного, надежного и устойчивого программного обеспечения. В ходе этого курса мы подробно рассматриваем низкоуровневые языки программирования, такие как C, C++ и ассемблер, их взаимосвязь с базовым аппаратным обеспечением. Мы пытаемся понять, как решения в области дизайна таких фундаментальных технологий, используемых для создания основных систем вокруг нас, и их взаимосвязи могут повлиять на устойчивость и безопасность виртуального и реального мира.
Курс "The IT Essentials" затрагивает фундаментальные аспекты аппаратного и программного обеспечения компьютера, а также расширенные концепции, такие как безопасность, сети и обязанности IT-специалиста. Он предназначен для студентов, желающих заниматься карьерой в сфере информационных и коммуникационных технологий, а также для тех, кто хочет получить практические знания о том, как работает компьютер. Студенты, завершившие курс COM-108, смогут описать внутренние компоненты компьютера, собрать компьютерную систему, установить операционную систему и осуществлять устранение неисправностей с помощью системных инструментов и диагностического программного обеспечения. Они также смогут подключаться к Интернету и делиться ресурсами в сетевой среде. Новые темы в этой версии включают мобильные устройства, такие как планшеты и смартфоны, а также виртуализацию на клиентской стороне. Расширенные темы включают безопасность, сети и устранение неполадок. Практические лабораторные занятия являются важными элементами, встроенными в учебный план.
Включение Packet Tracer поддерживает соответствие новым целям сертификации CompTIA A+. Этот курс помогает студентам подготовиться к сертификации CompTIA A+, в частности к экзамену Essentials.
Цели обучения:
Цель курса заключается в передаче знаний о классических структурах данных и алгоритмах, базовых как для практической, так и для теоретической частей компьютерных наук. Краткий список структур данных и алгоритмов, изучаемых в этом курсе: динамические массивы, связанные списки, хеш-таблицы, бинарные деревья, линейный поиск, бинарный поиск. Особое внимание в курсе будет уделено STL-части стандартной библиотеки C++: классам string, vector, list, set, unordered_set, map, unordered_map и стандартным алгоритмам.
Язык программирования и программные инструменты курса:
Студенты должны выполнять лабораторные работы и проекты, используя стандартный C++ и любые компиляторы, поддерживающие стандартный C++ и интерфейс командной строки.
Производительность алгоритмов. O-notation
Linked lists. Класс list стандартной библиотеки C++
Двусвязные и односвязные списки.
Hashing. Классы unordered_set и unordered_map стандартной библиотеки C++.
Реализация класса HashSet
Binary Search Trees. Классы set и map стандартной библиотеки C++
Реализация класса BinarySearchTree
Рекурсия. Возврат к началу
Алгоритмы сортировки: insertion sort, merge sort, quick sort
Heap, heap sort
Графы. Breadth-first Search, depth-first search,
Топологическая сортировка.
Взвешенные графы. Кратчайший путь.
Взвешенные графы. Минимальное остовное дерево.
Динамическое программирование. Наибольшая общая подпоследовательность
Алгоритмы стандартной библиотеки C++.
Курс знакомит студентов с темой компьютерной архитектуры и организации. Студенты сосредоточатся на изучении структуры и проектировании современных центральных процессорных устройств. Они узнают основы наборов инструкций x86-64 и aarch64, языков ассемблера для этих платформ, а также представление структур высокоуровневых языков в низкоуровневых языках.
По завершении курса студенты должны иметь возможность исследовать, анализировать, проектировать, разрабатывать и поддерживать программное обеспечение на низкоуровневых языках программирования в соответствии с целями направления "Программной инженерии" АУЦА и стандартом компетенции в области информационных технологий 510300 (ОК 17, 17, 115).
Темы курса:
Курс знакомит студентов с основами проектирования и реализации операционных систем. Темы включают обзор компонентов операционной системы, синхронизацию, реализацию процессов, алгоритмы планирования, управление памятью и файловые системы. Этот курс предназначен для студентов, обучающихся по направлению "Программная инженерия".
По мере того как скорость CPU начала превышать 3,5 ГГц, дальнейшее увеличение скорости CPU стало достигать предела. В результате производители компьютеров начали создавать машины с несколькими CPU. Вскоре были разработаны техники программирования этих многопроцессорных машин. В этот же временной промежуток появились графические процессоры (GPU), программно-программируемые вентильные матрицы (FPGAs) и другие типы гетерогенных вычислительных технологий и интегральных схем. Гетерогенные вычисления предоставляют эффективные способы решения конкретных видов вычислительных задач. В настоящее время большинство современных вычислений, особенно серверных или облачных вычислений, распределено на гетерогенных вычислительных машинах. Современный программный инженер, заинтересованный в быстром и эффективном [облачном] вычислении, должен понимать, когда и как использовать такие технологии. Этот курс предоставляет введение и базовые знания по этим темам с особым акцентом на:
ЦЕЛИ И РЕЗУЛЬТАТЫ
По окончании курса студенты смогут:
Курс учит студентов основам компьютерной графики через разработку трехмерного движка в серии лабораторных заданий на протяжении всего курса. Студенты изучат, как работать с графическими ускорителями с помощью API OpenGL ES для создания качественных трехмерных компьютерных изображений, анимаций или интерактивных приложений. В результате студенты должны быть способны исследовать и анализировать функционирование сложной системы реального времени, улучшать свои навыки в использовании языков программирования для проектирования и разработки программного обеспечения в соответствии с целями направления "Программной инженерии" АУЦА и стандартом компетенции в области ИТ (включая элементы компетенции ОК 1–7, 1–7, 1–15).
Темы курса:
Курс знакомит студентов с "Программной инженерией", обучая каждого из отдельных этапов жизненного цикла программного обеспечения: определение требований, проектирование, кодирование, тестирование и поставка программного обеспечения. Курс включает в себя оценку человеко-месяцев для завершения проекта и написание проектных предложений. Помимо теории, студенты пройдут через все этапы разработки программного обеспечения на собственных проектах.
Это двухсеместровый курс, разработанный для студентов, изучающих программную инженерию. Курс знакомит студентов с инженерией программного обеспечения, предоставляя информацию о ключевых процессах.
Освещаемые темы:
Все студенты, обучающиеся по специальности "Программная Инженерия", должны успешно завершить двухсеместровый Курсовой Проект/Дипломный проект в свой последний год обучения. Дипломный проект/Курсовой проект представляет собой завершающий опыт студента в данной области. Студенты, получающие два диплома в другой области, могут предложить междисциплинарные проекты по своему выбору.
К концу курса студент сможет:
Содержание курса
Курс включает в себя разработку приложения или исследование актуальной проблемы в области "Программной инженерии". Проблема определяется студентами и должна иметь практическую и/или теоретическую значимость для данной области. Студенты работают индивидуально или в парах, предпочтительно в корпоративной среде, где исследуется проблема, которую они рассматривают. Исследование должно быть задокументировано в виде письменного отчета.