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.
Elective Courses
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.
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.
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.
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
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.
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.