Software Engineering

Also available in: Türkçe

  • Prof. Dr. Adil AMİRCANOV
  • Assist. Prof. Dr. Yöney KIRSAL EVER (Chairperson)
  • Assist. Prof. Dr. Kaan UYAR
  • Assist. Prof. Dr. Ümit İLHAN
  • Assist. Prof. Dr. Boran ŞEKEROĞLU (Coordinator)
  • Assist. Prof. Dr. Kamil DİMİLİLER
Course Code Course Title T A C ECTS C / E
SE500 Thesis 0 0 0 30 Compulsory
SE501 Seminar 0 0 0 20 Compulsory
SE511 Principles of Software Eng. 3 0 3 10 Compulsory
SE513 Software Requirements Eng. 3 0 3 10 Compulsory
SE515 Software Quality Assurance and Reliability 3 0 3 10 Compulsory
SE512 Managing Software Development 3 0 3 10 Compulsory
SE514 Software Design Process 3 0 3 10 Compulsory
TE Technical Elective 3 0 3 10 Elective
TE Technical Elective 3 0 3 10 Elective
Total Credits: 21 120

500 Thesis
Program of research leading to MSc degree, arranged between a student and the faculty member. Students register to this course in all semesters starting from the beginning of their third semester while the research program or write-up of the thesis is in progress.

501 Seminar
The students taking the course are required to make presentations on their project studies and prepare reports.

511 Principles of Software Engineering
Introductory concepts in software engineering covering an overview of topics in software life cycle, project planning, software management, requirements capture and analysis, human factors, functional specification, software architecture, design methods, programming for reliability and maintainability, team programming, testing methods, configuration management, system delivery and maintenance, process and product evaluation and improvement and project documentation.

512 Managing Software Development 
Overview of general project management issues. Specialized management techniques unique to nature of software development. Fundamental issues of software project management. Project personnel and organization. Software size, development duration, cost, budgeting and schedule estimation. Detailed project planning and scheduling in software development. Software process management. Software configuration management. Public domain and commercial tools for software project management.

SE513 Software Requirements Engineering
System and software requirements engineering. Identification, elicitation, modeling, analysis, specification, management, and evolution of functional and non-functional requirements. Interactions and trade-offs among hardware, software, and organization. Transition from requirements to design. Critical issues in requirements engineering.

514 Software Design Process
Representations of design and architecture. Software architectures and design plans. Design methods. Design state assessment. Design quality assurance. Design verification. Group design and implementation of an application.

SE515 Software Quality Assurance and Reliability
Processes and methods for developing, assessing and maintaining quality software. Quality factors, reliability, robustness etc. Software quality assurance via verification, testing and fault-tolerance. Software quality standards and enforcement processes. Software verification.


COM 506 Database System Design 
Introduction to Database Systems, Overview of Database Design Process. Semantic Database Models. Logical Database Design: Entity-Relationship Model to Relational Model. Query Processing and Optimization, Relational algebra, and Relational Calculus. Schema Refinement and Normal Forms, Normalization. Transaction Management, Crash Recovery, and Concurrency Control. Object-Database Systems. OODBMS, ORDBMS.

COM 516 Distributed Systems 
Function and structure of modern distributed operating and database management systems. Theoretical foundations are given for concurrency, interference, and mutual exclusion. Considered synchronous and asynchronous communication are main reasoning about message passing. Remote procedure call and rendezvous mechanisms are conceptual for the client-server systems. Distributed resource management schemes are essential points of implementation and case studies. Advanced concepts of distributed data bases (transactions management in distributed and object-oriented databases) with future trends are introduced.

COM 517 Distributed Database Management Systems 
An overview of distributed databases, a review of databases, concurrency control in centralized DBMSs, concurrency control in distributed databases, serializability theory 3, two-phase locking, timestamps ordering serialization, graph checking, time interval technique, optimistic methods, handling replicated data multi-version data, distributed database design, recovery query processing in distributed DBMSs.

COM 519 Soft Computing 
Elements of Softcomputing. Hybrid intellectual systems. Fuzzy logic, fuzzy and linguistic modeling. Neural systems, neural modeling. Genetic algorithms, gentic operators. Chaos theory. Fuzzy neural networks and their learning. Neuro-genetic systems. Fuzzy-genetic systems. Neuro-fuzzy-genetic systems. Modelling and application of Softcomputing elements for solving different engineering problems.

ISE504 E-commerce
Introduction to E-commerce, E-Commerce Business Models and Concepts, The Internet and Word Wide Web, E-Commerce Infrastructure, Building an E-Commerce Web Site, Online Security and Payment Systems, E-Commerce Marketing Concepts, E-Commerce Marketing Communications, Ethical Social and Political Issues in E-Commerce, Online Retailing and Services, Online Content and Media, Social Networks, Auctions and Portals, Supply Chain Management and Collaborative Commerce

MAT501 Advanced Mathemetics For Engineers
Stochastic Properties of Random Signals. Stationary and Nonstationary Process. Ergodic Process. Corellation Function and Spectrum of Random Signals. Guassian Process. Noise Calculations. Markov Process. Linear and Kalman Filtering. Problems Using Matlab.