ECTS - - Software Engineering Master of Science with Thesis

Compulsory Departmental Courses

MDES600 - Research Methodology and Communication Skills (3 + 0) 5

Rigorous, scholarly research, particularly theses or dissertations. Literature review, surveys, meta-analysis, empirical research design, formulating research questions, theory building, qualitative and quantitative data collection and analysis methods, validity, reliability, triangulation, building evidences, writing research proposal

SE550 - Software Engineering (3 + 0) 5

Introduction to software engineering and related topics; software process and project metrics; project planning; scheduling and tracking; configuration management; software quality assurance; requirement analysis; data flow diagrams and related topics; design concepts and methods; implementation; testing methods and test strategies; object-oriented

SE554 - Software Quality Management (3 + 0) 5

Introduction to software quality and assurance; components of software quality assurance; configuration management; reviews, inspection and audits; software testing strategies and techniques; software quality standards; certification and assessment; introduction of case studies related with software process improvement and quality metrics.

SE589 - Graduation Seminar (0 + 0) 5

Each Master's student with thesis option, at least one semester prior to his/her thesis defense, is expected to give a presentation on his/her thesis work.

SE597 - Master's Thesis (0 + 0) 80

Problem identification and analysis; research methodologies; literature survey; typical phases of the system development life cycle; requirement analysis; design; implementation; testing; thesis documentation.

Elective Courses

CMPE312 - Visual Programming (2 + 2) 5

Review of object-oriented programming, visual programming basics such as value types, operator overloading, exception and event handling; using GUI frameworks; working with files and data access by using XML.

CMPE318 - Java Programming (2 + 2) 5

Java technology, object-oriented programming, objects, classes, modularity; encapsulation, polymorphism, elements of Java, exceptions, garbage collector; classes and inheritance; interfaces; the collections framework; the input/output framework; the graphical user interfaces framework; threads.

CMPE341 - Database Design and Management (3 + 2) 7

Database system concepts, data modeling with ER and EER, the relational data model, file organizations and index structures, relational algebra, structured query language (SQL); database design: functional dependence and table normalization; introduction to database administration; a relational DBMS in a laboratory environment.

CMPE363 - Introduction to Machine Learning (2 + 2) 5

Artificial intelligence, machine learning, Supervised and Unsupervised Learning, Binary classification, Multiclass classification, Regression, Clustering, Model Evaluation Metrics and Scoring

CMPE376 - Computer Games and Simulation (2 + 2) 5

History of games and current trends in games, the main concepts on game design and development, evaluating commercial games; main game design issues; creating simulations; using artificial intelligence in games; using physics and mathematics in games; main computer graphics concepts used in games; human computer interaction concepts for developing

CMPE555 - Introduction to Recommender Systems (3 + 0) 5

Basic Concepts of recommender systems, collaborative filtering algorithms, content-based recommendation algorithms, knowledge-based recommendation algorithms, and hybrid recommendation algorithms, evaluating recommender systems, a case study to generate personalized recommendations.

CMPE572 - Fundamentals of the Theory of Computation (3 + 0) 5

Models of computation, Church-Turing thesis, decidability and undecidability, recursive enumerability, time complexity, classes P and NP, space complexity, LOGSPACE, PSPACE-completeness.

ISE414 - Investigation of Computer Crime (3 + 0) 5

Computer crimes, vulnerability, risk assessment, electronic fraud, viruses and worms, computer crime laws.

ISE424 - Distance Education and E-Learning (3 + 0) 5

Definitions, history, and theories of distance education and e-learning, instructional design, tools and technologies for distance education, multimedia learning, computer-supported collaborative learning, learning management systems, new directions and developments.

ISE516 - Business Process Management (3 + 0) 5

The objective of this course is to introduce Business Process Management (BPM) key principles and methods of business process management covering the entire lifecycle of business processes (BPM).

ISE554 - IT Strategies in E-Government (3 + 0) 5

Theoretical background of e-government; the use of e-government: local and global; technical and organizational aspects to realize e-government systems and contemporary sociotechnological methodologies; enterprise architectures, reference models and frameworks: Zachman, TOGAF, MoDAF, and DoDAF; interoperability standards: eGIF, EIF, SAGA, and other

ISE555 - IT Economy (3 + 0) 5

Basics of economics and accounting; strategic decision making; outsourcing; project evaluation techniques; IT operational budget: SaaS, pricing models; service economy; cost tracking and management; IT spending and staffing benchmarks, metrics; performance evaluation.

ISE563 - Application Management (3 + 0) 5

Introduction to application and service management; quality of service, ITIL and COBIT; event and incident management; problem management; configuration management; change management; release management; service level management; financial management; capacity management; IT service continuity and availability management; security management; appli

ISE564 - Architecture and Consultancy (3 + 0) 5

Alignment of IT initiatives with business objectives; efficiency and effectiveness of the IT infrastructure; Federal Enterprise Architecture (FEA); large scale software system development; product alternatives analysis; systems integration; ethical and professional representation.

SE328 - Algorithms and Optimization Methods (3 + 0) 5

Design and analysis of algorithms; mathematical complexity of algorithms; master theorem; decrease-and-conquer; divide-and-conquer; transform-and-conquer; introduction to some optimization techniques; dynamic programming; greedy technique; iterative improvement; coping with limitations of algorithm power.

SE422 - Introduction to Data Science (3 + 0) 5

Python programming language for data science, data scraping, data manipulation, data visualization, use of vectors and matrices in data science, review of statistical concepts for data science, conditional probability, Bayes?s theorem, normal distribution, prediction, regression, classification and clustering.

SE427 - Blockchain and Cryptocurrency Technologies (2 + 2) 5

Introduction.Blockchain Basics.Consensus Algorithms.Cryptography Fundamentals.Blockchain Networks. Blockchain Programming. Blockchain Transactions, Mining, and Wallets. Smart Contracts. Cryptocurrencies. Blockchain Applications. Decentralization. Blockchain Security. Legal Aspects, Finance, and Economy. Future of Blockchain Technologies.

SE470 - Agile Methods in Software Development (2 + 2) 5

Introduction to agile methods, eXtreme Programming (XP), Lean, Scrum, Crystal, feature-driven development (FDD), Kanban; dynamic systems development method (DSDM); architecture and design issues in agile software methods.

SE544 - Cognitive Aspects of Software Engineering (3 + 0) 5

Introduction to cognitive science and its methods; cognitive processes related to software engineering (memory, expertise, attention, decision making and problem solving, team cognition); basic experimental design; case studies on cognitive aspects of software engineering research.

SE573 - Applied Machine Learning in Data Analytics (3 + 0) 5

Data statistics; linear discriminant analysis; decision trees; artificial neural networks; Bayesian learning; distance measures; instance-based and reinforcement learning; clustering; regression; support vector machines.