Software Engineering Introduction
The software engineering department trains engineers who can analyze complex software problems, design systems that will be the solution, and manage and design them.
The software can be divided into two large groups: application software and system software. Examples of application software are corporate management systems and information systems. Operating systems and compilers are examples of system software. The software engineering department provides training to raise individuals who can analyze, design and develop these software. Therefore:
- Algorithm analysis / design,
- Programming languages are important issues in their technologies education plan.
In software projects, many software developers are generally employed. The department's curricula includes courses for developing and effectively managing software projects of all sizes.
A simple example:
Lets consider a current banking software. In these systems, users can perform all kinds of banking transactions via a web or mobile application. On the other hand, administrators should be able to monitor important parameters instantly via web or mobile application.
The development of such a system requires knowledge/skills/competence in:
- Information on computer systems and network,
- Knowledge and ability to manage distributed computer systems,
- Algorithm design competence, analysis and comparison ability of existing algorithms (especially distributed algorithms),
- Advanced level of knowledge and skills competence about the programming languages required for the following sections:
- Database: Software for storing data and accessing it quickly when required. For this purpose, database analysis, design and coding (SQL language, knowledge of data distribution modules),
- Business layer: Software to run on server systems (Java, C-Sharp or Python programming languages and libraries),
- Presentation part: Software to run in the browser (HTML, CSS, Java script language and libraries)
5. By putting all this together:
- Using resources (computer hardware, network) effectively,
- To create a safe system in accordance with the standards
Another example:
If the software project is to develop an operating system for a special computer system to be used in automotive, for example, the following knowledge, skills and competencies are required:
- Detailed information about computer hardware (processor, memory, input and output units),
- Algorithm design competence, analysis and comparison skills of existing algorithms,
- Advanced level of knowledge and skills competence about the programming languages required for the following sections:
- Highly effective programming on C and/or C ++ programming languages,
- Ability to debug with software tools such as GDB,
- Processor-specific assembler language knowledge and skills,
- Performing initial startup, accuracy and performance tests on hardware,
4. By putting all this together:
- Using resources (processor, memory and input / output devices) effectively,
- To create a system that is compatible with standards and safety rules.
Our department was created to train competent engineers on all these issues.