SEDS MS Courses
| Course Code | Course Name | Description | Prerequisite(s) | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SEDS 481 | Software Engineering and Data Science Primer I | Basic computer knowledge, history of computing, terms and definitions, system components and processes, computer architecture, data storage, computer networks and internet, software engineering, software engineering practices, unified modelling language, unit testing, problem solving and algorithm design, data structures, application fields of computers. Course Objectives: 1. Developing a common understanding about computer science, 2. Gaining ability to describe, analyze and solve the problems, 3. Teaching the algorithmic thinking and design in a higher level, 4. Gaining basic knowledge about computer architecture, programming languages, data storage, software engineering and computer networks, 5. Teaching the application fields of computers. Recommended or Required Reading: J. G. Brookshear. Computer Science An Overview. 7th Ed. 2002. Addison-Wesley. Volker Gruhn, Rüdiger Striemer, The Essence of Software Engineering. Springer Cham, doi.org/10.1007/978-3-319-73897-0, ISBN: 978-3-319-73896-3. Published: 04 July 2018 Learning Outcomes:
1. To learn about the history of computing
2. To learn design of algorithms
3. To have principle knowledge about programming languages and familiarity of different programming languages
4. To learn the principles of computer networks
5. To have basic knowledge about different data analytics methods
6. To have general knowledge about software engineering concepts and practices
7. To have principle knowledge about the software architecture
8. To learn the application fields of the computers
Grading: Homework Assignments: 20% Literature Review and Reading Assignments: 30% Final Exam: 50% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEDS 482 | Software Engineering and Data Science Primer II | An introduction to the basic concepts of data science. Data science consists of machine learning algorithms and mathematical models (Supervised vs. unsupervised learning, decision tree pruning, training and testing datasets), big data tools to convert unstructured data into a structured form, and business intelligence to support decision-making.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. Reference book(s):
Course Objectives: To enable the student to show that he / she can carry out an independent piece of research on a theme in a scientifically sound manner. To demonstrate his/her ability to address a specific problem in a scientifically sound, ethical, thorough and precise manner in the course of a given period of time. To help the student to report his or her findings.
Grading: Project %100 Course Learning Outcomes: CO1 To be able to inspect and apply proper theoretical and practical methods in an area of study CO2 To be able to recognize ethical guidelines to follow in a research CO3 To be able to evaluate a specific problem in a scientifically sound, thorough and precise manner in the course of a given period of time CO4 To be able to understand how to deal with data sets or information gathered to reach a solution for the problem being tackled and to be able to present the thoughts and findings in a convincing way Contribution of Program Learning Outcomes: P01 P02 P03 P04 P05 P06 P07 C01 1 1 1 1 1 C02 1 1 1 1 C03 1 1 1 1 1 1 C04 1 1 1 1 1 1 Justification of the course: Overlapping with or complementing topics in courses: None. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEDS 501 | Introduction to Data Science | This course covers the necessary background for data collection and integration, exploratory data analysis, predictive modeling, descriptive modeling, data product creation, evaluation, and effective communication. Reference book(s): Course Objectives: To introduce the fundamentals of data science.
Grading: Course Learning Outcomes: Contribution of Program Learning Outcomes:
Justification of the course: Overlapping with or complementing topics in courses: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEDS 502 | Contemporary Database Management Systems | Relational theory and extensions, such as relational calculus, relational algebra, higher order normal forms; advanced DBMS concepts, such as integrity, recovery, concurrency, security, query optimization; object-oriented databases; distributed databases, related techniques and protocols, such as data replication, data fragmentation, synchronization, load balancing; parallel databases; deductive databases; federated databases and homogeneity/heterogeneity. Course Objectives: To provide information about the current trends in database systems. Recommended or Required Reading: Neelamkavil, F. (1987) Computer Simulation and Modelling. John Wiley and Sons. ,Law, A.M. and Kelton, W.D. (1991) Simulation Modelling and Analysis. 2nd Ed. McGraw-Hill Course Outcomes: 1. Gaining the concepts of system and model 2. Use of simulation technique in problem solving 3. Learning the foundations of simulation studies and gaining the ability of implementing simulation techniques 4. Learning how to estimate using simulation
Grading: Midterm: 30% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. Reference book(s): Course Objectives: To introduce the fundamentals of software construction.
Grading: Final Exam %40 Midterm Exam %30 Project %30 Course Learning Outcomes: CO1 To be able to formulate and solve engineering problems with software construction CO2 To be able to use and design classes CO3 To be able to implement object-oriented design CO4 To be able to design object-oriented software
Contribution of Program Learning Outcomes:
Justification of the course: Overlapping with or complementing topics in courses: This course is fundamental to all Software Engineering courses. This course follows Programming and Data Structures course. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. Reference book(s):
Course Objectives: To enable students to integrate concepts learned in prior courses by means of a real-world word hands on system development and management experience.
Grading: Final Exam %40 Term Project %50 Assignments + participation %10 Course Learning Outcomes: CO1: The students would be able to perform software requirements specification, design, project management and implementation tasks in real-world projects. CO2: The students would be able to use their software engineering and data science knowledge and skills in system construction. CO3: By the end of the course the students would be able to cooperate and communicate in an software and data science development project involving several stakeholders (e.g. peer team members, customers, quality teams). CO4: By the end of the course the students would be able to demonstrate their groupwork skills in real-world projects. Contribution of Program Learning Outcomes:
Justification of the course: It is a core course of the Software Engineering and Data Science Master of Science Program. Real world experience and the usage of standards is crucial for overall success of software systems development projects. This course provides a thorough experince in software engineering and data science projects from team work, quality and management perspectives and establishes the skills needed to construct innovative systems. It is the course to integrate all other courses within the program. Overlapping with or complementing topics in courses: SEDS 501 Introduction to Data Science, SEDS 502 Contemporary Database Management Systems, SEDS 503 Software Management, SEDS 504 Software Construction courses provides the crucial background to be successful in the course. SEDS 502 and SEDS 504 are prerequisite courses while SEDS 503 and SEDS 501 are recommended. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEDS 512 | Software Architectures | Software architectures, architectural styles, patterns, and special architectural solutions. Components and frameworks. Architecture evaluation and selection. Fundamental architecture-driven software qualities. Achieving reusability, interoperability, and change resilience. Architecture description languages. Elements of middleware.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEDS 513 | Principles of Human Computer Interaction | Fundamental theory and practice of the design, implementation, and evaluation of human-computer interfaces. Topics include: life cycles for user interface development; principles of design; design techniques; methods for evaluating interfaces; and techniques for prototyping and implementing graphical user interfaces. Students will perform the analysis, design and evaluation of a user interface of a software system as class project.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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 is designed to introduce the students to the software management concepts. Topics will include quality managements concepts and project management concepts. Quality management concepts will include process improvement, capability maturity models and statistical process control. Project management concepts will include scope and time management as well as size measurement and effort estimation models. The course also includes the use of related software.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. Reference book(s):
Course Objectives: To teach the open security problems of information technologies, their risks and related solution tools. Teaching the designing, building and managing of a secure information system.
Grading:
Course Learning Outcomes: CO1 To have the capability to analyze vulnerabilities, threats and security risks. CO2 Selection, implementation and testing of cryptographic tools for essential security functions. CO3 To have needed background information and methodology to design and manage the secure information system. Contribution of Program Learning Outcomes: P01 P02 P03 P04 P05 P06 P07 C01 x x C02 x x C03 x Justification of the course: It is an elective course of the Software Engineering and Data Science Master of Science Program. The course introduces the fundamentals of secure information system design, development and implementations. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEDS 518 | Development of Real-Time Software | Real-time operating systems, real-time task scheduling algorithms, formal methods used in software specifications, modeling and verification using timed automata, software design, programming languages, testing, performance analysis and optimization, documentation, software reuse, and fault tolerance. Reference book(s):
Course Objectives: To give the students the latest research issues on the software development, programming, design, test and documentation for real-time systems.
Grading:
Course Learning Outcomes: CO1 To have knowledge of real-time systems fundamentals CO2 To understand the state-of-the-art of safety critical and fault-tolerant systems CO3 Ability to design real-time software Contribution of Program Learning Outcomes: P01 P02 P03 P04 P05 P06 P07 C01 x x C02 x x C03 x Justification of the course: It is an elective course of the Software Engineering and Data Science Master of Science Program. The course introduces the fundamentals of real-time software development for safety critical systems. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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 development of a mid-size programming project working in teams. Reference book(s):
Course Objectives: To advance students on the current trends in software design patterns.
Grading: Final Exam %40 Midterm Exam %30 Project %30 Course Learning Outcomes: CO1 – To be able to identify and explain design principles and patterns in software CO2 – To be able to apply design principles and patterns when developing software in teams CO3 – To be able to critically evaluate and report consequences of design patterns with respect to desired software qualities CO4 – To be able to analyze and report the relationship between design principles, design patterns, and programming language design, application frameworks, or application domains Contribution of Program Learning Outcomes:
Justification of the course: Overlapping with or complementing topics in courses: This course follows Software Construction course. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEDS 520 | Analysis and Design of Microservice Based Systems | ‘Software Architectures’ are one of the most significant areas of the software engineering discipline. This course focus on the state of the art event based software architectures. Today’s modern era permeates with phenomenal growth and advancement across a wide range of areas: from science and technology, to medicine and art, as well the social sciences. Amongst all, the notion of “services” plays a critical role to abstract and make available snippets of innovation, that can thereby be used cross-disciplinary to create bigger, better and more interesting innovations. This course arms students with the knowledge and expertise to “design” and “engineer” services using modern technology.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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). Course Objectives: This course will help students acquire the fundamental skills that will enable them to learn and understand the complicated statistical analysis that can be directly applied to different types of data, encountered in real-life situations. Recommended or Required Reading: Steel, R.G.D. and Torrie, J.H. (1960) Principles and Procedures of Statistics. Mc. Graw Hill ,Milton, J.S. and Arnold, J. C. (2003). Introduction to Probability and Statistics. 4th Ed. New York: McGraw-Hill. ,Allen B. Downey, Think Stats: Probability and Statistics for Programmers. 2e Course Outcomes: 1. To be able to summarize experimental data 2. To be able to understand probability, random variables and probability distributions 3. To be able to apply estimation of parameters, to understand concept and philosophy of testing scientific hypotheses 4. To be able to understand experimentation concept and to be able to design and analyze experiments
Grading: Midterm: 30% Homework: 10% Research Presentation: 30% Final: 30% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. Course Objectives The challenges of modeling and reasoning under uncertainty is defined and solution approaches based on probabilistic reasoning are discussed in this course. Recommended or Required Reading Learning Bayesian Networks; Richard E. Neapolitan, Prentice Hall, 2003. ,Bayesian Artificial Intelligence; Kevin B. Korb, Ann E. Nicholson; Chapman & Hall/CRC, 2004. ,Probabilistic Reasoning in Intelligent Systems (2nd Edition); Judea Pearl; Morgan Kaufmann Publishers Inc., 1988. Learning Outcomes 1. Teaching the concept of uncertainty
Grading Midterm: 40% Homework: 10% Final: 50% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEDS 534 | Optimization Methods | Vector spaces and matrices, elements of calculus, Unconstrained optimization, one-dimensional search method, golden section, Fibonacci, Newton s method, gradient search methods, Steepest-descent, Newton s method, conjugate-gradient, Least squares analysis, linear programming, heuristic optimization methods, simulated annealing Course Objectives To introduce the fundamentals of various optimization methods and latest research. Recommended or Required Reading E. K. P. Chong and S. H. Zak, An Introduction to Optimization, Third Edition, New York, NY: John Wiley & Sons, Inc. (Wiley-Interscience Series), 2008 Learning Outcomes 1. To demonstrate the ability to formulate and solve engineering problems 2. To classify the various optimization methods 3. To be able to create a technique for a specific problem 4. To be able to use optimization tools
Grading Midterm 30% Research Presentation 30% Final 40% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEDS 535 | Knowledge Discovery | Computer applications in medicine and biology, medical imaging technics, disease diagnosis with medical image processing, hospital information systems, patient tracking systems, mathematical modelling of medical information, networking in medical information systems. Course Objectives 1. To teach the use of computer Networks in medical informatics, 2. To examine mathematical modelling of medical information, 3. To examine medical information systems, 4. To teach the application areas of processes and differential equations in medical informatics, 5. To examine the principles of hospital information systems. Recommended or Required Reading Introduction to medical informatics, Lecture notes, N. Baykal, E. Musluoğlu, Sas Bilişim, 2000. Learning Outcomes 1. Gain knowledge about computer applications in medicine and biology 2. Understand application fields of the computer networks in medicine and biology 3. Understand the usage of mathematical modelling in medicine and biology 4. Learn medical imaging techniques 5. Learn mathematical modelling of the raw data which is provided by the medical imaging methods 6. Understand application fields of medical imaging 7. Understand processes and differential equations in medicine and biology 8. Understand hospital information systems
Grading Midterm 25% Homework 25% Research Presentation 20% Final 30% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEDS 536 | Image Understanding | This course covers the image processing techniques and approaches for image content analysis. The course content includes memory representation of images, image processing techniques, keypoint extraction and description, image matching and fundamentals of camera geometry. Course Objectives The main aim of the course is to familiarize the students with image processing and image content analysis. The course’s target audience is advanced undergraduate and beginning graduate students. The course will play a preparatory role for the graduate courses covering topics such as digital image processing and 3D photography. Recommended or Required Reading Computer Vision: Algorithms and Applications, R. Szeliski, 2010 ,Multiple View Geometry in Computer VIsion, R. Hartley and A. Zisserman, 2nd Ed., 2004 Learning Outcomes 1. Apply image analysis techniques to industrial problems 2. Compare different kinds of image content analysis algorithms for a given problem 3. Use the basic image processing algorithms in problem solutions 4. List the basic image processing algorithms and their properties
Grading Midterm 30% Homework 30% Final 40% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. Reference book(s): Course Objectives: To advance students on the current trends in machine learning.
Grading: Final Exam %40 Midterm Exam %30 Practice Assignments %30 Course Learning Outcomes: CO1 To be able to describe the fundamental concepts in machine learning CO2 To be able to analyze the machine learning problems and identify appropriate solution techniques CO3 To be able to apply proper algorithms using proper tools to solve the encountered machine learning problems CO4 To be able to interpret the output of the implementations from algorithmic point of view Contribution of Program Learning Outcomes:
Justification of the course: Overlapping with or complementing topics in courses: |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEDS 538 | Big Data Analytics | 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 Course Objectives Discussing the latest issues on advanced embedded system design Recommended or Required Reading “Real-Time Systems Design and Analysis”. Phillip A. Laplante. A John Wiley & Sons, Inc., Publication ,“Software Engineering for Real-Time Systems”, J.E. Cooling, Addison Wesley. ,Adamski, Marian Andrzej. Design of Embedded Control Systems, Boston, MA : Springer Science+Business Media, Inc., 2005. ,Berger, Arnold. Embedded systems design:an introduction to processes tools and tecniques. San Francisco;Lawrence, Kan: CMP Books, c2002 ,“Modeling and Verification of Real-Time Systems Using Timed Automata: Theory and Practice”. Paul Pettersson. PhD. Thesis. Uppsala University. Learning Outcomes 1. To have knowledge of embedded systems fundamentals 2. To be able to design real-time systems 3. To know the state-of-the-art of embedded systems 4. To know the state-of-the-art of fault-tolerant systems
Grading Midterm 30% Research Presentation 30% Final 40% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. Reference book(s): Course Objectives: To teach students the basics of deep neural networks and enable them to apply deep learning solutions on real problems.
Grading: Final Exam %40 Midterm Exam %30 Practice Assignments %30
Course Learning Outcomes: CO1 Ability to comment about historical evolution of biometric recognition CO2 Ability to list the basic working principles of artificial neural networks CO3 Ability to apply the learned fundamental principles to train artificial neural networks CO4 Ability to classify images using convolutional neural networks CO5 Ability to apply the acquired knowledge in practice using artificial neural network coding frameworks such as torch, TensorFlow.
Contribution of Program Learning Outcomes:
Justification of the course: Overlapping with or complementing topics in courses: This course requires a background knowledge in machine learning. So, its topics do not overlap with SEDS 537 Machine Learning but builds on top of it. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEDS 540 | Distributed Information Management | Introduction to Distributed Database Management, Revisiting Relational Database Management Systems, Distributed Database Architectures, Distributed Database Design – Horizontal Partitioning, Distributed Database Design – Vertical Partitioning, Distributed Query Processing, Distributed Query Optimization, Distributed Concurrency Control, Data Replication, Distributed Object Database Management Course Objectives To advance students on distributed database systems. Recommended or Required Reading Research papers from IEEE International Conference on Dependable Systems and Networks (DSN), IEEE Trans. Dependable and Secure Computing, IEEE Trans. Reliability ,Israel Koren, C. Mani Krishna, Fault-Tolerant Systems, Morgan Kaufmann, 2007. Learning Outcomes 1. To be able to understand faults and testing 2. To be able to design and evaluate hardware and software fault tolerance techniques 3. To demonstrate the experience to apply the reliability techniques on safety-critical systems
Grading Midterm %30 Research Presentation %30 Final %40 |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEDS 541 | Privacy Preserving Data Sharing and Management | The specific topics include advanced concurrency control techniques, query processing and optimization strategies for relational database systems, advanced indexing methods, parallel and distributed database systems, next-generation data models, data mining on large databases, data on the web, and topics in data security and privacy. Course Objectives 1.Learn advanced topics of database field (1) 2.Gain ability to capture research articles (2, 3, 4), 3.Gain ability to make a survey, propose solution and develop a project (4, 5). Recommended or Required Reading E.F. CODD. A Relational Model of Data for Large Shared Data Banks, Coomunication of the ACM, vol 15, June 1970 ,P.G. SELLINGER, M.M. ASTRAHAN, D.D. CHAMBERLIN, R.A. LORIE and T.G. PRICE, Access Path Selection in a Reletional Database System, ACM, 1979 ,S.CHAUDHURI, An Overview of Query Optimization in Relational Systems, PODS 1998 ,A. GUTTMAN. R-TREES. A Dynamic Index Structure for Spatial Searching, ACM 1984 ,J. NIEVERGELT and H. HINTERBERGER. The Grid File: An Adaptable, Symmetric Multikey File Structure, ACM 1984 ,D.J. DeWITT and J. GRAY.Parallel Database Systems: The Future of High Performance Database Processing, Communications of the ACM, Vol. 36, No. 6, June 1992 ,P.O’NEAL and D. QUASS. Improved Query Performance with Variant Indexes, ACM 1997 ,M. STONEBRAKER, P. M. AOKI, W. LITWIN, A. PFEFFER, A. SAH, J. SIDELL, C. STAELIN, A. YU. Mariposa: a wide-area distributed database system, The VLDBJournal, Springer-Verlag 1996 ,R. SNODGRASSF and I. AHN. A Taxonomy of Time in Databases, ACM, 1985 ,R. AGRAWAL and R. SRIKANT. Fast Algorithms for Mining Association Rules, Proceedings of the 20th VLDB ConferenceSantiago, Chile, 1994 ,J. GRAY, S. CHAUDHURI, A. BOSWORTH, A. LAYMAN, D. REICHART and M. VENKATRAO. Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals, Data Mining and Knowledge Discovery 1, 29–53 (1997) ,S. BRIN and L. PAGE The Anatomy of a Large-Scale Hypertextual Web Search Engine, Proceeding of 7th International Conference on World Wide Web, 1998 ,C.J. Date, An Introduction to Database Systems, Addison-Wesley, Seventh Edition, 2010 Learning Outcomes 1.Learn the history and development of aproaches and methods behind the functions of database management system (PO1, PO3), 2.Gain ability to read, abstract and discuss the important articles of the feld (PO1, PO3), 3.Analyze one of the open problems of database field (PO2), 4.Propose a solution to the open problem analyzed (PO2), 5.Present the project covering his reserach and proposal orally and written (PO6)
Grading Midterm 30% Research Presentation 30% Final 40% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. Course Objectives To introduce students to the current trends in large-scale data management covering concepts, architectures, algorithms and system issues. Recommended or Required Reading T. Öszu, P. Valduriez. Principles of Distributed Database Systems. Springer, 4th ed., 2020 ,H. Garcia-Molina, J. D. Ullman, J. Widom. Database Systems: The Complete Book. Prentice Hall, 2nd ed., 2008 ,L. Wiese. Advanced Data Management: For SQL, NoSQL, Cloud and Distributed Databases. De Gruyter, 2015 Learning Outcomes 1. Learn state-of-the-art research and industry trends in Large Scale Data Management Systems, 2. Understand the fundamental principles that govern all modern DBMSs, 3. Be able to make design decisions in deploying large scale data processing applications as well as to identify the bottlenecks of such applications, 4. Learn how to install and use open source systems and libraries in order to perform meaningful large-scale data management tasks.
Grading Midterm 20% Homework 20% Attendance 20% Final 40% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEDS 561 | Fundamentals of Software Engineering | The course introduces the fundamentals of software engineering from management and software system models perspectives with an emphasis on software development process models, project management techniques and contemporary modeling notations. Course Objectives 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. Recommended or Required Reading Aleph One – Smashing the Stack for Fun and Profit: http://www.phrack.org/issues.html?issue=49&id=14#article ,US Security Awareness (.org): http://www.ussecurityawareness.org/highres/index.html ,NSU InfoSec web site (of course): http://infosec.nova.edu/ ,Bruce Schneier – Crypto-gram Newsletter: http://www.schneier.com/crypto-gram.html ,Microsoft Security Guidance Center: http://www.microsoft.com/security/guidance/default.mspx ,B. Matt, Introduction to Computer Security ,Addison-Wesley, Pearson Education, 2005 ,SNORT.ORG: http://www.snort.org/ Learning Outcomes 1. To have knowledge of fundamental software engineering concepts 2. Ability to learn from common software engineering faults 3. Ability to discuss software engineering problems 4. Ability of professional decision making
Grading Midterm 25% Research Presentation 40% Final 35% |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| SEDS 562 | Programming and Data Structures | Basic concepts of data, data structures and data types: arrays, strings, linear structures, sequential searching and sorting techniques, stacks, queues, pointers, linked lists. Various forms of m-way search and B-trees. Course Objectives To improve the students understanding and abilities related to data structures and algorithms. To improve the students ability to program. Recommended or Required Reading Data Structures and Abstractions with Java, F.M. Carrano and T.M. Henry, 4th ed., Pearson, 2016. Learning Outcomes
Grading:
Submissions: Project, Report |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 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. Reference book(s): Course Objectives: To improve the presentation techniques of students To comprehend how a presentation format and outline should be To improve the ability of students to express themselves in front of audiences,to improve the knowledge of students in ethical issues in research.
Grading: Course Learning Outcomes: Contribution of Program Learning Outcomes:
Justification of the course: Overlapping with or complementing topics in courses: This course overlaps partially with the SEDS589 Term Project since the ethical issues and knowledge of research methodology applies to both courses. |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
