Американский Университет в Центральной Азии - АУЦА - ОБЯЗАТЕЛЬНЫЕ ПРЕДМЕТЫ

ОПИСАНИЕ ОБЯЗАТЕЛЬНЫХ ПРЕДМЕТОВ

Structured Programming, Object-oriented Programming COM 118, COM 119

Этот курс помогает студентам освоить необходимые навыки структурированного и объектно-ориентированного программирования. По окончании курса студенты должны понимать основные концепции программирования, такие как управление потоком, объекты, классы, методы, процедурное декомпозицию, наследование и полиморфизм; быть способными писать простые приложения, используя большинство возможностей языка программирования Java и применять принципы хорошей практики программирования на протяжении всего процесса.

По окончании курса студенты должны уметь исследовать, анализировать, проектировать, разрабатывать и поддерживать функционирующие программные системы в соответствии с целями Департамента "Программной инженерии" АУЦА и стандартом компетентности в области ИТ 510300 (ОК 17, 17, 115).

Темы: Структурированное программирование:

  1. Введение в процесс разработки программного обеспечения (6 часов)
  2. Выборы (9 часов)
  3. Циклы (12 часов)
  4. Методы (9 часов)
  5. Одномерные и многомерные массивы (6 часов)

Темы: Объектно-ориентированное программирование

  1. Объекты и классы (9 часов)
  2. Наследование и полиморфизм (9 часов)
  3. Абстрактные классы и интерфейсы (6 часов)
  4. Обработка исключений (6 часов)
  5. Основы GUI и компьютерной графики (6 часов)
  6. Обобщения и контейнерные классы (6 часов)
  7. Работа с вводом/выводом (6 часов)

Safety Management and Economics COM-120 COM-121

Курс "Safety Management for SFW" является вводным и охватывает наиболее важные аспекты безопасности программного обеспечения с точки зрения разработчика. Этот курс, оцениваемый в 3 кредита, фокусируется на темах построения безопасного, надежного и устойчивого программного обеспечения. В ходе этого курса мы подробно рассматриваем низкоуровневые языки программирования, такие как C, C++ и ассемблер, их взаимосвязь с базовым аппаратным обеспечением. Мы пытаемся понять, как решения в области дизайна таких фундаментальных технологий, используемых для создания основных систем вокруг нас, и их взаимосвязи могут повлиять на устойчивость и безопасность виртуального и реального мира.

Introduction to Software Engineering and Informatics COM-108

Курс "The IT Essentials" затрагивает фундаментальные аспекты аппаратного и программного обеспечения компьютера, а также расширенные концепции, такие как безопасность, сети и обязанности IT-специалиста. Он предназначен для студентов, желающих заниматься карьерой в сфере информационных и коммуникационных технологий, а также для тех, кто хочет получить практические знания о том, как работает компьютер. Студенты, завершившие курс COM-108, смогут описать внутренние компоненты компьютера, собрать компьютерную систему, установить операционную систему и осуществлять устранение неисправностей с помощью системных инструментов и диагностического программного обеспечения. Они также смогут подключаться к Интернету и делиться ресурсами в сетевой среде. Новые темы в этой версии включают мобильные устройства, такие как планшеты и смартфоны, а также виртуализацию на клиентской стороне. Расширенные темы включают безопасность, сети и устранение неполадок. Практические лабораторные занятия являются важными элементами, встроенными в учебный план.

Включение Packet Tracer поддерживает соответствие новым целям сертификации CompTIA A+. Этот курс помогает студентам подготовиться к сертификации CompTIA A+, в частности к экзамену Essentials.

Цели обучения:

  • Определить информационные технологии (IT) и описать компоненты персонального компьютера
  • Описать методы защиты людей, оборудования и окружающей среды от несчастных случаев, повреждений и загрязнения
  • Выполнить пошаговую сборку настольного компьютера
  • Объяснить цель профилактического обслуживания и идентифицировать элементы процесса устранения неисправностей
  • Установить и ориентироваться в операционной системе
  • Настроить компьютеры для подключения к сети
  • Обновить или заменить компоненты ноутбука в соответствии с потребностями клиента
  • Описать особенности и характеристики мобильных устройств
  • Установить и подключить принтер
  • Применять основные принципы аппаратной и программной безопасности
  • Применять хорошие коммуникационные навыки и профессиональное поведение при работе с клиентами
  • Выполнять профилактическое обслуживание и осуществлять базовое устранение неполадок
  • Оценить потребности клиента, проанализировать возможные конфигурации и предложить решения или рекомендации по аппаратному обеспечению, операционным системам, сетям и безопасности.

Algorithms and data structures COM 223.1 3114

Цель курса заключается в передаче знаний о классических структурах данных и алгоритмах, базовых как для практической, так и для теоретической частей компьютерных наук. Краткий список структур данных и алгоритмов, изучаемых в этом курсе: динамические массивы, связанные списки, хеш-таблицы, бинарные деревья, линейный поиск, бинарный поиск. Особое внимание в курсе будет уделено STL-части стандартной библиотеки C++: классам string, vector, list, set, unordered_set, map, unordered_map и стандартным алгоритмам.

Язык программирования и программные инструменты курса:
Студенты должны выполнять лабораторные работы и проекты, используя стандартный C++ и любые компиляторы, поддерживающие стандартный C++ и интерфейс командной строки.

  1. Производительность алгоритмов. O-notation

  2. Linked lists. Класс list стандартной библиотеки C++

  3. Двусвязные и односвязные списки.

  4. Hashing. Классы unordered_set и unordered_map стандартной библиотеки C++.

  5. Реализация класса HashSet 

  6. Binary Search Trees. Классы set и map стандартной библиотеки C++

  7. Реализация класса BinarySearchTree

  8. Рекурсия. Возврат к началу

  9. Алгоритмы сортировки: insertion sort, merge sort, quick sort 

  10. Heap, heap sort 

  11. Графы. Breadth-first Search, depth-first search,

  12. Топологическая сортировка. 

  13. Взвешенные графы. Кратчайший путь.

  14. Взвешенные графы. Минимальное остовное дерево. 

  15. Динамическое программирование. Наибольшая общая подпоследовательность

  16. Алгоритмы стандартной библиотеки C++.

Computer Architecture COM 410 3268

Курс знакомит студентов с темой компьютерной архитектуры и организации. Студенты сосредоточатся на изучении структуры и проектировании современных центральных процессорных устройств. Они узнают основы наборов инструкций x86-64 и aarch64, языков ассемблера для этих платформ, а также представление структур высокоуровневых языков в низкоуровневых языках.

По завершении курса студенты должны иметь возможность исследовать, анализировать, проектировать, разрабатывать и поддерживать программное обеспечение на низкоуровневых языках программирования в соответствии с целями направления "Программной инженерии" АУЦА и стандартом компетенции в области информационных технологий 510300 (ОК 17, 17, 115).

Темы курса:

  1. Современные компьютерные архитектуры и организация
  2. Языки ассемблера x86-64 и ARM64
  3. Представление структур высокоуровневых языков в низкоуровневых языках ассемблера
  4. Ускорение с помощью инструкций SIMD
  5. Эмуляция системы

Operating Systems COM 341.1 3325

Курс знакомит студентов с основами проектирования и реализации операционных систем. Темы включают обзор компонентов операционной системы, синхронизацию, реализацию процессов, алгоритмы планирования, управление памятью и файловые системы. Этот курс предназначен для студентов, обучающихся по направлению "Программная инженерия".

  1. Процессы
    Планирование
    Межпроцессное взаимодействие
  2. Управление памятью
    Сегментация
    Управление виртуальной памятью
    Алгоритмы замещения страниц
    Переключение
  3. Файловые системы
    Реализация файловой системы
    Механизмы защиты
  4. Ввод и вывод
    Принципы of I/O Hardware & Software
    Deadlocks
    RAM диски
    Диски
    Терминалы

System Programming COM 392 (Formerly COM 451.1 – Parallel & Distributed Programming)

По мере того как скорость CPU начала превышать 3,5 ГГц, дальнейшее увеличение скорости CPU стало достигать предела. В результате производители компьютеров начали создавать машины с несколькими CPU. Вскоре были разработаны техники программирования этих многопроцессорных машин. В этот же временной промежуток появились графические процессоры (GPU), программно-программируемые вентильные матрицы (FPGAs) и другие типы гетерогенных вычислительных технологий и интегральных схем. Гетерогенные вычисления предоставляют эффективные способы решения конкретных видов вычислительных задач. В настоящее время большинство современных вычислений, особенно серверных или облачных вычислений, распределено на гетерогенных вычислительных машинах. Современный программный инженер, заинтересованный в быстром и эффективном [облачном] вычислении, должен понимать, когда и как использовать такие технологии. Этот курс предоставляет введение и базовые знания по этим темам с особым акцентом на:

  1. Многопоточное программирование ЦП,
  2. Программирование графических процессоров (GPU),
  3. Выполнение алгоритмов вычислений, интенсивных по вычислениям, в облаке, используя как многопоточную обработку, так и обработку на GPU.

ЦЕЛИ И РЕЗУЛЬТАТЫ

По окончании курса студенты смогут:

  1. писать multi-threaded программу на С/С++, использующую несколько ядер ЦП,
  2. писать программу, использующую десятки тысяч ядер графического процессора и использующую различные виды памяти графического процессора,
  3. разрабатывать программы для решения вычислительно интенсивных задач, независимо от используемого языка программирования.

Computer Graphics COM 391 4954

Курс учит студентов основам компьютерной графики через разработку трехмерного движка в серии лабораторных заданий на протяжении всего курса. Студенты изучат, как работать с графическими ускорителями с помощью API OpenGL ES для создания качественных трехмерных компьютерных изображений, анимаций или интерактивных приложений. В результате студенты должны быть способны исследовать и анализировать функционирование сложной системы реального времени, улучшать свои навыки в использовании языков программирования для проектирования и разработки программного обеспечения в соответствии с целями направления "Программной инженерии" АУЦА и стандартом компетенции в области ИТ (включая элементы компетенции ОК 1–7, 1–7, 1–15).

Темы курса:

  1. Введение, краткая история, окружение разработки, первая программа (6 часов)
  2. Векторы, матрицы, сценовый граф, камера (6 часов)
  3. Геометрия, буферные объекты, конвейер GPU (6 часов)
  4. Материалы, теневые эффекты, GLSL (6 часов)
  5. Освещение Ламберта, Фонга, Блинна-Фонга (3 часа)
  6. Текстурирование и картографирование (6 часов)
  7. Процедурная геометрия (3 часа)
  8. Системы частиц, оптимизация рендеринга (6 часов)
  9. Графика в реальном времени в играх, создание игры с использованием вашего движка (6 часов)

Software Engineering I, II COM 421, 430

Курс знакомит студентов с  "Программной инженерией", обучая каждого из отдельных этапов жизненного цикла программного обеспечения: определение требований, проектирование, кодирование, тестирование и поставка программного обеспечения. Курс включает в себя оценку человеко-месяцев для завершения проекта и написание проектных предложений. Помимо теории, студенты пройдут через все этапы разработки программного обеспечения на собственных проектах.
Это двухсеместровый курс, разработанный для студентов, изучающих программную инженерию. Курс знакомит студентов с инженерией программного обеспечения, предоставляя информацию о ключевых процессах.

Освещаемые темы:

  1. Концепции инженерии программного обеспечения
  2. Методологии разработки программного обеспечения
  3. Гибкая разработка программного обеспечения
  4. Определение требований
  5. Проектирование и моделирование системы
  6. Реализация системы
  7. Тестирование программного обеспечения
  8. Эволюция программного обеспечения
  9. Управление проектами
  10. Надежность и безопасность

Senior Project Preparation I  II COM 431.1 COM 433

Все студенты, обучающиеся по специальности "Программная Инженерия", должны успешно завершить двухсеместровый Курсовой Проект/Дипломный проект в свой последний год обучения. Дипломный проект/Курсовой проект представляет собой завершающий опыт студента в данной области. Студенты, получающие два диплома в другой области, могут предложить междисциплинарные проекты по своему выбору.

К концу курса студент сможет:

  • Знания и понимание
    • определить тему и вопрос исследования, разработки или бизнеса в области программной инженерии
    • понимать использование метода разработки для планирования проекта исследования, разработки или бизнес-приложения  
    • понимать текущую практику в области программной инженерии и взаимосвязь практических проблем и академических исследований
  • Навыки и умения
    • сформулировать вопрос исследования, разработки, релевантный в области программной инженерии
    • систематически решать проблемы исследования, разработки, релевантные в области программной инженерии
    • применять метод исследования, разработки для решения проблемы, релевантной теме
    • объединять теории, модели и/или методы, релевантные теме
    • планировать и проводить проект исследования, разработки и документировать его в письменном отчете
    • интегрировать знания систематическим и критическим образом для достижения и представления знаний, релевантных в области программной инженерии
    • коммуницировать эти знания в академической среде, т.е. представить результаты исследования перед академической аудиторией
  • Суждение и подход
    • понимать область программной инженерии и области исследования, релевантные этой области
    • размышлять о важности коммуникации исследований в академической среде
    • использовать знания из этого курса как основу для вступления в исследовательское сообщество в области программной инженерии.

Содержание курса

Курс включает в себя разработку приложения или исследование актуальной проблемы в области "Программной инженерии". Проблема определяется студентами и должна иметь практическую и/или теоретическую значимость для данной области. Студенты работают индивидуально или в парах, предпочтительно в корпоративной среде, где исследуется проблема, которую они рассматривают. Исследование должно быть задокументировано в виде письменного отчета.

American University of Central Asia
7/6 Aaly Tokombaev Street
Bishkek, Kyrgyz Republic 720060

Тел.: +996 (312) 915000 + Вн.
Факс: +996 (312) 915 028
Контакты АУЦА