Data analytics and visualization is an emerging discipline of immense importance to any data-driven organization. This is a project-focused course that provides students with knowledge on tools for data mining and visualization and practical experience working with data mining and machine learning algorithms for analysis of very large amounts of data. It also focuses on methods and models for efficient communication of data results through data visualization. Topics include finding similar items, frequent itemsets, mining data streams, clustering, dimensionality reduction, link analysis, mining graphs, recommendation systems, value of visualization, exploratory data analysis, visualization of multidimensional data, visualization of networks, tools for data analytics and visualization.
Storing, managing, and processing datasets are foundational to both computer science and data science. The enormous size of today's data sets and the specific requirements of modern applications, necessitated the growth of a new generation of data management systems, where the emphasis is put on distributed and fault-tolerant processing. New programming paradigms have evolved, an abundance of information platforms offering data management and analysis solutions appeared and a number of novel methods and tools have been developed. This course introduces the fundamentals of big data storage, retrieval, and processing systems. As these fundamentals are introduced, exemplary technologies are used to illustrate how big data systems can leverage very large data sets that become available through multiple sources and are characterized by diverse levels of volume (terabytes; billion records), velocity (batch; real-time; streaming) and variety (structured; semi-structured; unstructured). The course aims to provide students with both theoretical knowledge and practical experience of the field by covering recent research on big data systems and their basic properties.
Information networks are effective representations of pairwise relationships between objects. Examples include technological networks (e.g., World Wide Web), online social networks (e.g., Facebook), biological networks (e.g., Protein-to-Protein interactions), and more. The study of information networks is an emerging discipline of immense importance that combines graph theory, probability and statistics, data mining and analysis, and computational social science. This course provides students with both theoretical knowledge and practical experience of the field by covering models and algorithms of information networks and their basic properties. In addition, analysis of information networks provides the means to explore large, complex data coming from vastly diverse sources and to inform computational problems and better decisions. Topics include basic graph theory, network measurements, network models, community detection, graph partitioning, link analysis, link prediction, information cascades & epidemics, network ties, social recommendation systems, mining graphs, connections to problems in the social sciences and economics.
This course provides an introduction to the fundamental concepts of database management, including topics of relational data model, relational algebra, SQL query language, SQL in a server environment, the Entity/Relationship model, design theory and normalization, the semi-structured data model (XML), programming languages for XML (XPath/XQuery), advanced topics (transactions, concurrency control, recovery, sql security).
This course provides an introduction to software techniques in a Unix-style environment, using scripting languages and a machine-oriented programming language (typically C). What goes on in the system when programs are executed. Core topics: creating and using software tools, pipes and filters, file processing, shell programming, processes, system calls, signals.
Data Science depends on data, and a core competency mandated by this reliance on data is knowing effective and efficient ways to manage, search and compute over that data. This course is focused on how data can be stored, managed and retrieved as needed for use in analysis or operations. The goal of this course is provide students with both theoretical knowledge and practical experience leading to mastery of data management, storage and retrieval with very large-scale data sets.
This course provides an introduction to database management systems. The relational data model. Relational algebra. Querying and updating databases: the SQL query language. Application programming with SQL. Integrity constraints, normal forms, and database design. Elements of database system technology: query processing, transaction management. Semi-structured data models. Quering semi-structured data (xml, xpath, xquery technologies).
This course provides an introduction to the technologies used for developing Web applications. We discuss technologies for static and dynamic content generation, including n-tiered architectures and web services. We also discuss general Web design principles, with a special focus on usability, security and scalability.
This course provides an introduction to software techniques in a Unix-style environment, using scripting languages and a machine-oriented programming language (typically C). What goes on in the system when programs are executed. Core topics: creating and using software tools, pipes and filters, file processing, shell programming, processes, system calls, signals, basic network programming.
This course is designed to give an introduction to computer science with emphasis on the development of tools for problem solving in science and engineering. The course consists primarily of lectures and laboratories. Major topics covered in the lectures include: the representation of information, development of good programming techniques, program organization, algorithms, and data structures. Programming concepts are introduced using the C programming language.
This course provides an introduction to computer systems and software. Topics include the representation of information, algorithms, programming languages, operating systems and software engineering. Emphasis is on the design of algorithms and their implementation in software. Students will develop a competency in the C programming language. Laboratory exercises will explore programming concepts using examples drawn from mathematics and engineering applications.
This course is an advanced Database course that emphasizes on issues of implementation of Database Management Systems. Specifically, deals with issues such as Storage and Index Structures (Disks and files, Tree and Hash Indices, External Sorting), Query Processing and Optimization (Relational Algebra Operator Implementation, Logical and Physical Optimization of Relational Queries, Relational Query Optimizer Architecture), Transaction Management (Failure Recovery, Synchonization Control, Execution Plans and Serializability, Locking, Tree Protocols)
The structure and unique characteristics of large software systems. Concepts and techniques in the design and implementation of large software systems. Requirements definition and specification. Software modularity and programming languages for system implementation. Debugging, testing and software quality assurance. Software project management. Formal methods in software engineering. A course project is used to illustrate software engineering techniques.
An introduction to software development on the web. Concepts underlying the development of programs that operate on the web. Operational concepts of the internet and the web, static and dynamic client content, dynamically served content, n-tiered architectures, web development processes and security on the web.
Theory, tools and techniques of problem analysis for software systems development, covering both information systems and control systems. Topics include: requirements specification, object-oriented analysis, business process modeling, and analysis of non-functional requirements.
Techniques for programming efficiently by making use of operating-system facilities and standard utilities and software tools. Tools discussed and used are from the UNIX environment using the C programming language. Topics from: Programmable command interpreters, program generators, networking, interprocess communication, windows programming, challenging assignments emphasize the importance of good design, programming aptitude and use of appropriate tools.
An introduction to computer science for students in other sciences, with an emphasis on gaining practical skills. Introduction to programming; web programming; database design; software tools; examples and exercises taken from the sciences. At the end of this course students are able to develop computer tools for scientific applications, such as the structuring and analysis of experimental data.
An introduction to computing for non-computer scientists. History of computing machinery; representation of data and their interaction with operations; hardware, software, operating systems; problem solving and algorithms; social issues in computing; a gentle introduction to programming. This course is an introduction to becoming actively engaged with computing, not a tutorial on using particular computer applications.
The course deals with the workflow technology which represents the basic framework for the development of large scale business management systems. Starting from abstract descriptions of business processes the course will examine modeling, design, analysis, development and verification methods of the processes. Afterwards the course will study the management of implemented business processes using the workflow systems technology. The organisation and architecture of workflow management systems will be examined under the emergence of recent trends in the research fields of e/web-services and web-based information systems.)
This course is an advanced Database course that emphasizes on issues of implementation of Database Management Systems. Specifically, deals with issues such as Storage and Index Structures (Disks and files, Tree and Hash Indices, External Sorting), Query Processing and Optimization (Relational Algebra Operator Implementation, Logical and Physical Optimization of Relational Queries, Relational Query Optimizer Architecture), Transaction Management (Failure Recovery, Synchonization Control, Execution Plans and Serializability, Locking, Tree Protocols)
This course offers (1) familiarity with internet based software technologies, (2) acquisition of the ability to develop a full-blown internet based application, (3) knowledge and understanding of the role of the middleware as a mean of development flexible, extensible and open applications, (4) understanding of the role of the internet as a mean of development platform-unware applications, (5) understanding and knowledge of the differencies between web-targeted and conventional software, (6) implementation of a real-life internet based application.
Last Updated 2019 © | Manos Papagelis. All Rights Reserved.