The Software Engineering educational program will allow you to gain fundamental and applied competencies, including knowledge and skills in the following areas:
– design and evaluation of algorithms and data structures;
– development and analysis of application software systems using modern programming languages;
– development and analysis of interacting processes in information environments;
– testing, quality assessment and management of the software creation process;
– working with machine learning algorithms and using cloud and high-performance computing.
Profile subjects: physics + mathematics
– Software developer;
– Back-end and front-end developer;
– Web developer;
– Software tester;
– Manager and architect of it systems and projects;
– Mobile developer.
The goal of the EP
The purpose of the “Software Engineering” educational program is to intensively teach students the theoretical and practical aspects of software development, as well as improve their skills in related industries, such as mathematics, project management and entrepreneurship. After students gain a degree, they will be qualified to work as junior / middle developers in many sectors of the economy, including communications, finance, healthcare, manufacturing, management, and so on.
Objectives of the EP
OK1. The ability to understand the driving forces and patterns of the historical process, the place of a person in the historical process and the ability to understand philosophy as a methodology of human activity, readiness for self-knowledge, initiative, development of cultural wealth as a factor in harmonizing personal and interpersonal relationships
OK2. The ability to form and develop skills and competencies in the field of organization, planning and production management, the ability to apply the acquired knowledge to comprehend the surrounding environmental reality, the ability to summarize, analyze, predict when setting goals in the professional field and choose ways to achieve them using the scientific research methodology
OK3. 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, to public speaking, argumentation, conducting discussions and polemics in a foreign language
OK4. The ability to be competent in the choice of ICT and mathematical modeling methods for solving specific engineering problems, the ability to be ready to identify the natural science essence of problems arising in the process of professional activity, and the ability to attract the appropriate mathematical apparatus to solve it
PC1. The ability to understand modern standards, regulatory framework, the basics of economic knowledge, scientific ideas about project management and technological entrepreneurship.
PC2. The ability to professionally use modern computer equipment, network components, computer programs and complex computing systems (in accordance with the objectives of the program), as well as use the safety rules, industrial sanitation, fire safety and labor protection standards.
PC3. The ability to possess the skills of using and applying algorithms, data structures and modern methods for creating (developing) and further supporting various software systems for analyzing big data.
PC4. The ability to use the basic principles and methods for solving managerial problems, the ability to execute project documentation in a software environment using computer graphics for various types of projects.
PC5. The ability to be competent in the choice of mathematical modeling methods for solving specific applied problems in big data analysis, including the willingness to identify the natural science essence of problems arising in the process of professional activity, and the ability to attract the appropriate mathematical apparatus to solve it.
PC6. The ability to design the architectures of components of information systems, including the human-machine interface of hardware and software systems, and to select operating systems and information protection methods.
PC7. Ability to develop information and information system software based on modern development methods and tools.
PC8. Ability to collect, process and analyze data using the organization’s methodological and technological infrastructure.
PC9. The ability to manage the life cycle stages of the methodological and technological infrastructure of software development, data analysis, design of IT infrastructure in various organizations.
PC10. The ability to use modern programming environments for the design and implementation of software solutions and databases for information and communication technologies.
PС11. The ability to apply the elements of probability theory and mathematical statistics that underlie the models and methods of data science, to choose the right methods of data analysis, machine learning and artificial intelligence to solve practical problems.
PС12. The ability to develop and implement safe and testable solutions based on new methods and technologies for information security, used when working with information and communication technologies.
LO1. Explain and understand the regulatory framework, including documents, standardization and certification procedures in the development of information and communication technologies.
LO2. Apply domestic and foreign standards for software development in organizations.
LO3. Apply practical programming skills and explain the general methodological foundations of program development, create system programs for various levels of computer systems and software architecture, including low-level programming and microcontroller programming.
LO4. Demonstrate knowledge of the architecture of computer systems, manage operating systems.
LO5. 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.
LO6. Apply 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.
LO7. Apply mathematical tools to analyze software systems and data based on statistical and probabilistic models.
LO8. Apply hardware and software services to ensure the continuity of the process of developing software systems.
LO9. Independently analyze modern sources, draw conclusions, argue them and make decisions based on information.
LO10. Develop secure server-side web client applications and mobile applications.
|№||Exam form||Recommended ratio, %|
The course considers the modern history of Kazakhstan, how 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 twentieth century and to this 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 national philosophy are studied. Philosophy is a special form of cognition of the world, creating a system of cognition 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 study program focused on grammar and speaking skills. The course includes topics that reflect the latest advances 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 an improvement of the skills acquired in the 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 of people in ordinary and professional activities using information technology. Technology data is 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, improving one’s political outlook and communicative competencies. Teaching political knowledge is communicative, interactive, student-oriented, result-oriented, and largely depends on the independent work of students.
The course includes knowledge of sociological subject areas, research methods and directions. The course will discuss in detail the basic sociological theories and the most effective ways of gaining deep knowledge about various aspects of our modern society. The special significance of this course for students is the opportunity to develop a sociological imagination, to understand the basic concepts of sociology as a science.
The course presents questions of psychology in a wide educational and social context. The knowledge and skills acquired and formed as a result of mastering the course content give students the opportunity to put them into practice in various areas of life: personal, family, professional, business, social, in working with people from different social groups and age groups.
The course will help to become the basis for studying the whole complex of social and human sciences, 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 the Kazakh culture, the Kazakh culture in the context of globalization, the cultural policy of Kazakhstan, etc.
The course is devoted to the formation of physical culture of a person and the ability to use various means of physical culture in a targeted way to preserve and health promotion.
The course is devoted to the study of the principles and methods of building an organization, planning and control at an enterprise, economic analysis of the production process and evaluation of its results, organization and control of the production process. The course examines the entrepreneurial skills and leadership qualities required to successfully become an IT entrepreneur.
The course is designed to learn the basics of process management, including life cycle management when developing software for small and large enterprises. During the course, flexible development process management methodologies, such as the Agile methodology, will be partially considered.
The course is designed for students to complete a project, a finished minimum product, which they will be able to present at various competitions (hackathons). The course does not imply a lecture, and all classes will be practice-oriented, with the maximum emphasis on obtaining the results of the finished product. During the course, students should apply all the knowledge gained in the second year, including knowledge on the development of ready-made applications.
The course introduces students to basic (basic) machine learning algorithms, as well as the use of these algorithms to solve real production problems. Also, during the course will be partially considered data mining and image recognition. The course is built using the Python programming language, and its main libraries.
This course is designed to develop software systems and an application where the focus will be on applying cloud-based solution where it will show the greatest efficiency. Students will be able to work with a variety of cloud providers such as Amazon, Google, Microsoft.
The course is dedicated to studying the basics of high-performance computing using so-called distributed algorithms and parallel computing.
The course develops the ability to use project management tools at various stages of the project life cycle, to make qualitative and quantitative assessment of project risks, to determine the effectiveness of the project.
Students’ Industrial practice
Pre-diploma student practice
The course is designed to test the bases and software quality assurance, which are a mandatory step in the development of any software system. The right approach to testing software systems will allow students to avoid many mistakes when developing real systems.
The course is designed to learn the basics of testing network applications, including testing the load of data transmission channels to achieve the optimal result.
The course is intended to study the basics of information security with a focus on software security.
The course is designed to study the basics of information security in network applications.
The course is designed to examine the basic methods and tools required for the introduction of scientific research. The course also introduces students to popular search databases of scientific articles such as Web of Science, Scopus, ScienceDirect and others.
The course involves examining the basics of analyzing applications required to form an expert opinion when evaluating applications, such as evaluating startups or other fast-growing IT businesses.
The course involves the study of the foundations of algebra and geometry at the university level and includes matrix theory, linear equations systems, vector theory, analytical geometry, limit and differentiation of functions of one variable
The course introduces students to the important branches of calculus and its applications in computer science. During the educational process, students should become familiar with and be able to apply mathematical methods and tools to solve various applied problems. Moreover, they will study the fundamental methods of studying infinitesimal variables using analysis, the basis of which is the theory of differential and integral calculations.
The course is part of mathematics devoted to the study of discrete objects (here discrete means consisting of separate or unrelated elements). In a more general sense, 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 way.
The course is devoted to the probability and statistics of any events, as well as the relationship between mathematics and programming, operating systems as part of an interdisciplinary training program covering the section of mathematical analysis, modern statistical methods and economic theory.
The course is designed to study algorithms and data structure for solving various applied problems. For this, the program structure, the principles of constructing algorithms and programs, methods for solving, algorithms, and programming are considered.
The course includes and involves students studying the most popular relational and non-relational database management systems, as well as a combination of general and special purpose software and linguistic tools that provide control over the creation and use of databases.
The course involves studying the architecture of a computer, or describing it at some general level, including a description of user programming capabilities, a command system, an addressing system, memory organization, etc., and also includes studying the structure of a computer as the totality of the functional elements of the computer and the relationships between them.
The course includes an intensive, more advanced program for studying academic and applied (information technology) English, oriented professional skills in professional speaking and understanding of common terminology. The course includes topics that reflect the latest advances in information technology, and a terminological dictionary makes them directly relevant to the needs of students.
The course is designed to consolidate the fundamentals of programming and development of software systems by students using C++, and during the course a small finished application will be developed as a result of the course.
The course is designed to explore programming, debugging, and task implementation. During the course, the principles of networking technologies, access to local and remote network resources, programs using the language of Care licked.
The course is designed to explore the basics of programming, debugging, and software implementation. The course also analyzes how networking technologies and programs work using the Java programming language.
The course is designed for students to teach them how to write apps using an object-oriented approach in the programming language of the C.
The course is designed for students to teach them how to write apps using an object-oriented approach in Java programming language.
The course teaches students to use PhP programming language to develop functional websites, and also provides insight into the basics of working with the MySQL database and involves the development of secure server client web applications.
The course is designed to gain the necessary knowledge, skills and skills to create a variety of web applications using the Ruby programming language.
The course involves the study of one of the most important components of an object-oriented software development technology – software design patterns. This course is a formalized description of a frequently encountered design problem, its successful solution and recommendations on the application of this solution in various situations. The main programming language used is the Java programming language.
The course involves the study of one of the most important components of an object-oriented software development technology – software design patterns. This course is a formalized description of a frequently encountered design problem, its successful solution and recommendations on the application of this solution in various situations. As the main programming language, the programming language C # is used.
The course aims to explore the basics of operating systems and computer networks required for data analysts, IT professionals, and software developers to understand their basic principles of data usage, storage, and transmission.
The course aims to explore the basics of security of operating systems and computer networks required to understand the degree of security of the system being developed in the environment used. The focus during the course is on working with the open Linux operating system.
The course is designed for more advanced Java language learning, including JSP (Java Server Pages), Servlet, JDBC (Java Database connection), including many of the basic principles of Java to Enterprise Edition (Advanced Java EE).
The course is designed for more advanced learning of the programming language of CJ, including Exception Handling, Generics, Delegates, Events, Lambda Expressions, Extensions Methods, LIN, Nullable Types, Dynamics, Asynchronous Programming with Async / Await, and other topics.
The course continues with the Java 1 Advanced Programming course and is designed for more advanced Java language learning, including JSP (Java Server Pages), Servlet, JDBC (Java Database connection), including many of the basic principles of Java to Enterprise Edition (Java EE).
The course continues with Advanced Programming C# and is designed for more advanced learning of the C programming language, including Exception Handling, Generics, Delegates, Events, Lambda Expressions, Extensions Methods, LIN, Nullable Types, Dynamics, Asynchronous Programming with Async / Await, and other topics.
The course is designed for more advanced Java programming language learning, including Exception Handling, Generics, Delegates, Events, Lambda Expressions, Extensions Methods, LIN, Nullable Types, Dynamics, Asynchronous Programming with Async / Await, and other topics.
This course is designed to learn the basics of mobile development using the Android Studio development environment for the Android operating system. Mobile applications received as a result of the course can be downloaded to the university repositories and also displayed on the Play Store.
This course is designed to study mobile development for the iOS operating system. Mobile applications received as a result of the course can be downloaded to the university repositories, as well as exhibited in the Apple Store.
This course is designed for students to learn the basics of procedural programming using the Oracle PL/SQL programming language and The Oracle database.
The course teaches students to use data structures, functions, modules, classes and other features of the Python programming language for solving applied problems.
This course is designed for an in-depth (advanced) study of mobile development for the Android operating system. Mobile applications received as a result of the course can be downloaded to the university repositories and also displayed on the Play Store.
This course is intended for an in-depth (advanced) study of mobile development for the iOS operating system. Mobile applications received as a result of the course can be downloaded to the university repositories, as well as exhibited in the Apple Store.
This course is designed for students to learn the basics of procedural programming using the Oracle PL/SQL programming language and The Oracle database.
The course teaches students to use data structures, functions, modules, classes and other features of the Python programming language to solve applied problems at an advanced level.
The course addresses the development of innovative approaches to creating and documenting software architecture. The course aims to highlight existing approaches to the documentation of architectural design, build the relationship between functional objects used as units of architecture, show how they affect the final result of a company’s activity, identify “external” events that also affect, and sometimes determine, the software architecture providing enterprises and recommend the development directions of already existing architectures.
The course prepares students for the professional certification exam and involves preparing network application administrators for the design of various network services.
The course involves the study of software performance in the following areas: in engineering and scientific developments, where complex lengthy calculations are often performed, and processor time on cluster systems is expensive and limited; in web applications in which the page generation time is critical for the user and directly depends on the volume of server capacities; as well as embedded software products.
The course involves the study of software performance in the direction of network applications.
The course involves the creation of business ideas using design thinking. Students will see the customer’s problem, come up with several solutions and scale the best of them to the entire market. The course will help to understand the needs of customers – even those that they are not aware of; come up with some ideas on how to meet these needs; prototype and test ideas at no cost; select a solution, invest in it and know that customers need it.
The course is focused on the formation of a systematic approach to managing communications in the project. Students will become familiar with communication management processes, mastering modern methods and techniques of working with information. In the process, practical steps will be considered to create an optimal information exchange system with project participants.