ECTS - Software Engineering Master of Science without 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

SE500 - Graduation Project (0 + 0) 40

Realization of literature survey and the typical phases of the system development life cycle. Computer-based project design and development. Project documentation. Realization of the typical phases of the system development life cycle.

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

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.

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

CMPE521 - Advanced Multimedia Systems (3 + 0) 5

Hardware and software requirements of multimedia systems, multimedia data types (digital audio, video, image), image and video compression techniques, multimedia communication systems, content-based multimedia storage and retrieval, mobile multimedia.

CMPE524 - Advanced Algorithms (3 + 0) 5

Design and analysis of algorithms, O-notation, graph algorithms, topological sort, minimum spanning trees, single-shortest paths, all-pairs shortest paths, flow networks, NP-hard and NP-complete problems.

CMPE525 - Object-Oriented Design and Programming (3 + 0) 5

Thinking object-oriented, abstraction, object-oriented analysis and design concept, design patterns, UML: introduction, role of modeling, models and views, core diagrams, fundamental elements, sequence, class, and package diagrams, development lifecycle, Java and UML: Responsibility-Driven Design (RDD), and CRC, classes, messages, inheritance, sub

CMPE531 - Advanced Operating Systems (0 + 0) 5

Advanced topics in process scheduling, multiprocessor and real-time scheduling, concurrent programming fundamentals, review of inter-process communication, semaphores and monitors, synchronization and communication, fault tolerance, recent advances in operating systems.

CMPE532 - Advanced Computer Architecture (3 + 0) 5

Quantitative principles of computer design, instruction set principles and examples, advanced pipelining and instruction-level parallelism, memory-hierarchy design, storage systems, thread level parallelism.

CMPE533 - Computer and Network Security (3 + 0) 5

Encryption techniques and algorithms, public-key encryption, hash functions, digital signatures, authentication, network security, web security, operating system security (Unix and Windows), Bell-LaPadulla model, software and database security.

CMPE535 - Cyber Security (3 + 0) 5

Basic concepts in cyber space and security, cyber crime, IT law, computer law and cyber law, computer forensics, information security and assurance, computer and network security, cyber warfare, international standards on cyber security.

CMPE536 - Advanced Network Programming   (3 + 0) 5

Introduction to networking, overview of programming language that will be used to implement course content, threads and multi threading, exceptions, sockets, web sockets, streaming, file streaming, memory I/O streams, object streaming, client-side networking, server-side networking, HTTP networking, message queuing, synchronous and asynchronous com

CMPE537 - Distributed Computing (3 + 0) 5

Introduction to the core concepts and principles of distributed programming techniques, computing paradigms, protocols, and application program interfaces (APIs), sockets, multicast, Remote Method Invocation (RMI), Common Object Request Broker Architecture (CORBA), Interface Definition Language (IDL), applets, servlets, Common Gateway Interface (CG

CMPE538 - Advanced Computer Networks (3 + 0) 5

Advanced concepts of TCP/IP computer networks, routing principles and routing algorithms in TCP/IP networks, wireless-networking, multimedia networks, network security, network management.

CMPE541 - Advanced Databases (3 + 0) 5

Database system concepts, transaction processing, concurrency control and database recovery, object-oriented and object-relational databases, semi-structured data and XML, parallel and distributed databases, advanced concepts of distributed databases, introduction to big data, temporal databases.

CMPE543 - Big Data Analytics (3 + 0) 5

Infrastructure as a Service(IaaS), Hadoop framework, hive infrastrucure, data visualization, MapReduce model, NoSQL databases, large-scale data workflows, clustering, using R.

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.

CMPE562 - Multiagent Systems (3 + 0) 5

Agent paradigm, abstract agent architectures, design of intelligent agents, agent cooperation, auction systems, negotiation, argumentation, interaction languages and protocols, distributed problem solving, coordination, applications for multi-agent systems.

CMPE563 - Information Retrieval (3 + 0) 5

Organization, representation, and access to information; categorization, indexing, and content analysis; data structures for unstructured data; design and maintenance of such databases, indexing and indexes, retrieval and classification schemes; use of codes, formats, and standards; analysis, construction and evaluation of search and navigation tec

CMPE564 - Natural Computing (3 + 0) 5

Problem solving by search, hill climbing, simulated annealing, artificial neural networks, genetic algorithms, swarm intelligence (including ant colony optimization and particle swarm optimization), artificial immune systems.

CMPE565 - Machine Learning (3 + 0) 5

Concept learning, decision tree learning, artificial neural networks, evaluating hypotheses, Bayesian learning, computational learning theory, instance-based learning, genetic algorithms, analytical learning, reinforcement learning.

CMPE566 - Advanced Data Mining (3 + 0) 5

Introduction to data mining, concepts, attributes and instance, data processing (cleaning, integration and reduction), data warehousing and online analytical processing (OLAP), data mining algorithms, credibility, advanced pattern mining, classification, engineering the input and output, data mining software and applications.

CMPE567 - Semantic Web Programming (3 + 0) 5

XML, resource description language, web ontology language, ontologies and rules, query languages-SPARQL, ontology engineeering, semantic web applications and semantic web services.

CMPE568 - Advanced Artificial Intelligence (3 + 0) 5

Intelligent agents, problem solving by searching, informed/uninformed search methods, exploration, constraint satisfaction problems, knowledge and reasoning, first-order logic, knowledge representation, learning, selected topics: neural networks, natural computing.

CMPE571 - Biometric Identification and Verification Systems (3 + 0) 5

Biometric identification and verification, performance calculations of biometric systems, fingerprint verification, face recognition, iris and retina based identification, hand geometry and DNA based identification, multimodal biometric systems, biometric system standards.

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.

CMPE575 - Parallel and Cluster Computing (3 + 0) 5

Models of parallel computing ? dependence on architecture, trade-off between computation cost and communication cost, performance measures for parallel computation ? computational complexity, techniques for parallel computation ? divide and conquer, partitioning, and pipelining, parallel algorithms for sorting, searching and matrix computations, MP

CMPE578 - Penetration Testing (3 + 0) 5

Penetration testing concepts, ethical issues in penetration testing, building a testing infrastructure, legal issues with penetration testing, port scanning, vulnerability scanning, exploitation, password attacks, web application penetration testing, wireless penetration testing, reporting of the obtained test results.

CMPE579 - Current Trends in Internetworking Technologies (3 + 0) 5

Overview and history of the community organizations related to internet technologies and standard organizations, open and proprietary standards, widely used current techniques and technologies in internet, latest technologies under development, latest techniques and their states that are under development and discussed by the communities.

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.

ISE501 - Foundations in IT Management (3 + 0) 5

Computing infrastructure overview; introduction to IT Services: event and fault management; problem management; change management; configuration management; asset management (inventory and software distribution); performance and capacity management;security management; network management; storage management; workload management; backup and recover

ISE502 - Organizational Management and Change (3 + 0) 5

Organizational behavior and management; personality and learning; perception, attribution and judgment of others; values, attitudes and work behavior, theories of work motivation, motivation in practice; groups and teamwork; leadership; communication; decision making, conflict and stress; organizational structure, change management principles: spon

ISE507 - Mobile Application Development (3 + 0) 5

Mobile devices, mobile platforms, mobile operating systems, mobile application development, user interface design in mobile devices, data persistent techniques in mobile platforms; map and location-based services; audio, video and using the camera; telephony and SMS, sensors.

ISE511 - IT Strategy Planning and Governance (3 + 0) 5

The IT strategic planning process; structuring the strategic planning process, analyzing the business environment; identifying the mission and competencies of your organization; assigning value and weight to enterprise objectives; reviewing established IT portfolios; measuring your IT governance maturity; aligning IT to your business objectives, de

ISE512 - IT Portfolio Management and IT Standards (3 + 0) 5

Processes for the integrated project life (approval, identifying and planning, implementation, management and tracking, assessment and improvement); prioritizing IT projects; resource allocation; managing risks and costs; assessment and governance; standard metrics for measuring ROI. ITIL, COBIT, Val IT, Sarbanes Oxley, related IEEE and ISO standar

ISE513 - Systems Integration (3 + 0) 5

Integration of information systems in organizations; the processes by which different computing systems and software applications are linked together physically or functionally; the strategies and methods for blending a set of interdependent systems into a functioning or unified whole; enabling two or more applications to interact and exchange data

ISE514 - Cloud Computing (3 + 0) 5

Basics of cloud computing, discovering the value of the cloud computing for business, advantages of cloud computing, elements of cloud computing, technical foundation of cloud computing, managing data in cloud, standards, managing and securing cloud services, virtualization, service oriented architecture, managing cloud environment.

ISE515 - Process Analysis and Improvement (3 + 0) 5

Business process concepts, process change drivers, business process mapping, business process strategy, business rule analysis, measuring the process, business process analysis, process improvement approaches, six Sigma, process reengineering, overview of enabling technologies.

ISE542 - IT Security (3 + 0) 5

Introduction to IT security, security plans, security policies, security models: TCSEC, common criteria, ISE/IEC 27000, CIBIT, ITIL; security risk assessment and management; security solutions; IT services and security; personnel security; ethics in IT security.

ISE543 - Internet Security and Ethical Hacking (3 + 0) 5

Data encryption techniques and algorithms; public-key encryption, hash functions; digital signatures, authentication; network security; web security; system security, intruders, viruses, firewalls; the algorithms and data security tools; ethical hacking.

ISE552 - E-Commerce - A Managerial Perspective (3 + 0) 5

Introduction to e-business and e-commerce, electronic marketplaces; technical aspects and infrastructure of e-commerce; e-commerce business models; current state of the art; marketing online, legal environment in e-commerce, fiscal environment in e-commerce; introduction to enabling technologies and standards; workflow systems for e-commerce; curre

ISE553 - IT in Healthcare (3 + 0) 5

Health data management; uses and content of the medical record; health statistics, biomedical research, and quality management; health services organization and delivery; information technology and systems.

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.

SE503 - Information Systems Design (3 + 0) 5

Introduction to software architecture; design patterns; object-oriented modeling and architectural design with contemporary notation; experimentation in design; design prototyping; working on design teams and management of object-oriented projects; detailed design and implementation issues; design reviews; using design document for coding.

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.

SE546 - Decision Support in Health Informatics (3 + 0) 5

Choosing the correct information for different decisions and communicate its meanings to users; evaluation of statistical and other methods and tools; the difference between research databases and operational databases; techniques to effectively communicate quantitative healthcare data using tables and graphs; methods for choosing the right medium.

SE552 - Advanced Software Project Management (3 + 0) 5

Introduction to project management; algorithmic cost estimation models; advanced cost estimation models; function points estimation; risk assessment; life cycle models; prototyping; management of software reuse; software maintenance; software maturity framework; case studies.

SE555 - Model Driven Software Development (3 + 0) 5

Introduction to MDD; modeling languages; software reusability; domain specific modeling; metamodeling; model transformations; metamodeling tools; code generation; MOF (meta object facility); software components.

SE556 - Software Construction and Evolution (3 + 0) 5

Software construction fundamentals; software complexity; construction management; construction models; construction planning; software measurement; construction languages; coding; construction testing; reuse; verification and standards in construction; construction quality; integration.

SE558 - Software Architecture (3 + 0) 5

Introduction to software architecture; architecture business cycle; creating an architecture; introducing a case study; understanding and achieving quality; design, document and reconstruct software architecture; methods for architecture evaluation; quantitative approach to architecture design decision making; software product lines; middleware, mo

SE559 - Software Testing and Maintenance (3 + 0) 5

Fundamentals of testing; testing through software lifecycle; lifecycle of testing; static testing techniques; test design techniques; defect management.

SE560 - Requirements Engineering (3 + 0) 5

Domain understanding and requirements eliciation; requirements evaluation; requirements specification and documentation; requirements quality assurance; requirements evolution; modeling system objectives with goal diagrams; risk analysis on goal models; modeling system agents and responsibilities; modeling system behaviours; integrating multiple sy

SE562 - Formal Methods in Software Engineering (3 + 0) 5

Introduction to formal specifications for software development; software specification and development with mathematical semantics; constructing formal specifications for software-intensive systems; specification languages, Z, object Z and OCL; relating specifications and implementations; role of formal specification in system life cycle; classific

SE564 - Service Oriented Architecture and Business Process Management (3 + 0) 7.5

Basics of SOA; SOA design principles; SOA standards, foundations, BPEL, SOAP, WSDL and UDDI; governance; business process models; business process management from process and content management to collaboration and analytics; BPM enabled by SOA.

SE566 - Service Oriented Architecture and Web Services (3 + 0) 5

Basics of SOA; SOA design principles; SOA standards: foundations, BPEL, SOAP, WSDL and UDDI; web services; REST; SOA governance.

SE570 - Mobile Software Engineering (3 + 0) 5

An overview of mobile platforms; application development in Android; UI overview, activities, application lifecycle; intents, intent filters, broadcasts, broadcastReceivers; shared preferences, files, SQLite DB, content provider; automated testing, test-driven development; Google maps, mapView, mapActivity; threads; services; status bar notificatio

SE571 - Agile Software Development Approaches (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.

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.

SE577 - Software Measurement (3 + 0) 5

Measurement theory; measure design and validation; measurement requirements; measurement process; techniques and tools for software measurement; measurement frameworks; measurement management; project, organization, product, service and quality measurement; ISO measurement standards; software estimation; software measurement repositories.