偶蜜国际传媒

偶蜜国际传媒 - 偶蜜国际传媒 - REQUIRED COURSES

COURSE DESCRIPTION OF REQUIRED COURSES

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

This course helps to equip students with essential skills needed for structured and听object-oriented programming. At the completion of the course, students should understand fundamental programming concepts such as flow control, objects, classes,听methods, procedural decomposition, inheritance, and polymorphism; be able to听write simple applications using most of the capabilities of the Java programming听language and apply principles of good programming practices throughout the process.

At the end of the course, students should be able to research, analyze, design,听develop, and maintain functioning software systems in accord with the goals of the听偶蜜国际传媒 Software Engineering Department and the 510300 IT competency standard听(OK 17, 17, 115).

Topics: Structured Programming:

  1. Introduction to the Process of Software Development (6 hours)
  2. Selections (9 hours)
  3. Loops (12 hours)
  4. Methods (9 hours)
  5. Single and Multidimensional Arrays (6 hours)

Topics: Object-oriented Programming

  1. Objects and Classes (9 hours)
  2. Inheritance and Polymorphism (9 hours)
  3. Abstract Classes and Interfaces (6 hours)
  4. Exception Handling (6 hours)
  5. GUI and Computer Graphics Basics (6 hours)
  6. Generics and Container Classes (6 hours)
  7. Working with I/O (6 hours)

Safety Management and Economics COM-120 COM-121

Safety Management for SFW is an introductory course covering the most important听aspects of Software System Safety from a developer鈥檚 point of view. The 3-credit听course focuses on topics of building secure, safe, and sustainable software. This听course takes an in-depth look into low-level programming languages such as C,听C++, and assembly, their relationship with the underlying hardware. We try to听understand how design decisions of such foundational technologies, used to build听core systems around us, and their relationships may influence virtual and real-world听sustainability and safety.

Introduction to Software Engineering and Informatics听COM-108

The IT Essentials course covers the fundamentals of computer hardware and software and advanced concepts such as security, networking, and the responsibilities of an IT professional. It is designed for students who want to pursue careers in ICT and students who want to gain practical knowledge of how a computer works. Students who complete COM-108 will be able to describe the internal components of a computer, assemble a computer system, install an operating system, and troubleshoot using system tools and diagnostic software. Students will also be able to connect to the Internet and share resources in a networked environment. New topics in this version include mobile devices such as tablets and smartphones and client-side virtualization. Expanded topics include security, networking, and troubleshooting. Hands-on lab activities are essential elements that are integrated into the curriculum.听

The inclusion of Packet Tracer supports alignment with the new CompTIA A+ certification objectives. This course helps students prepare for the CompTIA鈥檚 A+ certification, most importantly the Essentials exam.

Learning Objectives:

  • Define information technology (IT) and describe the components of a personal computer
  • Describe how to protect people, equipment, and the environment from accidents, damage, and contamination
  • Perform a step-by-step assembly of a desktop computer
  • Explain the purpose of preventive maintenance and identify the elements of the troubleshooting process
  • Install and navigate an operating system
  • Configure computers to connect to a network
  • Upgrade or replace components of a laptop based on customer needs
  • Describe the features and characteristics of mobile devices
  • Install and share a printer
  • Implement basic hardware and software security principles
  • Apply good communications skills and demonstrate professional behavior while working with customers
  • Perform preventive maintenance and basic troubleshooting
  • Assess customer needs, analyze possible configurations, and provide solutions or recommendations for hardware, operating systems, networking, and security

Algorithms and data structures听COM 223.1 3114

The goal of the course is to give knowledge of classic data structures and algorithms听basic for both practical and theoretical parts of computer science. A brief list of data听structures and algorithms studied in this course: dynamic arrays, linked lists, hash tables, binary trees, linear search, binary search. Special emphasis in the course will be听done on the STL part of the C++ standard library: classes string, vector, list, set,听unordered_set, map, unordered map, and standard algorithms.

Programming language and software tools of the course:
Students have to do lab works and projects using standard C++ and any compilers听that support standard C++ and command-line interface.

  1. Performance of algorithms. O-notation

  2. Linked lists. Class list of standard library C++

  3. Doubly linked lists and single linked lists.

  4. Hashing. Classes unordered_set and unordered_map of standard library C++.

  5. Implementation of class HashSet听

  6. Binary Search Trees. Classes set and map of standard library C++听

  7. Implementation of class BinarySearchTree

  8. Recursion. Backtracking

  9. Sort algorithms: insertion sort, merge sort, quick sort听

  10. Heap, heap sort听

  11. Graphs. Breadth-first Search, depth-first search,

  12. Topological sort.听

  13. Weighted graphs. Shortest path.

  14. Weighted graphs. Minimum spanning tree.听

  15. Dynamic Programming. Longest common subsequence problem

  16. Algorithms of standard library C++.

Computer Architecture听COM 410 3268

The course introduces students to the topic of computer architecture and organization. Students will focus on studying the structure and design of modern central听processing units. Students will learn the basics of the x86-64 and aarch64 instruction听sets, the assembly languages for the platforms, and the representation of high-level听language structures in the low-level languages.
At the end of the course, students should be able to research, analyze, design,听develop, and maintain the software in low-level programming languages in accord with the听goals of the 偶蜜国际传媒 Software Engineering Department and the 510300 IT competency听standard (OK 17, 17, 115).

Topics Covered

  1. The modern computer architectures and organization
  2. The x86-64 and ARM64 assembly languages
  3. Representation of high-level language structures in low-level assembly languages
  4. Acceleration with SIMD instructions
  5. System emulation

Operating Systems听COM 341.1 3325

The course introduces students to the fundamentals of operating systems design and implementation. Topics include an overview of the components of an operating听system, synchronization, implementation of processes, scheduling algorithms, memory management, and file systems. This course is designed for Software Engineering听majors and minors.

  1. Processes
    Scheduling
    Inter-process Communication
  2. Memory Management
    Segmentation
    Virtual Memory Management
    Page Replacement Algorithms
    Swapping
  3. File Systems
    File System Implementation
    Protection Mechanisms
  4. Input & Output
    Principles of I/O Hardware & Software
    Deadlocks
    RAM Disks
    Disks
    Terminals

System Programming听COM 392 (Formerly COM 451.1 鈥 Parallel & Distributed Programming)

As CPU speeds began to exceed 3.5 GHz, further CPU speed increases started to reach a limit. As a result, computer manufacturers began building machines with multiple CPUs.听Techniques for programming these multi-core machines were听soon developed. In this same time frame, graphical processing听units (GPUs), Field Programmable Gate Arrays (FPGAs), and听other types of heterogeneous computing technologies and听integrated circuits also emerged. Heterogeneous computing听provides efficient ways of addressing specific types of听computing needs. Today, most modern computing and
especially server-side or cloud computing is distributed across听heterogeneous computing machines. The modern software engineer who is interested in fast and efficient [cloud-based] computing must appreciate when and how to use such听technologies. This course provides an introduction and
grounding on these topics with a special focus on:

  1. 颁笔鲍听尘耻濒迟颈迟丑谤别补诲颈苍驳,
  2. GPU programming, and
  3. running cloud-based computation-intense algorithms using both multithreading听and GPU processing.

AIMS AND OUTCOMES

By the end of this course, students will:

  1. be able to write a multi-threaded C/C++ program that
    makes use of multiple CPU cores
  2. be able to write a program that makes use of tens of
    thousands of GPU processing cores, and taking
    advantage of different types of GPU memory
  3. be able to reason about how to design a program that
    solves computation-intense problems regardless of
    programming language used

Computer Graphics听COM 391 4954

The course teaches students the fundamentals of computer graphics through a process听of developing a 3-D engine in a series of laboratory tasks throughout the course.
Students will study how to work with graphics accelerators with the help of the听OpenGL ES API to deliver rich 3-D computer-generated images, animations, or听interactive applications. As a result, students should be able to research and analyze the functioning听of a complex real-time computational system, improve their skills using programming languages for software design and development in accord with the goals of the听偶蜜国际传媒 Software Engineering Department and the 510300 IT competency standard (including competency elements OK 1鈥7, 1鈥7, 1鈥15).

Topics Covered

  1. Introduction, Brief History, Dev. Environment, First Program (6 hours)
  2. Vectors, Matrices, Scene Graph, Camera (6 hours)
  3. Geometry, Buffer Objects, GPU Pipeline (6 hours)
  4. Materials, Shading, GLSL (6 hours)
  5. Lambert, Phong, Blinn-Phong Shading (3 hours)
  6. Texturing and Mapping (6 hours)
  7. Procedural Geometry (3 hours)
  8. Particle Systems, Rendering Optimizations (6 hours)
  9. Real-time Graphics in Games, Building a Game with your Engine听(6 hours)

Software Engineering I, II听COM 421, 430

The course introduces students to software engineering, teaching each of the听individual steps of the software life cycle: requirements, design, coding, testing, and听software delivery. The course covers estimating man-months to complete a project and听writing project proposals. Along with the theory, students will go through all the听stages of software development on their own projects.
This is a two-semester course designed for Software Engineering majors and minors.听The course introduces students to software engineering, providing information on key听processes.

Topics Covered

  1. Software engineering concepts
  2. Software development methodologies
  3. Agile software development
  4. Requirements engineering
  5. System design and modeling
  6. System implementation
  7. Software testing
  8. Software evolution
  9. Project management
  10. Dependability and security

Senior Project Preparation I听 II COM 431.1 COM 433

All students majoring in Software Engineering are required to complete a 2 semester-long Senior Project/Thesis in their senior year. A Senior Project/Thesis represents a student鈥檚 capstone experience in the discipline. Students completing a double major in another field are encouraged to propose interdisciplinary projects of their choosing.

By the end of the course, the student will be able to:

  • Knowledge and understanding听
    • identify a research, development, business topic and development question is within the software engineering domain听听
    • understand the use of a development method for planning a research, development or business application project听听
    • understand the current practice within the software engineering domain and the way in which practical problems and academic research may be related
  • Skills and abilities
    • formulate a research, development question relevant in the software engineering domain听听
    • systematically solve a research, development problem relevant in the software engineering domain听听
    • apply a research, development method for solving a problem relevant to the topic听听
    • combine theories, models and/or methods relevant to the topic听听
    • plan and conduct a research, development project and document this in a written report听听
    • integrate knowledge in a systematic and critical way in order to achieve and present knowledge relevant to the software engineering domain听听
    • communicate this knowledge in an academic environment, i.e. to present the research results to an academic audience
  • Judgment and approach
    • understand the software engineering domain and the research areas relevant to this domain听听
    • reflect on the importance of how research can be communicated in an academic environment听听
    • use the knowledge from this course as a basis for entering the research community within the software engineering domain.

Course content

The course involves an application development or investigation of a relevant problem in the Software Engineering domain. The problem is identified by the students and should have practical and/or theoretical relevance for the SE domain. Students work individually or in pairs preferably within a company setting in which the problem they address is investigated. The investigation should be documented in the form of a written report.

偶蜜国际传媒
7/6 Aaly Tokombaev Street
Bishkek, Kyrgyz Republic 720060

Tel.: +996 (312) 915000 + 袝xt.
Fax: +996 (312) 915 028

听 听 听听听听 听