The educational program “Software Engineering” includes disciplines on the basics of IT technologies and software tools that allow students to position themselves as professionals in the field of IT technologies, including the development and maintenance of software of various scales. Based on the results of the training, students will freely master the skills of managing IT technologies in a company, as well as several programming languages, and will be able to develop software for large companies, such as banks, insurance companies, government and national organizations, and others. The program will also develop skills in developing an application for mobile devices, databases and a web application.
Profile subjects: informatics + mathematics
Mon-Fri 9:00 – 18:00
– Software developer;
– Back-end and front-end developer;
– Web developer;
– Software tester;
– Manager and architect of it systems and projects;
– Mobile developer.
Provide practice-oriented training of highly qualified specialists in the field of software development, qualified developers of software and information systems and software architects, experts in software quality, software testers for the IT industry of the Republic of Kazakhstan.
EC1. The ability to understand the driving forces and patterns of the historical process, the place of man in the historical process and the ability to understand philosophy as a methodology of human activity, readiness for self-knowledge, self-activity, the development of cultural wealth as a factor in the harmonization of personal and interpersonal relationships
EC2. The ability to form and develop skills and competencies in the field of organization, planning and management of production, the ability to apply the acquired knowledge to comprehend the environmental reality, the ability to generalize, analyze, predict when setting goals in the professional field and choose ways to achieve them using scientific research methodology
EC3. The ability for written and oral communication in the state language and the language of interethnic communication, as well as in a foreign (English) language. The ability to use foreign sources of information, to have communication skills, for public speaking, argumentation, discussion and polemics in a foreign language
EC4. The ability to be competent in choosing ICT methods and mathematical modeling for solving specific engineering problems, the ability to be ready to identify the natural scientific essence of problems that arise in the course of professional activity, and the ability to involve the appropriate mathematical apparatus to solve it.
PC1. The ability to understand modern standards, the regulatory framework, the basics of economic knowledge, scientific ideas about project management and technological entrepreneurship.
PC2. The ability to professionally operate modern computer equipment, network components, computer programs and complex computing systems (in accordance with the objectives of the program), as well as use the rules of safety, industrial sanitation, fire safety and labor protection standards.
PC3. The ability to have the skills to use and apply algorithms, data structures and modern methods for the creation (development) and further maintenance of various software systems.
PC4. The ability to use the basic provisions and methods to solve managerial problems, the ability to carry out project documentation in a software environment using computer graphics for various types of projects.
PC5. The ability to be competent in choosing mathematical modeling methods for solving specific applied software and technical problems, including the willingness to identify the natural science essence of problems that arise in the course of professional activity, and the ability to involve the appropriate mathematical apparatus to solve it.
PC6. The ability to design the architecture of information system components, including the human-machine interface of hardware and software systems, to choose operating systems and methods of information protection.
PC7. Ability to develop information and software for an information system based on modern methods and development tools.
PC8. The ability to collect, process and analyze data using the methodological and technological infrastructure existing in the organization.
PC9: Ability to manage the stages of the life cycle of the methodological and technological infrastructure of software development, data analysis, IT infrastructure design in various organizations.
PC10: Ability to use modern programming environments for the design and implementation of software solutions and databases for information and communication technologies.
PC11: The ability to apply the elements of probability theory and mathematical statistics that underlie the models and methods of data science, to correctly select the methods of data analysis, machine learning and artificial intelligence to solve practical problems.
PC12: The ability to develop and implement secure and testable solutions based on new methods and technologies for protecting information used when working with information and communication technologies.
EO1. Apply domestic and foreign standards for software development in organizations.
EO2. Apply mathematical tools for analyzing software systems and data based on statistical and probabilistic models, build algorithms for solving problems.
EO3. Apply practical programming skills and explain the general methodological foundations of program development, compile system programs for various levels of computer system architecture and software, including programming at the lower level and programming microcontrollers.
EO4. Apply technical means and software services to ensure the continuity of the software system development process.
EO5. Demonstrate knowledge about the architecture of computer systems, manage operating systems.
EO6. Independently analyze modern sources, draw conclusions, argue them, make decisions based on the information and apply the features of academic vocabulary.
EO7. Apply project management tools at various stages of the project life cycle, perform qualitative and quantitative risk assessment of projects, determine the effectiveness of the project.
EO8. Implement basic network communication between devices, calculate and apply addressing schemes, configure and configure network devices required to ensure the functionality of information and communication technologies.
EO9. Develop secure server client web applications and mobile applications.
EO10. Explain and understand the regulatory framework, including documents, standardization and certification procedures in the field of information and communication technology development and entrepreneurship.
|№||Exam form||Recommended ratio, %|
The course considers the modern history of Kazakhstan as part of the history of mankind, the history of Eurasia and Central Asia. The modern history of Kazakhstan is a period in which a holistic study of historical events, phenomena, facts, processes is carried out, the identification of historical patterns that took place on the territory of the Great Steppe in the 20th century and to the present day.
The course involves the study of the discipline of philosophy as a special form of spiritual studies in its cultural and historical development and modern sound. The main directions and problems of world and domestic philosophy are studied. Philosophy is a special form of knowledge of the world, creating a system of knowledge of the general principles and foundations of human life, about the essential characteristics of a person’s relationship to nature, society and spiritual life, in all its main direction.
The course includes an intensive English language program focused on grammar and speaking skills. The course includes topics reflecting the latest developments in information technology, and a terminological dictionary makes them directly relevant to the needs of students.
The course occupies a special place in the system of training bachelors with an engineering education. For students of a technical university, the study of professional Kazakh / Russian languages is not only the improvement of the skills and abilities acquired at school, but also a means of mastering the future specialty.
The course includes the study of modern information technologies, including methods and means of communication between people in ordinary and professional activities using information technologies. These technologies are studied in relation to the search, collection, storage, processing and dissemination of information.
The course is devoted to general political knowledge for specialties in the field of information technology. The course includes political self-awareness, improvement of one’s political outlook and communicative competencies. Political knowledge education is communicative, interactive, student-centered, result-oriented and relies heavily on students’ independent work.
The course includes knowledge of sociological subject areas, research methods and directions. The course will discuss in detail the main sociological theories and the most effective ways to gain in-depth knowledge about various aspects of our modern society. Of particular importance of this course for students is the opportunity to develop the sociological imagination, to understand the basic concepts of sociology as a science.
The course presents the issues of psychology in a broad educational and social context. The knowledge, abilities and skills acquired and formed as a result of mastering the course content give students the opportunity to apply them in practice in various areas of life: personal, family, professional, business, public, in working with people – representatives of different social groups and age categories .
The course will help to become the basis for studying the entire complex of social sciences and humanities, as well as an addition to general courses in history and philosophy. The course includes topics such as morphology, semiotics, anatomy of culture; the culture of the nomads of Kazakhstan, the cultural heritage of the proto-Turks, the medieval culture of Central Asia, the formation of Kazakh culture, Kazakh culture in the context of globalization, the cultural policy of Kazakhstan, etc.
The course is devoted to the formation of personal physical culture and the ability to use various means of physical culture for the preservation and promotion of health.
The discipline introduces students to modern concepts and tools of entrepreneurship and obtaining the theoretical knowledge and practical skills necessary to launch their own startup, taking into account the basics of life safety. On the basis of law and anti-corruption culture, the process of obtaining a patent, the legality of ownership of technological development is being studied, taking into account the legislation of the Republic of Kazakhstan in the field of intellectual property. Students apply strategic analysis in the field of economics, management, communication and technological entrepreneurship.
As part of the academic discipline, the student studies the essence of entrepreneurial activity on the basis of the current legislation of the Republic of Kazakhstan. The course will demonstrate the role and place of small businesses in the current conditions of functioning of the economy of the state and society. The discipline will allow you to understand the basic principles and content of the business plan of business entities, form a thinking based on a modern anti-corruption culture, explain the organizational forms of entrepreneurial activity, including taking into account sustainable development, ecology and personnel life safety.
The course includes and assumes the study by students of the most popular relational and non-relational database management systems, as well as a set of software and linguistic tools of general or special purpose, providing management of the creation and use of databases.
The course involves the study of one of the most important components of object-oriented software development technology – software design patterns. This course is a formalized description of a common design problem, its successful solution and recommendations for the application of this solution in various situations.
The course is aimed at studying the principles of operation of modern microprocessor technology, which underlies universal and specialized computers, and embedded systems, methods for organizing the interaction of a microprocessor with memory and external devices. In the process of studying the course, students should gain an understanding of the features of the internal structure of a modern microprocessor.
The course forms students’ knowledge of the basic mechanisms and devices of operating systems, the specifics of their interaction with the hardware complex of a computer, and introduces the principles of system programming at the level of operating systems of the Linux family.
Be able to use project management tools at various stages of the project life cycle, to make a qualitative and quantitative assessment of project risks, to determine the effectiveness of the project
The aim of the course is to give students a broad understanding of the research methodology, including the theory of science, qualitative and quantitative methods and the development of a research proposal for a diploma project. At the end of the course, students will have the skills of critical reading of scientific literature and will be competent in planning, conducting, evaluating and presenting a research project.
Be able to use project management tools at various stages of the project life cycle, make a qualitative and quantitative assessment of project risks, determine the effectiveness of the project
This course is designed for the development of software systems and applications where the main focus will be on the use of cloud solutions where it will show the greatest efficiency. Students will have the opportunity to work with various cloud solution providers, such as Amazon, Google, Microsoft. They will learn how to deploy cloud solutions for databases, data analytics, and machine learning. The course contains the following topics: “Load Balancing”, “Scalability, Availability and Fault Tolerance”, “BigQuery”, “Machine Learning on Unstructured Datasets”, etc.
Production practice of students
Pre-graduate practice of students
The aim of the course is to gain theoretical and practical knowledge in the field of artificial intelligence in general, and in particular in the construction of algorithms capable of learning. The course examines the basic algorithms of machine learning, various approaches and technologies of data analysis, their qualities, features and impact in various fields of science and technology. As a result of mastering the course, students will be able to use machine learning methods to visualize their data, build graphs, and present the results qualitatively.
Knowledge in the field of machine learning and deep learning is systematized. Knowledge in modern approaches to object detection, will have experience in solving classification and segmentation problems, learn how to build and train neural networks. The subject will give an overview of computer vision tasks and the basic tools that are needed to solve them.
The course includes: Matrix theory, systems of linear equations, vector theory, analytic geometry, limit and differentiation of functions of one variable
Academic discipline includes knowing the analysis of features represented in various ways and understanding the relationships between these different representations; understanding the meaning of the derivative in terms of rate of change and local linear approximation, and using derivatives to solve various problems.
The academic discipline introduces students to important branches of calculus and its applications in computer science. During the educational process, students should familiarize themselves with and be able to apply mathematical methods and tools (differential equations, series, double and triple integrals) to solve various applied problems.
Discrete mathematics is the part of mathematics devoted to the study of discrete objects (here, discrete means, consisting of separate or unrelated elements). More generally, discrete mathematics is used whenever objects are counted, when relationships between finite (or countable) sets are studied, and when processes involving a finite number of steps are analyzed. The main reason for the growing importance of discrete mathematics is that information is stored and processed by computers in a discrete manner.
The course teaches the study of patterns of random phenomena and their properties, and use them for data analysis. As a result of studying this discipline, students will know the basic concepts of probability theory and mathematical statistics and their properties, as well as be able to use probabilistic models in solving problems, work with random variables, calculate sample characteristics, and evaluate the reliability of statistical data.
The course teaches students to use a programming language to develop functional websites and interfaces, and also allows them to master the basics of working and interacting with a database. The course teaches the development of functionality and user interface working on the client side of an application or website. In the process, students will have the opportunity to create and develop a convenient, simple and in-demand website.
The course teaches students to use a programming language to develop logical elements of functional websites, and also allows them to master the basics of working and interacting with a database. In practice, students use any of the universal languages: PHP, Ruby, Python, Java. In addition, DBMS (MySQL, PostgreSQL, SQLite, MongoDB, etc.) are involved in backend development.
The course examines classical algorithms (search, sorting, etc.) and data structures (queue, stack, tree, graph) used in programming. The principles of constructing algorithms, tools for their description, the concepts of complexity and performance, the main classes of algorithms are considered.
This discipline covers the introduction to mathematical courses necessary for the development of specialized disciplines of computational sciences based on numerical solutions of deterministic and probabilistic equations of mathematical physics and applied models used in technical production and the financial sector, namely, the theory of ordinary differential equations, their typification and basic methods of analytical solution and introduction to partial differential equations.
The course studies the OSI model, the main physical and link layer protocols, types of equipment, design and configuration of local networks, subnets, etc. As a result of mastering, students will know and understand the principles of operation and design of computer networks, master the basic skills of working with operating systems of network devices of the Linux family to configure them.
The course examines the development of innovative approaches to the creation and documentation of software architecture. The purpose of the course is to highlight existing approaches to documenting architectural design, to build a relationship between functional objects used as units of architecture, to show how they affect the final result of a company’s activities, to identify “external” events that also affect, and sometimes determine the software architecture. providing enterprises and recommend directions for the development of already established architectures.
Capstone includes the design and implementation of a communication network that used voice over Internet Protocol (VoIP) over an Ethernet-based WAN.
The course forms students’ understanding of the field of information security, its constituent components, main threats, protocols and protection tools. During the study, students will receive basic information security skills and become familiar with professional tools and programs.
The aim of the course is to study the norms of the academic language. The course is aimed at developing academic writing skills using professional vocabulary and terminology. The course content includes topics reflecting the latest developments in information technology and data science.
The course includes an intensive English language study program related to professional activities. The course includes topics reflecting the latest developments in information technology, and a terminological dictionary makes them directly relevant to the needs of students.
The course is designed to reinforce students the basics of programming and developing software systems using the studied programming language, and during the course a small ready-made application will be developed as a result of the course.
The course is designed to study the basics of programming and building algorithms in the C++ programming language.
The course is designed to study programming, debugging and implementing tasks. During the course, the principles of operation of the main components of programming, gaining access to local and remote network resources, programs using the language (Python) are analyzed.
The course is designed to learn the basic concepts of object-oriented programming in the Java language.
The course is designed to study object-oriented programming in Python. Students will study the principles of object-oriented programming, additional elements of the Python language (classes, objects, templates, etc.), receive the conceptual apparatus of object-oriented programming (polymorphism, encapsulation, inheritance, constructor, etc.), form an understanding of the principle code reuse in programming.
The course is designed for students to complete a project after the first year of study, a finished minimum product that they can present at various competitions (hackathons). The course does not involve lectures, and all classes will be practice-oriented, with maximum emphasis on obtaining the results of the finished product. During the course, students must apply all the knowledge gained in the first year, including knowledge of the development of ready-made applications. Great emphasis on this course is given to high-quality writing of the program code of the minimum product.
The course is designed for students to complete a project after the first year of study, a finished minimum product that they can present at various competitions (hackathons). The course does not involve lectures, and all classes will be practice-oriented, with maximum emphasis on obtaining the results of the finished product. During the course, students must apply all the knowledge gained in the first year, including knowledge of the development of ready-made applications. Great emphasis on this course is given to the quality business component of the minimum product.
The course is case-based. They develop mathematical methods using examples and build algorithms for solving specific problems. The course includes the following topics: recursions, sums, integer functions, elementary number theory, binomial coefficients, special numbers, generating functions, discrete probability, asymptotics.
This course is an intermediate class covering the development of computer algorithms and the analysis of complex algorithms. Students learn to analyze the asymptotic performance of algorithms and become familiar with basic algorithms and data structures. They also apply important algorithmic design paradigms and analysis techniques, in addition to synthesizing efficient algorithms in common engineering design situations. The course materials are designed to help students understand the difference between solvable and intractable problems and introduce strategies for dealing with intractable problems.
Database design methodology for NoSQL systems. The approach is based on NoAM (NoSQL Abstract Model), a new abstract data model for NoSQL databases that uses common features of various NoSQL systems and is used to define a system-independent representation of application data. Overall, the methodology aims to support the scalability, performance, and consistency needed for next-generation web applications.
The discipline introduces students to the main directions in the development and use of data storage systems. The purpose of teaching the discipline: to create a base for the application of modern methods of data collection and analysis to solve practical problems and to develop students’ ability to create the necessary data warehouse architecture for analyzing large data sets in order to obtain aggregated information.
The course is designed for more advanced learning of the Java or Python programming language, including learning JSP (Java Server Pages), servlet, JDBC (Java Database Connection), including many basic principles of Java to Enterprise Edition (extended version of Java EE). Exception handling, Generalizations, Delegates, Events, Lambda Expressions, Extension methods, LINQ, Nullable types, Dynamics, Asynchronous Programming with Async/Await, and other topics.
The course continues the Advanced Programming 1 course and is designed for a more in-depth study of the programming language
The course continues the Advanced Programming 1 course and is designed for a more in-depth study of the programming language
This course is designed for advanced mobile operating systems. The mobile applications obtained as a result of the course work can be downloaded from the university repository, also uploaded to the Play Store.