Software Engineering Master Program with Thesis (Turkish)

Course Contents

COMPULSORY COURSES:

 

YZL701 Object-Oriented Programming  (3-0-7,5) 

Basic concepts of software engineering. Types of computer systems and software as part of it. Relationship from software engineering to systems engineering. Scope of software engineering: Software development (analysis, design, coding and testing), software engineering management, software configuration management, software engineering processes, tools, methods and quality assurance. Software metrics and cost estimation. Software quality cost. Software development process models and process reference models. 

YZL703 Database Management Systems  (3-0-7,5) 

Database Systems Overview, Entity-Relationship Model and Database Design, Relational Model, Integrity Constraints and Normalization, Relational Algebra and Relational Calculus, Sql : Standard Database Language, Object-Oriented Model, Object-Relational Systems, Physical Structures and Indexes . 

YZL705 Software Project Management (3-0-7,5) 

Overview of common project management topics. Special management techniques specific to the nature of software development. Fundamentals of software project management. Project staff and organization. Software size, development time, cost, budgeting and scheduling estimation. Product and process lifecycles, offerings, investment decisions, pricing and costing, and earned value management (EVM).

ELECTIVE COURSES :

 

YZL 707 Data Science (3-0-7,5) ()

The aim of the course is to present the basic technologies for analyzing big data. It offers approaches for mining, management, and visualization of structured and unstructured data. It introduces key data analytics technologies and their combination with machine learning to analyze big data. It offers the application of data analytics and big data in the context of systems monitoring and evolution, society and financial analysis and forecasting.

YZL708 Software Quality Assurance Engineering  (3-0-7,5) 

Quality Management Concepts; total quality and quality management, scope of software quality management, software quality assurance, verification and validation, place of quality management in project life cycle. Software Quality Assurance; review and types, product and process audits, software quality assurance process and outputs. Verification and Validation; validation and validation concepts, validation methods, validation methods, Model V and test levels (unit, integration, functional, acceptance). Quality Management System (QMS); QMS principles, process management concept, ISO 9001 standard and its application to software engineering, QMS infrastructure and features.

YZL710 Advanced Data Mining (3-0-7,5)

Methods of extracting hidden and possibly useful information from structured and unstructured databases will be discussed. For this purpose, first of all, online analytical processing techniques for data warehouses and data mining will be given. Then, data preparation for data extraction, finding correlation rules, classification and estimation methods, clustering analysis concepts will be discussed. Finally, the extraction methods of information on the web and biological databases will be explained.

YZL712 Parallel and Distributed Computing (3-0-7,5) 

Principles of modern parallel and distributed systems. Introduction to parallel programming, basic communication operations, scalability analysis of parallel systems, use of parallel algorithms for problems such as dense matrix computation, sorting, searching, load balancing. The use of parallel processing in different application areas, shared memory, multiprocessor architectures and fault tolerance in parallel systems. Solving various problems using one or more parallel programming environments (PVM, MPI, Java).

YZL714 Advanced Web Programming (3-0-7,5) 

Design of static, interactive and well-designed web pages with Javascript, CSS and HTML, creation of advanced web pages with user interaction with C# ASP.net.

YZL716 Artificial Intelligence  (3-0-7,5) 

By providing the understanding of the basics of artificial intelligence, it contributes to learning the basics of program and machine development similar to human and animal thinking systems. It provides the learning of the methods and algorithms used in artificial intelligence and creates a basis for their use. In this way, it is possible to have a mindset that can produce solutions with artificial intelligence methods suitable for the problems encountered.

YZL718 Cyber Security  (3-0-7,5)