Professional Documents
Culture Documents
Learning outcomes:
Students successfully completing this course will be able to:
translate numbers from one system to another;
distinguish between different cryptoalgorithms;
apply cloud and e-government services;
install Microsoft operating systems;
set up simple networks;
create simple macros in MS Office applications;
design simple databases, web sites and presentations;
analyze web sites against 10 heuristics
Learning outcomes:
Students successfully completing this course will be able to:
master tools and methods of research conducting;
apply methods and procedures to work with diverse pools of scientific information, scientific
literature; the current standards and rules of preparing scientific papers for publication;
correctly articulate the research results;
reasonably defend and justify the obtained results.
Code: OIB 4303
Course: Basics of Information Security.
Credits: 3
Semester: 6
Prerequisites: NA
Post requisites: NA
Description: This course focuses on the fundamentals of information security that are used in
protecting both the information present in computer storage as well as information traveling over
computer networks. Interest in information security has been spurred by the pervasive use of
computer-based applications such as information systems, databases, and the Internet.
Information security has also emerged as a national goal in the United States and in other
countries with national defense and homeland security implications. Information security is
enabled through securing data, computers, and networks. In this course, we will look into such
topics as fundamentals of information security, computer security technology and principles,
access control mechanisms, cryptography algorithms, software security, physical security, and
security management and risk assessment. By the end of this course, you will be able to describe
major information security issues and trends.
Learning outcomes:
Students successfully completing the course will be able to:
encrypt and decrypt data using programming languages: simple encryption methods (Caesar,
Magic square, Vizhiner), symmetric ciphers (DES, Blowfish), asymmetric encryption (RSA);
programmatically implement a key transfer protocol using the Diffie-Hellman algorithm;
use cryptanalysis tools to crack the private text and find the encryption key;
write risk map of the organization applying on the safety standards (ISO-27000).
Learning outcomes:
Students successfully completing this course will be able to:
work in SQL Developer software to produce SQL queries and PL/SQL programs;
design and implement simple and complex SQL queries to retrieve information from a
database;
write queries to manipulate data in databases and to manage various database objects;
develop simple programs in PL/SQL to process retrieved data;
analyze the structure of SQL queries and PL/SQL programs on the subject of their efficiency;
evaluate the outcome and projected results of SQL queries and PL/SQL programs.
Learning outcomes:
Students successfully completing this course will be able to:
organize, browse, edit and manage a variety of file types;
develop, validate and debug simple interactive websites using HTML, CSS and JavaScript;
describe basic software-development tools, processes, and concepts such as debugging, data
representation, source code, executable code, verifiers, and APIs;
deliver short, easy presentations and documents that are well considered, compelling and
supported by evidence;
research and evaluate information;
present findings in an organized and compelling manner;
discuss the notion that every problem has multiple solutions, each with its own advantages
and disadvantages, and that success is tied to finding the technical solution that best fits into the
non-technical dimensions of a specific problem.
Learning outcomes:
Students successfully completing this course will be able to:
recognize common electrical circuit diagram symbols;
analyse resistive circuits by applying electrical circuit laws;
design and analyze circuits using the node method, superposition, and the Thevenin method;
employ lumped circuit models and abstraction to simplify circuit analysis;
analyse first order and second order circuits by applying electrical circuit laws.
Code: CS 2208
Course: Digital Circuit Design.
Credits: 2.
Semester: 4
Prerequisites: Basic Circuit Theory
Post requisites: Robotics
Description: This course concerns the design of digital systems using integrated circuits. The
main emphasis is on the theoretical concepts such as Boolean algebra, Karnaugh Maps, FSMs,
etc. and systematic approach to the design of practical digital systems including combinational
and sequential logic circuits.
Learning outcomes:
Students upon successful completing this course will be able to:
Implement
1. Combinational circuits using simulation tool Proteus 7.
2. Digital circuits such as binary calculator, BCD-to-Braille converter, BCD-to-7segment
converter
3. Sequential circuits using D flip flops, binary counters, shift registers;
Apply
1. Boolean logic in digital circuit construction;
2. Karnaugh maps in their implementation of BCD-to-Braille converter and BCD-to-7segment
converter, rounding decimal numbers;
3. Design of digital circuits in integration with Atmega microcontrollers;
Knowledgeably Discuss
1. The structure and concepts of the combinational and sequential circuits;
2. Fundamental concepts of digital electronics including boolean algebra and logic elements;
3. The structure and function of the common logic elements and their relation to boolean algebra
4. The design criteria for digital circuits in order to reach optimized solution
Learning outcomes:
After completing the course students will be able to:
analyze the structure of major components of a computer including CPU the ALU and control
unit, memory, I/O and storage in details;
explain execution of a high-level language program on instruction level;
optimize works of cache memories;
use a wide variety of memory technologies both internal and external;
produce program code in C that manipulates bits in processor;
Learning outcomes:
Students successfully completing this course will be able to:
design database models in third normal form using entity relationship diagrams for simple,
well-defined systems;
use the Microsoft Office Access database management system to create simple database
systems;
write Java programs to manipulate a simple database system;
write PHP5 and MySQL applications to manipulate a simple database system;
produce database designs that represent processes drawn from business and other real-world
domains;
create data models using entity-relationship (ER) diagrams;
develop schema designs using normalization;
design Web-based database applications using SQL and JSP/Servlets;
research answers to questions in books and other out-of-class information sources; evaluate
your findings for relevance and reliability; integrate the findings with your own knowledge to
produce an appropriate solution, and properly cite sources.
Code: AD 1214
Course: Application Development (SDP 2)
Credits: 3
Semester: 2
Prerequisites: Computation and Problem Solving (SDP1)
Postrequisites: Application Design Choices (SDP3)
Description: The “Application Development” course provide a high-level overview of Software
Development Program. This course builds the basic concepts of application development by
elaborating and extending the basic computational thinking and problem solving skills. It
assumes that you have used a computer, but possess little or no programming experience.
Successfully completing this course will prepare you to use the basic vocabulary of computing
and create small standalone programs.
Learning Outcomes:
To implement small programs to solve simple, well-defined problems To Learn how to use
objects as a key strategy to control complexity and support reuse
To create simple programs using simple assignment statements and console terminal input and
output
To write short programs (less than 300 lines of code) that use:
Control structures, basic functions, and primitive data types.
Basic UML documentation, including activity diagrams, class diagrams, state diagrams.
Object-oriented design concepts.
Classes, data encapsulation and information hiding.
To use a development environment to create and debug simple applications.
To identify choices that has to be made to solve a problem, and weigh the pros and cons of a
given solution.
To create applications from scratch that:
Properly use arrays to solve searching, sorting, and other similar simple problems.
Perform simple iteration.
Given a detailed design:
To create applications that solve more complex problems related to searching and sorting.
To perform more sophisticated iteration.
To implement a solution that uses all standard Java control-of-flow statements.
To explain the key ideas behind sorting and search algorithms, and implement at least one
algorithm of each type.
To perform basic I/O operations to the console in textual form, as well as reading and writing
text files.
Code: PM 3222
Course: Project Management (SDP8)
Credits: 2
Semester: 5
Prerequisites: Computation and Problem Solving (SDP01)
Postrequisites: Managing Technical People (SDP11)
Description: This course focuses on the organizational and management aspects of software
projects. We will learn techniques of project planning, scheduling, costing, and organization—
applying these techniques to and creating project artifacts for real militiaperson projects. Also,
since project documentation involves a substantial amount of investment, throughout the course
we will talk about each project document in terms of its use for building and maintaining
relationships with all project stakeholders—from end users, to various levels of user and
technical management, to the project team itself.
Learning outcomes : After completing this course, you will be able to demonstrate the
following knowledge, assessed through class discussions and assessments:
Discuss the reasons why project management is important.
Give a clear understanding of what the project manager role does.
Provide a clear model of what are good project management practices.
Understand the ways to measure the progress of a project.
Discuss the key driver for a project.
Reflect how the drivers are represented in a Project Management Planning.
Good understanding of Project Management terminology.
Know how to develop an estimate a project.
Code: AP 1206
Course: Algorithmization and Programming
Credits: 3
Semester: 1
Prerequisites: Mathematics
Postrequisites: Object-Oriented Programming
Description: The course " Algorithmization and Programming" is designed for studying of
algorithms and programs development to solve different problems. For this purpose, program
structure, principles of construction of algorithms and programs, methods of solving,
algorithmization, programming, debugging and implementation of programs, using the language
C++ are considered.
Learning outcomes:
By the end of the course the students will be able:
To list data structures, operators and basic algorithmic construction in C++.
To develop block diagrams of various algorithms using general principles of algorithms
construction
To identify the types of variables for solving the practical tasks.
To solve practical tasks by creating programs on C++ in good style.
To compare and contrast the different ways of solving a problem after testing the program.
To modify and rewrite the created program using the analysis.
To explain the constituted program documentation.
Code: OS 3220
Course: Operating Systems
Credits: 3
Semester: 5
Prerequisites: Algorithms, Data Structures and Programming
Postrequisites: Architecture of computer systems
Description: This course will provide an introduction to operating system design and
implementation. The operating system provides a well-known, convenient, and efficient interface
between user programs and the bare hardware of the computer on which they run. The operating
system is responsible for allowing resources (e.g., disks, networks, and processors) to be shared,
providing common services needed by many different programs (e.g., file service, the ability to
start or stop processes, and access to the printer), and protecting individual programs from one
another.
Learning outcomes: Upon completion of the subject, students will be able to:
identify the services provided by operating systems.
grasp the concept of the internal structure of an operating system and write programs using
system calls.
review and compare different operating systems.
understand and solve problems involving process control, mutual exclusion, deadlock and
synchronisation.
Code: TP 1212
Course: Object-Oriented Programming Технологии программирования
Credits: 2
Semester: 2
Prerequisites: Algorithmization and Programming
Postrequisites: Application development on MS .NET Framework platform, Development of
Web components on the Java EE platform
Description: This course is directed to study of how to develop console or windows .NET
applications using C# programming language using object-oriented programming concepts.
Topics of the course include the .NET paradigm, C# programming, file processing, exceptions,
structures, collections, object-oriented programming concepts, drawing.
All laboratory and home works will be performed on MicrosoftVisualStudio 2010 or newer.
Learning outcomes: By the end of the course the students will be able:
To create and use classes, objects, polymorphism, encapsulation, inheritances in C# application;
To develop/instal/configurate the console/windows .NET applications;
To improve object-oriented programming skills using the C#.NET.
To apply the virtual methods, interfaces and abstract classes.
To use aggregation and composition concepts in .NET applications.
To develop graphics in .NET applications.
To process error exceptions in .NET applications.
Code: KS 2219
Course: Computer Networks (Cisco 1)
Credits: 3.
Semester: 4
Prerequisites: NA
Post requisites: Routing and Switching Essestials (Cisco 2)
Description: This course introduces the architecture, structure, functions, components, and
models of the Internet and other computer networks. The principles and structure of IP
addressing and the fundamentals of Ethernet concepts, media, and operations are introduced to
provide a foundation for the curriculum. By the end of the course, students will be able to build
simple LANs, perform basic configurations for routers and switches, and implement IP
addressing schemes.
Learning outcomes:
At the end of the course, students will be able to create simple local networks, perform basic
settings for routers and switches, understand general information about network operating
systems and local networks, implement IP addressing schemes, know network protocols and
services, cables, wireless technologies, security methods in wired and wireless networks,
organize connection to the local and the global Internet, use tools to develop networks and use
the Internet, find and solve networks basic level problems.
Learning Outcomes:
By the end of this course, students will be able to
program and control any industrial robots;
select and apply a knowledge of mathematics and technology to engineering technology
problems that require the application of principles and applied procedures or methodologies;
program Python language with Raspberry P;
design systems, components, or processes for broadly-defined engineering technology
problems;
apply written, oral, and graphical communication in technical environments;
show analytical and technical skills for science and technology.
Learning outcomes:
By the end of this course, students will be able to:
develop the robot work-cell design;
perform the robot task analysis;
discuss the Robot dynamics and control;
employ Artificial Intelligence to the robot control;
apply the image processing and object recognition techniques;
use the Fuzzy and Neural networks Matlab Toolbox;
generate the high level industrial problems and implement the solutions though the AI.
Learning outcomes:
By the end of this course, students will be able to:
apply the knowledge and skills over the Internet of Things (IoT);
discuss the concept of portable devices;
employ various types of data acquisitions from sensors;
Learning outcomes:
By the end of this course students will be able to:
develop judgment of what sensors and modalities are appropriate for different applications;
know how to electronically condition the sensor, hook it up to a microcomputer, and process
the signal (at least basically);
have some idea of how/where these sensors can be used;
have a reasonable idea of how different sensors work;
Description: This course will simulate, build and demonstrate a complex multi-robotic system,
including sensing, computation, and actuation. Student will identify the talk and then will design
the solutions. All the knowledge and techniques will be applied here. Real world industrial
problems can be considered. Create a robotic system which can sense its environment, reason
about it and act on it. Student will design and build the mechanical subsystem with appropriate
actuators and sensors for computer control. More mature design will be implemented with proper
1) dynamic model of robot, 2) simulation of AI for robot and 3) power analysis of electrical
system. Students’ Robots will compete in a friendly competition at the end of the term.
Learning outcomes:
By the end of this course, students will be able to:
discus the detail implementation of the robotics in industry;
analyze and create capabilities towards advanced robotic systems;
understand professional and ethical responsibilities including a respect for diversity;
be prepared for the outside world with a commitment, timeliness, and continuous
improvement.
Description: This course provides a broader scope of examples and real world applications of
machine learning algorithms. Topics include: machine learning in natural language processing
(word2vec model, sentiment classification); machine learning in computer vision; complex types
of neural networks (convolutional neural networks, recurrent neural networks, etc);
reinforcement learning.
Learning outcomes:
By the end of this course, students will be able to:
use machine learning algorithms for complex tasks;
upgrade proficiency in Matlab and Python languages including ability to use special
packages for machine learning;
debug and choose the appropriate algorithms for different tasks.
Description: Many organizations are turning to NoSQL databases to store large volumes of
complex data, sparking an increased need for data scientists and analysts to understand non-
relational data stores. Learn about the differences between relational and NoSQL databases,
review types of NoSQL databases, and see how to perform common data science tasks, including
data preparation, exploration, and building and applying models. The course begins with an
introduction to NoSQL, and then delves into the specifics of document, wide-column, and graph
databases. Learn key details for performing data preparation, exploration, and extraction for each
type of NoSQL database. Review case studies that show how to use various NoSQL databases
with popular data science tools, including the document database MongoDB, the wide-column
database Cassandra, and the graph database Neo4j.
Learning outcomes:
By the end of this course, students will be able to:
compare NoSQL to traditional relational databases;
perform common data science tasks;
prepare data with document databases;
manipulate data in NoSQL;
prepare, explore, extract, and build models;
work with document, wide-column, and graph databases;
review case studies using MongoDB, Cassandra, and Neo4j.
Learning outcomes:
By the end of this course, students will be able to:
discuss the basic principles of cloud computing and advantages of popular virtualization
platforms;
apply the virtualization platforms from various vendors for project deployment;
implement SaaS and PaaS architectures in project development.
Description: This course describes basic command line interpreter for Windows family and
Linux family operating systems, basic principles of scripting, script execution steps, subprogram
creation, error detection and error handling. Student will learn how to create scripts to automate
basic operating system processes, how to modify existing scripts for current needs. The course
explains the difference between creating programs and scripts and uses them when appropriate.
Learning outcomes:
By the end of this course, students will be able to:
discuss the difference between creating programs and scripts;
create scripts to automate basic operating systems processes;
modify existing scripts for current needs.
Learning outcomes:
Students successfully completing this course will be able to:
Apply the basic laws of physics in the areas of classical mechanics, Newtonian gravitation,
special relativity, electromagnetism, geometrical and physical optics, quantum mechanics,
thermodynamics and statistical mechanics.
Recognize how observation, experiment and theory work together to continue to expand the
frontiers of knowledge of the physical universe.
Apply basic mathematical tools commonly used in physics, including elementary probability
theory, differential and integral calculus, vector calculus, ordinary differential equations, partial
differential equations, and linear algebra.
Use basic laboratory data analysis techniques, including distinguishing statistical and
systematic errors, propagating errors, and representing data graphically.
Convert a physical situation articulated in English to a mathematical formulation, and then
analyze it quantitatively.
Code: TI 3217
Course: Information theory
Credits: 2
Semester: 6
Prerequisites: ICT, Mathematical analysis, Programming with algorithmic languages,
Probability theory and mathematical statistics
Post requisites: Fundamentals of Information Security, The organization and management of
the project of software development, Software Specification, diploma work
Description: Information theory is a branch of applied mathematics and computer science
involving the quantification of information. The aim of course is to form a system of knowledge
on the basics of information theory and its application to the practice of modern information
systems. Objectives of the course: concept and types of information systems, the concept of
entropy and ways of its assess, the concept of information, ways of quantify the information,
theoretical and practical aspects of efficient coding, theoretical and practical aspects of noiseless
coding, data transfer systems, modulation and demodulation.
Learning outcomes: According to the goal and objectives of the course by the end of this course
the students will have knowledge on the basics of information theory and its application to the
practice of modern information systems and be able to use in future work.