Educational program 6B06110 "Software Engineering" is designed to implement the principles of democratic management, expanding the boundaries of academic freedom and authority of educational institutions, which will ensure the adaptation of the system of technical and vocational education to the changing needs of society, the economy and the labor market. The flexibility of the program will allow taking into account the abilities and needs of the individual, industry and society.
The educational program provides an individual approach to students, ensures the transformation of professional competences from professional and qualification standards to learning outcomes. Student-centered learning is provided – the principle of education, which assumes a shift of emphasis in the educational process from the teacher to the learner.
The field of professional activity of graduates includes public and private enterprises and organizations that develop, implement and use computer equipment and software in various spheres, namely: telecommunications, science and education, healthcare, agriculture, engineering, metallurgy, transport, service, administrative management, economics, business, management of various technologies, that is, in almost all spheres of human activity.
The aim of the EP is to provide practice-oriented preparation of highly qualified specialists in the field of software development, qualified developers of software and information systems and software architects, software quality specialists, software testers for the IT industry of the Republic of Kazakhstan.
The objectives of the EP:
- To train a universal specialist who is knowledgeable in mathematics, ICT, computer science; is able to use modern information and communication technologies in the subject area.
- To teach students how to formalize the subject area of a software project and develop specifications for software product components.
- To develop students ' ability to design software architecture and ensure a high level of continuity and quality of complex software development.
- To teach students to design and develop user interfaces, commercial software components, databases, and embedded software modules.
- To familiarize students with the methods and tools of software code research to identify / eliminate errors and problems in the software.
- To teach students the skills of checking the compliance of specifications and indicators of performance and efficiency of integrated systems, as well as to design, construct and test components of a software product.
- To give students knowledge of designing logical database schemas using relational, object-oriented, object-relational, key-value schemas for simple and complex defined systems.
- To acquaint students with the life cycle of software development, various methodologies for its development and testing.
- To teach students to create test cases and form test sets, work through and write acceptance tests, test scenarios, and to document the identified defects.
Upon completing the educational program, the student will be able to:
- demonstrate the ability to use basic mathematical tools.
- use various tools for developing software, user interfaces, data storage and processing systems.
- explain the progress of programs in a high-level language at the instruction level.
- use a wide range of memory technologies, both internal and external; write program codes for manipulating bits in the processor.
- solve practical tasks by creating programs in a good style, as well as modify and rewrite the created programs using analysis tools, development environment(s) for creating and debugging applications and modern compiler environments.
- explain the compiled software documentation and create documentation using operation diagrams, class diagrams, state diagrams, and entity relationship diagrams (ER). Be able to develop logical and physical architecture models of a software system.
- design logical database schemas using relational, object-oriented, object-relational, key-value schemas for simple and complex defined systems.
- understand the software development lifecycle, various development and testing methodologies.
- create test-cases and test sets, work through and write acceptance tests, test scenarios, and document the identified defects.
- have the skills to select, design, implement, evaluate the quality and analyze the effectiveness of software for solving problems in various subject areas.
- independently comprehensively and critically analyze modern sources, draw conclusions, give reasons for them and make decisions based on the information.