SEDS MS Courses
Course Code | Course Name | Description | Prerequisite(s) | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
SEDS 481 | Software Engineering and Data Science Primer I | An introduction to the basic concepts of software engineering. Requirements analysis, software architecture, software design, implementation technologies, verification, validation and software modelling and prerequisites in relation with these concepts are studied based on the needs of the individual students.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 482 | Software Engineering and Data Science Primer II | An introduction to the basic concepts of data science. Statistics, visualization, machine learning, information retrieval, database, optimization, and data management will be covered based on the needs of individual students.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 500 | Graduation Project | Conduct and present (written and orally) an independent research investigation theoretically and/or experimentally during a semester under the guidance of a supervisor.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 501 | Introduction to Data Science | It is a core course of the Software Engineering and Data Science Master of Science Program. The focus in the treatment of topics will be on breadth, rather than depth, and emphasis will be placed on integration and synthesis of concepts and their application to solving problems.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 502 | Contemporary Database Management Systems | This course focuses on advanced topics in database management systems. Primary topics includes query processing and query optimization strategies for relational database systems, advanced indexing methods, parallel and distributed database systems, big data, NoSQL, data warehousing and data mining. In addition to learning advanced topics in databases, this course also gives graduate students an opportunity to practice important research skills such as gaining experience reading and critically evaluating original research papers and communicating complex technical material, both orally and in written form.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 504 | Software Construction | This course covers the necessary background for software construction. Object-Oriented Programming, Classes and Methods, Inheritance, Polymorphism, Abstract Classes and Interfaces, Exception Handling, Collections, Generics, Object-Oriented Analysis and Design, UML Diagrams.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 505 | Team Project | The course is designed for students to gain an understanding of issues of a real-world software and data science project and enable them to apply their newly learned skills in a practical context. Students will be grouped into teams to undertake a software and data science project with the tools, techniques and skills acquired during their previous course work. Each team will work as a development group and assume the role of a quality assurance team for another group. The team will be assigned to a client and will interact with that client to engineer requirements, agree upon a design and achieve a successful acceptance test of a system. Teams will meet on predetermined milestones with their faculty and quality assurance groups to discuss review results and progress.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 512 | Software Architectures | This course covers the necessary background for software architectures. Software architecture concepts, architectural requirements analysis, techniques for designing software architectures, architectural patterns, evaluation of architecture design methods, component-based software architecture design, software product-line architectures, domain engineering and application engineering, software architecture implementation.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 513 | Principles of Human Computer Interaction | This course gives an overview of next-generation user interfaces and underlying methodologies. Main topics include a review of HCI concepts and history, input devices and interaction techniques, information appliances, user interface design paradigms, 3D user interfaces, adaptive interfaces, user modeling, conversational interfaces, wearable computers and multimodal interfaces.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 514 | Software Testing | The relationship of software testing to quality is examined with an emphasis on testing techniques. Topics include module and unit testing, integration and acceptance testing, statistical testing methods, defining test plans and strategies that map to system requirements. Testing principles, formal models of testing and software testing standards are also examined.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 515 | Software Management | This course focuses on two advanced aspects of software management; process improvement and software project management. Primary topics include software process improvement frameworks, agile maturity models, software process modeling languages, software measurement a prediction model. Students participate in a modelling and organizational assessment project to as well as gain hands on experience on measurement and prediction for software projects.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 517 | Information Security | The security of information and communication technologies, fundamental security functions and related cryptographic tools, network security and related problems, protection mechanisms and tools will be evaluated. Then current hot topic security problems will be analyzed for “cloud computing”, “web applications and services”, “wireless networks”, etc. and at last security management of information systems will be discussed.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 518 | Development of Real-Time Software | Nature of embedded systems, their role in computer engineering; special and general-purpose microprocessor design, embedded microcontrollers, embedded software; real time systems, problems of timing and scheduling; testing and performance issues, reliability; design methodologies, software tool support for development of such systems; problems of maintenance and upgrade; introduction to Application Specific Integrated Circuit (ASIC) Design, VHDL.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 519 | Software Design Patterns | This course focuses on advanced software design patterns. Primary topics include advanced object-oriented programming principles, object-oriented design patterns, patterns of enterprise application architecture, enterprise integration patterns, and patterns related to domain-driven design. Students will learn concepts of modern software development with design patterns and participate in the development of a mid-size programming project working in teams.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 520 | Analysis and Design of Microservice Based Systems | This course arms students with the knowledge and expertise to “design” and “engineer” services using state of the art technology. Students will learn the Service Oriented Architecture (SOA) as a way to design an enterprise environment that features cross-platform compatibility, agility and cost-efficiency. In particular, microservices based architectures, reactive systems and event-oriented modelling will be taught and serverless computing will be introduced.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 531 | Introduction to Statistical Data Processing | Organization and application of computers and statistical techniques to data processing. Data handling in terms of coding, preparation, acquisition (with and without computers), screening and reduction; summarization, tabulation and analysis; random variables, statistical estimation, and hypothesis testing, enumerated data analysis, linear models (regression, correlation, analysis of variance).
|
|||||||||||||||||||||||||||||||||||||||
SEDS 533 | Probabilistic Reasoning | Graphical Probability Models. Bayesian Reasoning. Bayesian Networks. Learning in Bayesian Networks. Knowledge Engineering. Temporal Models. Inference in Dynamic Bayesian Networks. Markov Decision Processes.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 534 | Optimization Methods | This course covers the necessary background for optimization methods and the theory and practice of the related approaches to discrete and continuous optimization problems. Vector spaces and matrices, elements of calculus, Unconstrained optimization, one-dimensional search method, golden section, Fibonacci, Newton’s method, gradient search methods, Steepest-descent, Conjugate-gradient, Least squares analysis, linear programming, heuristic optimization methods, simulated annealing.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 535 | Knowledge Discovery | This course covers the necessary background for knowledge discovery and data mining, data warehousing, data preparation and data mining primitives, concept description, mining association rules in large databases, classification and prediction, cluster analysis, web mining, applications in data mining.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 536 | Image Understanding | The main aim of the course is to familiarize the students with image processing and image content analysis. The course’s target audience is beginning graduate students. The course will play a preparatory role for the graduate courses covering topics such as Deep Learning and Artificial Intelligence.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 537 | Machine Learning | To provide graduate students the foundations of machine learning. This course will begin with an introduction to the machine learning with examples in different application areas. Bayesian decision theory. Supervised learning techniques. Model selection. Dimensionality reduction. Clustering. Support vector machines. Graphical models. Introduction to neural networks. Reinforcement learning.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 538 | Big Data Analytics | This course covers the characteristics and challenges of the Big Data, state-of-the-art computing platforms (e.g., MapReduce), big data programming tools (e.g., Hadoop and MongoDB), big data extraction and integration, big data storage, scalable indexing for big data, big graph processing, big data stream techniques and algorithms, big probabilistic data management, big data privacy, big data visualizations, and big data applications (e.g., spatial, finance, multimedia, medical, health, and social data).
|
|||||||||||||||||||||||||||||||||||||||
SEDS 539 | Deep Learning | This course covers methods for designing and training deep neural networks. The course content includes the historical evolution of deep neural networks, their fundamental working principles and image classification and object detection and recognition in images using convolutional neural networks. The fundamental aim of this course is for students to gain basic knowledge on deep neural networks and deep learning. By teaching the important aspects of convolutional neural networks, specifically, for the image classification task and making them into project assignments, the given theoretical knowledge is aimed to be applied in practice. The course’s target audience is graduate students with a background in machine learning.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 540 | Distributed Information Management | This course covers the principles of distributed databases in terms of design, architecture, query processing, query optimization and concurrency.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 541 | Privacy Preserving Data Sharing and Management | Privacy preserving data sharing and management is an active research area that investigates the side-effects of the existing data mining and sharing technologies that originate from the penetration into the privacy of individuals and organizations. This course provides an extensive survey on a specific class of privacy preserving data mining and sharing methods that belong to the knowledge hiding thread and are collectively known as association rule hiding methods and also with cryptographic solutions.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 542 | Large-Scale Data Management | This course introduces the fundamental concepts and computational paradigms of large-scale data management. This includes major methods for storing, updating and querying large datasets as well as for data-intensive computing. The course covers concepts, algorithms, and system issues on the topics of parallel and distributed databases, peer-to-peer data management, MapReduce and its ecosystem, Spark and dataflows, datalakes and NoSQL databases. |
|||||||||||||||||||||||||||||||||||||||
SEDS 561 | Foundations of Software Engineering | To provide graduate students the ability to evaluate the software engineering problem solving techniques and approaches. To present the contemporary software engineering practices and provide insight about the historical progress. To establish high level understanding of the life cycle processes and their relations. This course will begin by explaining the concept of software engineering. Afterwards, the software engineering paradigms are discussed with historical context. The course will then cover the key modelling techniques in software engineering and the role of software analysis, software design, as well as project management, measurement, research methods and soft skills.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 562 | Programming and Data Structures | This course covers the necessary background for programming and data structures. Elements of Programming, Selection Structures, Repetition Structures, Functions, Recursive Problem Solving, Searching and Sorting, Data Abstraction, Stacks and Queues, Linked Lists, Trees and Binary Trees, Heaps and Priority Queues, Hash Tables.
|
|||||||||||||||||||||||||||||||||||||||
SEDS 590 | Graduate Seminar and Ethics | Learn the latest updated subjects and problems on the management science during the conferences given by the invited speakers; prepare and present a talk about a subject investigated and studied at the end of the semester, lectures on ethical issues in research are also included.
|