Code: ICT 1105
Course:   Information and Communication Technologies
Author: Aiman Nickolayevna Moldagulova, PhD
Credits: 3
Hours: 135
Semester: 1
Prerequisites: None
Postrequisites: Operating Systems. Database Systems. Network Systems. Internet Technology. Programming Languages
Course Description: Information and communication technologies (ICT) is regarded as modern methods and means of communication of people in a normal and professional activities with the help of information technologies for the search, collection, storage, processing and dissemination of information.
The discipline of "ICT" serves for formation at students of a certain outlook in the information sphere and the modern information culture, i.e. ability to work purposefully with information, professionally using for receiving, processing, transmission and its storage.
This course exposes students in a top-level experience to computer hardware, software and communication systems. Students learn the functionality of hardware, software and network components as well as suggested best practices in maintenance and safety issues. Through hands-on and laboratories activities, students learn how to assemble and configure a computer as well as install operating systems and diagnostic application utilities. In addition, an introduction to networking is included. Students should be proficient in daily computer use (such as downloading and installing software from the Internet) and should be familiar with computer terms.
Learning outcomes: By the end of the course, the students will be able to:
- define the main tendencies in the field of information communication technologies;
- use information resources for search and information storage;
- work with electronic spreadsheets to execute consolidation of data and to build diagrams;
- work with databases;
- apply methods and means of information protection;
- design and create simple web sites;
- process vector and bitmap images;
- create the multimedia presentations;
- use different social platforms for communication.

Code: IE 4106
Course: Internet Entrepreneurship
Author: Beibut Amirgaliyev, associate professor
Credits: 3
Hours: 135
Semester: 5
Prerequisites: none
Postrequisites: Managing Technical People (SDP11)
Course Description: This course is designed primarily to provide an overview of entrepreneurship, develop an entrepreneurial frame of mind and learn the rudiments of how to differentiate an idea from an opportunity. Students come up with a business idea and explore its potential for becoming a viable business. They learn to do market research and experience first-hand the rewards and difficulties in dealing with people in the real world. They will meet entrepreneurs and business professionals as part of the course and learn how to make effective presentations - both written and oral. Other important aspects of the course include self-assessment to determine one's strengths and weaknesses, understanding the “magic” of leadership and gaining an entrepreneurial perspective on life.
Learning outcomes: By the end of the course, the students will be able to:
- Define basic terms
- Identify the elements of success of entrepreneurial ventures,
- Explain entrepreneurial project and its essential elements,
- Consider the legal and financial conditions as well as the importance of the entrepreneurial infrastructure for starting a business venture
- Evaluate the effectiveness of different entrepreneurial strategies
- Interpret their own business plan.

Code: ADSP 1207
Course:   Algorithms, data structures and programming
Author: Pachshenko Galina Nikolaevna, Associate Professor, candidate of technical science
Credits: 3
Hours: 135
Semester: 1
Prerequisites: Mathematics
Postrequisites: Object-Oriented Programming
Course Description: The course "Algorithms, data structures 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:
-to develop block diagrams of various algorithms using general principles of algorithm construction, data structures, operators and basic algorithmic construction in C++.
-to identify types of variables for solving 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.
-to explain the documentation of created program using comments.  

Code: ITI 3208
Course:   IT-infrastructure
Author: PhD, Assistant professor, Rakhmetulayeva S.B
Credits: 3
Hours: 135
Semester: 5
Prerequisites: “Algorithms, Data structures and Programming”, “Computer networks”, “Web technologies”, “Designing client-server applications”, “Information System Interfaces”
Postrequisites: Diploma project
Course Description: This course is about information technology infrastructure in a business environment, including inter-networked data communications and distributed data processing. Topics covered include, the business imperatives for distributed systems, systems architectural design (client/server; distributed processing, etc) layered architecture models (TCP/IP, OSI, etc): key network models and technologies, security issues related to architecture, design and technology, network configuration and management techniques.
Learning outcomes: By the end of the course, the students will be able to:
- analyse data communications and networking issues in business environments
- analyse the issues associated with business data networks security and analyse possible networking solutions
- apply modern technologies for modelling business processes
- design efficiently and support the IT infrastructure
- synthesize the theoretical, technical and management issues that deliver ICT services to an organization

Code: OS 2210
Course:  Operating Systems
Author: Rakhmetulayeva S.B., PhD
Credits: 2
Hours: 90
Semester: 3
Prerequisites: Information and Communication Technologies
Postrequisites: Architecture of computer systems
Course Description: This  course  will  provide  an  introduction  to  operating  system  design  and  implementation. The  course  will  start  with  a  brief  historical  perspective  of  the  evolution  of  operating  systems  over  the  last  fifty  years,  and  then  cover  the  major  components  of  most  operating  systems.  This discussion  will  cover  the  tradeoffs  that  can  be  made  between  performance  and  functionality  during  the  design  and  implementation  of  an  operating  system. Particular emphasis  will  be  given  to  three  major  OS  subsystems:  process  management  (processes,  threads,  CPU  scheduling,  synchronization,  and  deadlock),  memory  management  (segmentation,  paging,  swapping),  file  systems,  and  operating  system  support  for  distributed  systems. Bash language  skills,  network  management,  network  security.
Learning outcomes: By the end of the course, the students will be able to:
- describe  the  main  responsibilities  of  a  contemporary  operating  system  (OS)  and  to  explain  the  history  leading  to  their  current  form
- examine  the  important  problems  in  operating  system  design  and  implementation
- understand  the  goals  of  standardization  of  OS  (and  other)  interfaces
- develop  and  write  bash  scripts  for  Linux  OS
- demonstrate  basic  knowledge  of  OS  processes
-allocate  OS  resources  correctly
- implement  fundamental  OS  structures
- identify  and  process  command-line  arguments.

Code: CSA 3211
Course: Computer Systems Architecture
Author: Rakhmetulayeva S.B
Credits: 2
Hours: 90
Semester: 5
Prerequisites: Operating Systems
Postrequisites: Robotics
Course Description: The course “Computer Systems Architecture” presents basic computer hardware element concepts equipment principles, and computer performance evaluation techniques that are used in computer system design processes from an assembler programmer, a computer architect and a logic designer’s point of view. The course contains details of components necessary to understand the concepts of machine computing.
Learning outcomes: By the end of the course, the students will be able to:
- describe functions of the basic building blocks of a digital system;
- make critique and assessment on various architectures and the design concepts for analyzing
  computer systems;
- explore the basic operations of cache and main memory, I/O operations, bus, interrupt and
   peripheral devices as well as assessing the performance of different designs;
- write low-level programs for bitwise operation, function pointer, call-back function, and
   event interrupt using C or C++ language.

Code: OOP 2213
Course:  Object-Oriented Programming  
Author: Altaibek Aizhan, assistant professor, PhD in Computer Science
Credits: 3
Hours: 135
Semester: 3
Prerequisites: Fundamentals of Information Systems
Postrequisites: Application development on MS .NET Framework platform (MS prog 1), Development of Web components on the Java EE platform (Java 1)
Course Description: This course is designed to study on how to develop console or windows .NET applications using C# programming language using object-oriented programming concepts. Topics of the course include .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;
- develop/install/configure console/windows .NET applications;
- improve object-oriented programming skills using the C#.NET;
- apply the virtual methods, interfaces and abstract classes;
- use aggregation and composition concepts in .NET applications;
- develop graphics in .NET applications;
- process error exceptions in .NET applications.

Code: ISDP 2214
Course:  Information security and data protection
Author: Karlygash Mukhitova, Senior - Lecturer, MSc Cyber Security
Credits: 3
Hours: 135
Semester: 4
Prerequisites: Fundamentals of Information Systems  
Postrequisites: Network Communication and Security (SDP09)
Course Description: The Information Security module is centered round a core Security theme that introduces students to fundamental security topics that arise in the design, analysis, and implementation of networked and distributed systems. Subsidiary themes allow students to investigate broader areas in which they may apply their newly acquired skills. The module is designed for students who wish to specialize in the security aspect of the Computer Science field.
Learning Outcomes: By the end of the course, the students will be able to:
- gain basic knowledge of information security, basic techniques to protect data in computer and communication environments against several different varieties of security issues, security properties of systems, analyzing computer systems, and developing strategies to bypass security controls;
-solve problems of cryptography, encrypt/decrypt messages, solve problems of network security, make decisions regarding the adoption and implementation of information security related technologies, policies and practices in complex and unpredictable situations

Code: CPS 1215
Course:  Computing and Problem Solving (SDP 1)
Author: Sarsenova Zhibek Nurzhanovna, lecturer, Master of Technical Sciences
Credits: 3
Hours: 135
Semester: 1
Prerequisites: none
Postrequisites:  Application Development (SDP2)
Course Description: Computers play a critical role in just about everything humans do, and software professionals need a deep appreciation for the human and business aspects, as well as the theoretical. This subtle introduction to computing and problem solving provides students with realistic insights about the field of computing.
At the heart of computing is a way of thinking and working that is more disciplined than many students have ever experienced, but the benefits of seeing, understanding and then developing those skills can be stunning. This course prepares and launches students down to educational paths in all of the science and business domains, as well as in careers as software developers, software engineers, and computer scientists.
Computation and Problem Solving is a 15-week course in which students will learn problem-solving approaches and tools, professional communications, and professional behavior. Students will learn the world of professional deliverables, processes and behavior by joining the fictional company iCarnegie Consulting (iC) as a junior intern. In relation to this, students will solve problems using tools such as HTML, Cascading Style Sheets (CSS), JavaScript, and JQuery.
Learning Outcomes: By the end of the course, the students 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;
- search 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.

Code: AD 1216
Course:  Application Development (SDP 2)
Author: Sarsenova Zhibek Nurzhanovna, lecturer, Master of Technical Sciences
Credits: 3
Hours: 135
Semester: 2
Prerequisites: Computation and Problem Solving (SDP1)
Postrequisites: Application Design Choices (SDP3)
 Описание: The “Application Development” course provides a high-level overview and builds concepts by elaborating and extending the students’ basic computational thinking and problem solving skills. It assumes you have used a computer, but possess little or no programming experience. Successfully completing this course will prepare students to use the basic vocabulary of computing and create small standalone programs.
Learning Outcomes: By the end of the course, the students will be able to:
- implement small programs to solve simple, well-defined problems;
- learn how to use objects as a key strategy to control complexity and support reuse;
- create simple programs using simple assignment statements and console terminal input and output;
- 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.
- use a development environment to create and debug simple applications.
- identify choices that has to be made to solve a problem, and weigh the pros and cons of a given solution;
- create applications from scratch that:
- Properly use arrays to solve searching, sorting, and other similar simple problems.
- Perform simple iteration.
Given a detailed design:
- create applications that solve more complex problems related to searching and sorting;
- perform more sophisticated iteration;
- implement a solution that uses all standard Java control-of-flow statements;
- explain the key ideas behind sorting and search algorithms, and implement at least one
   algorithm of each type;
- perform basic I/O operations to the console in textual form, as well as reading and writing text

Code: ADC 2217
Course:  Application Design Choices (SDP 3)
Author: Senior – lecturer Mukashev S.
Credits: 3
Hours: 135
Semester: 3
Prerequisites: Application Development (SDP2)
Postrequisites: Performance, Data Structures and Algorithms (SDP4)    
Course Description: Application Design Choices is the third course in the Software Development Program. The course is designed to extend the perception of students of industrial software development by understanding that basic design choices that exist and that there are consequences to these choices.
Learning Outcomes: By the end of the course, the students will be able to:
- devise moderate-sized applications using Object-Oriented principles derived from informal specifications and designs;
- produce moderate to large standalone Object-Oriented applications from correct UML specifications;
- create graphical User Interface applications using the standard Swing components and simple animations;
- produce well-structured implementations appropriate for team development, maintenance and reuse with careful attention to external and internal documentation.

Code: PDSS 2218
Course:  Performance, Data Structures and Algorithms (SDP 4)
Author: Orazbekov Sayatbek Kairbekovich, senior-lecturer
Credits: 3
Hours: 135
Semester: 4
Prerequisites: Application Design Choices (SDP03)
Postrequisites: Algorithms of Artificial Intelligence
Course Description: This course addresses principles of good algorithm design, algorithms analysis, and foundational data structures. The emphasis is on selecting appropriate data structures and designing efficient and correct algorithms in execution of these data structures.
Students will learn about fundamental computing algorithms and analysis, including searching, sorting, recursion, trees, linked lists, stacks, queues, sets, maps, and graphs.  Important elements in the course include measuring program performance and efficiency while comparing and contrasting results of small programs written in an object-oriented programming language (Java), with that of a procedural programming language (C).  At the same time, an overview of the C programming language using a basic Unix environment is provided.
Learning Outcomes: By the end of the course, the students will be able to:
- list data structures and operators in JAVA;
- identify the types of variables for solving the practical tasks;
- solve practical tasks by creating programs on JAVA;
- compare and contrast the different ways of solving a problem after testing the program;
- modify and rewrite the created program using the analysis;
- explain the constituted program documentation.

Code: AD 2219
Course:  Architecture and Design (SDP5)
Author: Aiman Nickolayevna Moldagulova, PhD
Credits: 3
Hours: 135
Semester: 4
Prerequisites: Performance, Data Structures & Algorithms (SDP4)
Postrequisites: Database and Client/Server Applications (SDP6)
Course Description: This course focuses on the study of large systems and how they were partitioned into subsystems and components, as well as how the structuring of these elements into a solution and the interfaces used to join them together facilitates communication and control. Students will explore with various notations and formalisms as they learn the relationship between these structures and key quality attributes and their impact on system implementation.
Learning outcomes: By the end of the course, the students will be able to:
- identify the importance of taking a risk-based approach to software development;
- Why doing so aids an organization in determining how much architecture is enough for a given
- identify risks and discuss how to mitigate them;
- explain how software architecture can be used to ensure quality goals will be met;
- discuss the purpose for creating different views of software architecture and be able
   to contribute to discussions in determining which are appropriate for a given project;
- discuss architectural choices, the short-term and long-term consequences
   associated with each choice and the rationale for selecting one choice over the others

Code: DCSA 3220
Course:  Database and Client/Server Applications (SDP6)
Author:  Ryskhan Zhakanovna Satybaldiyeva assistant professor, candidate of technical science
Credits: 3
Hours: 135
Semester: 5
Prerequisites: Database in information systems, Application Design Choices
Postrequisites: Network Communication and Security (SDP09)
Course Description: Well-designed database systems are at the heart of the enabling and functionally rich, Web-based software applications that are revolutionizing businesses today. This course prepares students to build such systems, by providing them with the practice and experiences to master key concepts of database system design and implementation. This course builds upon the knowledge and skills developed in the “Computation and Problem Solving” course, the Java courses and the usability design from the “Human/ Computer Interaction and Communication” course.
Learning Outcomes: By the end of the course, the students will be able to:
- produce database designs that represent processes drawn from business and other real-world domains;
- create data models using entity-relationship (ER) diagrams;
- develop sound schema designs using normalization;
- design Web-based database applications using SQL and JSP/Servlets;
- use index structures of a DBMS to improve performance;
- use the transaction features of a DBMS to achieve fault recovery and concurrency control.

Code:  HCI 3221
Course: Human/Computer Interaction and Communication (SDP 7)
Author:  Syrymbaeva Asel, Senior-lecturer, a.syrymbaeva@iitu.kz
Credits: 3
Hours: 135
Semester: 5
Prerequisites: Computation and Problem Solving (SDP01)
Postrequisites: Project Management (SDP08)
Course Description: This course combines a component that teaches programming interactive user interfaces with one that teaches methods to improve the usability of those interfaces. The course proceeds from the view that interface usability is essential to successful software design and not merely a matter of "packaging" or aesthetics. Interface usability in fact can have a critical impact on an application's overall quality and effectiveness: an accurate, fast, and powerful application can be rendered useless by a poorly-designed user interface when the people who might otherwise benefit from the application find the interface frustrating, difficult, or impossible to use. The course is organized into four units. Each unit consists of a series of topics and includes multiple-choice quizzes, practical quizzes, and a few extended exercises, all of which will help students gain a solid understanding of the material. In addition, the course features three in-class exams.
Learning Outcomes: By the end of the course, the students will be able to:
- gain skills and enough experience in working in group projects by solving real projects.

Code: PM 3222
Course:  Project Management (SDP8)
Author: Bayekeyeva Assel, senior-lecturer, MSc in Computer Information Systems
Credits: 3
Hours: 135
Semester: 6
Prerequisites: Computation and Problem Solving (SDP01)
Postrequisites: Managing Technical People (SDP11)
Course Description: This course provides students with a comprehensive overview of the principles, processes, and practices of software project management. Students learn techniques for planning, organizing, scheduling, and controlling software projects. Students will obtain practical project management skills and competencies related to the definition of a software project, establishment of project communications, managing project changes and managing distributed software teams and projects. Project Management Body of Knowledge (PMBOK) as a framework for this course focused on. This is now a world-wide defacto standard for project management and recommended by IEEE and ANSI as well for their project management standard
Learning outcomes: By the end of the course, the students will be able to:
- define the difference between a program, project, portfolio, and operation; and the key processes that all projects might go through
- identify the project management knowledge areas and process groups
- classify project planning, organization and control, both theory and practice
- apply techniques such as, work breakdown structure, network diagrams, critical path analysis, and critical chain scheduling
- develop a comprehensive software project management repository for the a real-world Web based project via a Web Project implemented in small working teams in a collaborative manner
- develop an appreciation of the many skills required to do good systems analysis and design using skills developed in this and other computer science courses and previous work experience

Code: NS 3223
Course:  Networking and Security (SDP9)
Author: Kozhamzharova Dinara Khanatovna, MSc
Credits: 3
Hours: 135
Semester: 7
Prerequisites: Performance, Data Structures and Algorithms (SDP4)
Postrequisites: Managing Technical People (SDP11)
Course Description: This course provides students with a working vocabulary, as well as the knowledge and skills required to implement, debug and enhance basic networked applications, with insights about the kinds of defects that can be exploited to the system’s detriment; how these attacks are carried out; and how they can be prevented, detected and stopped.
The course explores networked communication from local area networks (LAN) up to the global Internet.  The standard problems and a range of solutions for each are explored, with a special focus on the TCP/IP protocol suite. Also, it will prepare students for real-life information security operations. A background on networking fundamentals will refresh students with a concentration on challenges faced in today’s infrastructure.
Learning outcomes: By the end of the course, the students will be able to:
- produce simple client-server and peer-to-peer applications;
- use standard protocols to address various communications issues;
- demonstrate how socket programming is done with UDP and TCP;
- develop proper software configurations to establish a secure and functioning networked
- use standard hardware and software tools to manage a network for a distributed application;
- apply performance analysis tools to assess network performance;
- employ standard networking diagnostic tools to debug standard network problems.
- implement basic SSL security.

Code: LACS 2225
Course: Legal Aspects of Computer Science
Author: Maulenov Kasym Syrbaevich, Professor, Doctor of law
Credits: 2
Hours: 90
Semester: 3
Prerequisites: none
Postrequisites: Business law
Course Description: This course introduces students to the methodology of reading legal texts: extending from articles to treaties, constitutions, legislation and cases. It also provides an overview of the structure and hierarchical form of most domestic legal systems and their relation to international law and organizations. The course covers the basic techniques of legal research, writing and analysis. Students learn to brief cases, perhaps synthesize cases from related fields, and write legal documents.  
Learning outcomes: By the end of the course, the students will be able to:
- to define a broader and deeper knowledge of the principles and sources of international and Kazakhstan intellectual property law as well as knowledge of how these have changed
and are changing as a result of globalization
- to identify a knowledge of intellectual property law methodology, an improved ability to argue, analyze and evaluate complicated legal issues from an intellectual property rights perspective
- to describe intellectual property law issues in a qualified manner
- to construct the skills to write an academic thesis on international or  Kazakhstan intellectual property law issues satisfying the requirements of objectivity, structure, analytical reasoning and independence.

Major courses:

Code: FIS 1301
Course:  Fundamentals of Information Systems
Author: Serbin V.V., Head of IS department, candidate of technical sciences
Credits: 3
Hours: 135
Semester: 2
Prerequisites: Algorithms, data structures and programming
Postrequisites: Databases in IS
Course Description: This course is about the complete life cycle of the information system’s development process, starting with the description of the idea, establishing software requirement specifications, modeling, developing, testing, debugging software, calculating the feasibility study cost of the information system development, ending with the presentation for the customer. The course also covers the theoretical and practical issues of the construction and operation of IS, namely the classification of IS, UML modeling, ADO technology, criteria for evaluation of IT projects, etc.
Learning Outcomes: By the end of this course, the students will be able to:
- determine consequence and maintenance of stages of IS design;
- identify modern methodologies of IS design;
- use instrumental tools of IS design;
- identify perspectives of information systems development, their connection to related areas;
- formulate and solve tasks of information systems design with the use of technology, based on
  functional specifications;
- formulate main scientific-technological problems on automation and IS objects exploration;
- apply methods of subject area analysis and applied information systems creation.

Code: BDIS 2302
Course:  Database in Information Systems
Author: Karlygash Mukhitova Yerdauletkyzy, senior-lecturer, MSc in Cyber Security
Credits: 3
Hours: 135
Semester: 4
Prerequisites: Fundamentals of Information Systems
Postrequisites: Oracle SQL Basics
Course Description: This course introduces students to database systems and explains what a database system is. It then proceeds for the greater part of the learning material to explore relational database systems—databases designed according to the relational (or tabular) model. From data abstraction, the course then turns to transaction management, with some additional material on improving query performance. Finally, there is an introduction of up-to-date trends in database system design, which also locates recent developments in the larger history of data storage technology.
Learning Outcomes: By the end of the course, the students will be able to:
- create diagrams and data models for projects;
- design and develop normalization for tables;
- solve practical tasks on SQL;
- compare and contrast the different ways of solving problems;
- modify and rewrite the created program using the analysis;
- explain the constituted program documentation.
Наши студенты - интеллектуальная элита Казахстана