Computer Science

Computer Science

6B06101

Educational program “Computer Science” includes disciplines on the basics of IT technology and software that allow students to position themselves as IT professionals, including software development and maintenance of various scales.   IT management skills in the company, as well as multiple programming languages, will be able to develop software for large companies such as banks, insurance companies, government and national organizations, and others.

The goal of the EP

The aim of EP “Computer Science” is to train students in the theoretical and practical aspects of information technology, as well as to improve their skills in related industries such as mathematics, project management and entrepreneurship. By the end of program, students will be able to start a job in the following role Junior / Medium IT specialists in many sectors of the economy including communications, finance, healthcare, manufacturing, management and so on.

Objectives of the EP

  • Providing highly qualified computer scientists in private and public companies.
  • Providing students with a wide range of computer science expertise based on the educational program required to start working as a Junior IT specialist in a variety of companies, including small businesses of up to 10 people, to large national and private organizations employing more than 1,000 people.
  • The development of the flexible (soft) qualities required in students to develop the leadership and patriotic parties needed to shape them as successful and committed leaders of their industry.

6B06 - Information and Communication Technologies

Education code and classification

057 - Information Technology

Education Programs Group

061 - Information and Communication Technologies

Code and classification of training directions

Requirements for evaluating the learning outcomes of the educational program

A student, after mastering the entire educational program, must be able to fulfill the following points:
  • Formulate and solve problems arising in the course of production activities that require in-depth professional knowledge.
  • To formulate the problem, both mathematical approaches and computer tools can be used;
  • Choose the necessary approaches and methods for analyzing problems, as well as modify existing ones and develop new ones, depending on the tasks of a particular case;
  • To apply in the process of training psychological methods and means of increasing the effectiveness and quality of training;
  • Proficient in a foreign (English) language, allowing students to conduct research at a high-quality level and to teach special disciplines in universities;
  • To model and design complex systems using mathematical and computer models and methods;
  • Apply quantitative and qualitative methods and techniques for collecting primary information for research, as well as developing effective solutions to problems;
  • Analyze and design software tools for data analysis, as well as the algorithms, models and methods required for developing software systems, effective data analysis and extracting knowledge from data;
  • Manage a team of developers in the process of developing software systems, as well as models and methods of data analysis;
  • Choose standards, methods, technologies, tools and technical means for carrying out work on further maintenance of software systems;
  • Apply methods of design and development of software systems to solve a wide class of applied problems in various fields, including interdisciplinary industries;
  • Program and test various solutions (models, methods), take part in the creation and management of systems at all stages of the life cycle of system development.
  • Create relational and non-relational databases for the effective storage and management of data in various large organizations, government agencies and other companies.
  • Create analysis models for structured, semi-structured and partially unstructured data.
  • To analyze the complexity of calculations and the possibility of parallelization (optimization) of the developed algorithms and programs.
  • Assess the main parameters of the resulting parallel programs, such as numerical indicators of the required computing resources, acceleration, efficiency and scalability.

The list of competencies and the results of the educational program

The list of competencies of the educational program

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.

Learning Outcomes

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.

Assessment of learning outcomes

Exam form Recommended ratio, %
1 Computer testing 20
2 Written 10
3 Oral 5
4 Project 30
5 Practical 30
6 Comprehensive 5

GRADUATE MODEL

«ASTANA IT UNIVERSITY»

Bachelor of Educational Programme 6B06101 “Computer Science”  

 

GRADUATE MODEL

«ASTANA IT UNIVERSITY»

Bachelor of Educational Programme 6B06101 “Computer Science”  

 

DEVELOPMENT PLAN

Educational Program 6B06101 “Computer Science”  

 

DEVELOPMENT PLAN

Educational Program 6B06101 “Computer Science”  

 

Course Curriculum

The cycle of general education disciplines

Mandatory component

OK1Modern history of Kazakhstan

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.

OK1Philosophy

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.

OK3Foreign Language (English)

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.

OK3Kazakh (Russian) language

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.

ОК4, PC1, PC2Information and Communication Technologies (in English)

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.

OK1Module of social-political education: Political science

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.

OK1Module of social-political education: Sociology

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.

OK1Module of social-political education: Psychology

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.

OK1Module of social-political education: Cultural studies

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.

Physical Culture

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 cycle of general education disciplines

University component

ОK2, PC1, PC9Technological entrepreneurship

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.

Cycle of profiling disciplines

University component

PC1, PC10Robotics and Mechatronics

The course is designed to explore the basics of robotics and mechatronics and involves immersing yourself in the theoretical framework required to become a specialist in robotics and mechatronics, as well as practical programming skills of these systems.

PC7, PC10Software Factory (project)

The course is designed to be performed by students of a project, a finished minimum product, which they will be able to present at the different competitions (hackathons).

PC8Machine learning algorithms

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.

PC1, PC10Cloud computing applications

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.

PC1, PC10Distributed algorithms and parallel calculations

The course is dedicated to studying the basics of high-performance computing using so-called distributed algorithms and parallel computing.

ОК2, PC4, PC9Project management

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.

Industrial practice

Students’ Industrial practice

Undergraduate practice

Pre-diploma student practice

Cycle of profiling disciplines

Component by choice

PC12Embedded systems design

The course is designed to explore the basics of designing embedded systems, particularly Internet of Things systems.

PC12Software Quality Assurance and Testing

The course is designed to explore the basics of software quality assurance and testing, including testing the congestion of communication channels to achieve optimal results.

PC12Information Security Fundamentals

The course is designed to explore the basics of information security with a bias to software security.

PC12Network Application Security

The course is designed to explore the basics of information security in network applications

PC1, PC4Research Methods and Tools

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.

PC1, PC4Applied applications analysis

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.

Cycle of basic disciplines

University component

ОК4, PC5Algebra and geometry

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

ОК4, PC5Mathematical Analysis

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.

ОК4, PC5Discrete mathematics.

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.

ОК4, PC5, PC11Theory of Probability and Mathematical Statistics

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.

PC7, PC10Introduction to WEB (HTML, CSS, JavaScript)

The course teaches students the basics of website layout and application using the HTML markup language, website style planning using Cascading Style Sheets (CSS), and the use of the scripting language JavaScript to perform basic functions.

PC3Algorithms and Data Structures

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.

PC3, PC8, PC10Database Management Systems

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.

PC2, PC6Computer Organisation and Architecture

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.

OK3Professional English

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.

PC7Educational practice

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.

Cycle of basic disciplines

Component by choice

PC7, PC10Fundamentals of programming С++

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.

PC7, PC10Fundamentals of programming Java

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.

PC7, PC10Object oriented programming C++

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.

PC7, PC10Object oriented programming Java

The course is designed for students to teach them how to write apps using an object-oriented approach in Java programming language.

PC7, PC10Web Technologies (PHP)

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.

PC7, PC10Ruby programming language

The course is designed to gain the necessary knowledge, skills and skills to create a variety of web applications using the Ruby programming language.

PC10Digital systems

The course involves the study of various digital systems, as well as how to work and interact with these systems.

PC3, PC7, PC10Software Design Pattern

The course involves studying one of the most important components of object-oriented software development technology – software design patterns. This course is a formalized description of the common design task, a successful solution and recommendations for applying this solution in different situations.

PC2, PC6Operating Systems (Windows / Linux administration)

The course aims to explore the basics of operating systems required for IT professionals and software developers to understand the basic principles of data usage, storage, and transmission. Microsoft’s Windows operating system and RedHat’s Linux operating system will be reviewed as an operating system on the course. During the course, students will have the knowledge required to position them as administrators of the above operating systems.

PC12Operating Systems Security

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.

PC2, PC6Computer organization and architecture 2

The course involves further (more in-depth) study of the computer’s architecture, or its description on a general level, including a description of the user’s programming capabilities, command system, addressing system, memory organization, etc., and includes the study of the structure of the computer as a combination of the functional elements of the computer and the connections between them.

PC7, PC10Advanced programming 1

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.

PC2, PC6Computer Networks (Cisco CCNA, R&S)

The course involves learning the basics of computer systems, topology and computer networking, as well as the principles of building a network architecture of any enterprise.

PC7, PC10Advanced Programming 2

The course continues with Advanced Programming1andis designed for more advanced Java programming learning including Exception Handling, Generics, Delegates, Events, Lambda Expressions, Extensions Methods, LIN, Nullable Types, Dynamics, Asynchronous Programming with Async / Await, and other topics.

PC7, PC10Mobile Development 1 (Android)

This course is designed to explore the basics of mobile development using the Android Studio development environment for the Android operating system.

PC7, PC10Mobile Development 1 (iOS)

This course is designed to explore mobile development for the iOS operating system. Mobile apps that result from the course can be downloaded to the university repository and exhibited in the Apple Store.

PC7, PC8, PC10PL/SQL Programming 1

This course is designed for students to learn the basics of procedural programming using the Oracle PL/SQL programming language and The Oracle database.

PC7, PC8, PC10PL/SQL Programming 2

This course is designed for students to learn the basics of procedural programming using the Oracle PL/SQL programming language and The Oracle database.

PC7, PC8, PC10Python Programming 1

The course teaches students to apply data structures, features, modules, classes, and other Python programming language capabilities to solve applied tasks.

PC7, PC10Mobile Development 2 (Android)

This course is designed for in-depth (advanced) study of mobile development for the Android operating system.

PC7, PC10Mobile Development 2 (iOS)

This course is designed for in-depth (advanced) mobile development studies for the iOS operating system.

PC7, PC8, PC10Python Programming 2

The course teaches students to apply data structures, features, modules, classes, and other Python programming language capabilities to address applied tasks at an advanced level.

PC9, PC10Software Architecture

The course looks at developing innovative approaches to creating and documenting 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 pieces of architecture, to show how they affect the end result of activity companies that identify “external” events that also affect and sometimes define the architecture of enterprise software and recommend the direction of development of existing architectures.

PC6, PC9Network Application Architecture

The course prepares students for the professional certification exam and involves preparing network application administrators for the design of various network services.

PC8Information theory

The course involves studying the section of applied mathematics and computer science, relating to the measurement of the amount of information, its properties and setting limits for data transmission systems. As a basis during the course and uses the mathematical apparatus of probability theory and mathematical statistics.

PC6Network Application performance analysis

The course involves studying the performance of software in the direction of network applications.

ОК3, PC4Mastering Design Thinking

The course involves creating business ideas with the application of design thinking. Students will see the customer problem, come up with several solutions and scale the best of them to the entire market. The course will help you understand the needs of customers, even those they don’t know about; Come up with a few ideas on how to meet these needs; Create prototypes and test ideas at no cost select a solution, invest in it and know that customers need it.

ОК3, PC4Communications Management

The course is focused on forming a systematic approach to communication management in the project. Students will learn about the processes of communication management, mastering modern methods and techniques of working with information. The process will consider the practical steps to create a system for optimal information sharing with the project participants.