This course examines forensic science techniques and explores ways in which to apply them to the discovery, collection and analysis of digital evidence. Students practice extracting data from computer hardware, operating systems, networks and/or mobile devices. This class also delves into the legal considerations surrounding digital forensic investigations. Topics include studying how to document forensic procedures and providing expert testimony. This class requires students to engage in current research and a course project that further develops these themes. Students from all departments are welcome. (Prerequisites: a graduate or undergraduate course in security or equivalent experience.) (3 credits)
This course acquaints participants with the fundamental concepts and state-of-the-art computer science research in online instructional systems. Advanced interactive instructional systems serve as tutors, as learning companions or both. This course introduces their design, the technology that powers them, the learning theories that motivate them and results from experimental evaluations. We will cover both the learning theory, and how to design and build systems consist with existing theories. The course consists of weekly presentations on current advanced literature, discussions and a term project. Prerequisite: Proficiency in a high level programming language.
This course will cover a wide range of topics in swarm intelligence, including mathematical, computational, and biological aspects. The course is organized in three parts. In the first part, the students will learn about complex systems and the basic concepts of self-organization, such as positive and negative feedback, symmetry breaking, and emergence. The instructor will illustrate a diverse collection of self-organized systems in nature, finance, and technology that concretize these concepts. The second part covers optimization algorithms inspired by swarm intelligence, namely ant colony optimization and particle swarm optimization. The third and final part is dedicated to swarm robotics, and will cover common swarm algorithms for task allocation, collective motion, and collective decision-making. The course will blend theory and practice, challenging the students to learn by implementing the algorithms discussed in class. The final project will involve working on a research problem in swarm robotics, and the final deliverable will include a demo and a research paper.
This course introduces compression and approximation techniques that allow powerful deep-learning applications on resource-constrained devices, including smartphones, wearables, and intelligent embedded systems. Topics include model compression, pruning, quantization, neural architecture search, gradient compression, on-device transfer learning, federated learning, efficient kernel design, auto-tuning, profiling, and early termination. It also introduces application-specific tinyML techniques for video and audio processing, GAN, and human activity recognition. Moreover, this course explores extremely resource-constrained devices, e.g., battery-free embedded systems, and demonstrates how micro-DNN models can be implemented in these devices. The students will get hands-on experience implementing deep learning models on microcontrollers and mobile phones. Prerequisite: The students should have an introductory undergraduate-level introductory background in machine learning and deep neural network.
(Interested undergrads are explicitly encouraged to enroll.) A cyber-physical system is any system where a computer controls a physical thing, from a car to a power plant to a medical device. These systems are often responsible for human safety, so we need to get them right. This course teaches you how to do that, using logic. This is a logic course at heart. Students will learn to model cyber-physical systems using programs and differential equations, then prove them. You will learn to do formal proofs on a computer for homework. A robot will be available to optionally run your code (for fun). Students have significant freedom in designing final projects about correct cyber-physical systems, which can be done individually or in pairs. The project includes a report and a presentation. The textbook, "Logical Foundations of Cyber-Physical Systems" by André Platzer, should be freely accessible online through the library. The textbook may be supplemented with research papers. Prerequisites: We will use the basics of Newtonian mechanics (e.g. PH 1111), calculus (e.g. MA 1021-1022), and logic (e.g. CS 2022). You should be comfortable with rigorous mathematical modeling and proof, plus informal reasoning about programs. If you are unsure whether to skip a prerequisite, a pre-test can be made available upon request to self-check your readiness. We will review and learn differential equations and formal logic, so a differential equations course (MA 2051) is not a prerequisite.
This course will explore the current state of brain sensing and its application to human-computer interaction research. This course covers brain function, sensing technology, machine learning methods, and applications of brain-computer interfaces in various domains. This course aims for students to (1) obtain the background to conduct research in brain-computer interaction and human-computer interaction; (2) understand the literature in the field of brain sensing for human-computer interaction research; (2) understand the various tools used in brain sensing, with a focus on functional near-infrared spectroscopy (fNIRS) research; (3) understand the steps required to use real-time brain sensing data as input to an interactive system; (4) understand the domains and contexts in which brain-computer interfaces may be effective; (5) understand the open questions and challenges in brain-computer interaction research today.
Modern data centers are massive warehouses that host hundreds of thousands of physical servers. Those large amount of interconnected servers provide the infrastructure foundations for today's evolving cloud computing platforms. Cloud computing, with its clear economic benefits and flexible resource offerings, has gained increasing popularity over the past decade. Today's cloud platforms host a plethora of services, including traditional web service, mobile backend, and big data analytic, and allow customers the freedom to deploy full stack applications in the cloud. In this course, we will discuss recent research on cloud computing and data centers, with the goals of better understanding and exploring the key challenges faced by the large scale data centers and cloud platforms. We will cover topics including but not limited to cloud computing services, cluster scheduling and provisioning, cloud-based machine learning, and interaction with mobile/edge computing. The course is structured with activities including reading, presentation, discussion, and programming to help students gain both conceptual understanding and practical experiences with cloud computing. For the final project, students will work on a research problem in cloud computing and deliver a research paper and a demo.
This course will cover a wide range of topics in swarm intelligence, including mathematical, computational, and biological aspects. The course is organized in three parts. In the first part, the students will learn about complex systems and the basic concepts of self-organization, such as positive and negative feedback, symmetry breaking, and emergence. The instructor will illustrate a diverse collection of self-organized systems in nature, finance, and technology that concretize these concepts. The second part covers optimization algorithms inspired by swarm intelligence, namely ant colony optimization and particle swarm optimization. The third and final part is dedicated to swarm robotics, and will cover common swarm algorithms for task allocation, collective motion, and collective decision-making. The course will blend theory and practice, challenging the students to learn by implementing the algorithms discussed in class. The final project will involve working on a research problem in swarm robotics, and the final deliverable will include a demo and a research paper.
You probably are interested in the following questions: how does Amazon Alexa communicate with humans with so many smart/weird/funny feedback? How does Google quickly locate or even summarize the information that you are looking for? How does ETS auto-score your TOEFL/GRE essay?... OK, let's find the answers to these super interesting questions in this course - Natural Language Processing (NLP)! This course is intended as a theoretical and methodological introduction to the most widely used and effective current techniques, strategies, and toolkits for NLP, with a primary focus on machine learning and computational linguistics. We will also explore those topics in an industry-driven large-scale data context. For instance, for class projects, you will have the chance to explore very famous datasets like Wikipedia Dump, Microsoft Academic Graph and Yelp Data Challenge. Should be fun! While we don't have any prerequisites for this course, some basic knowledge in machine learning and Python programming will be helpful.
This course will explore the current state of brain sensing and its application to human-computer interaction research. This course covers brain function, sensing technology, machine learning methods, and applications of brain-computer interfaces in various domains. This course aims for students to (1) obtain the background to conduct research in brain-computer interaction and human-computer interaction; (2) understand the literature in the field of brain sensing for human-computer interaction research; (2) understand the various tools used in brain sensing, with a focus on functional near-infrared spectroscopy (fNIRS) research; (3) understand the steps required to use real-time brain sensing data as input to an interactive system; (4) understand the domains and contexts in which brain-computer interfaces may be effective; (5) understand the open questions and challenges in brain-computer interaction research today. Prerequisites: A basic understanding of algorithms.
Predicting and understanding human decisions arises in numerous fields and contexts including artificial intelligence, human-computer interaction, robotics, digital health, eCommerce, economics and marketing. Machine learning models coupled with the availability of large data sets give rise to new methods for building good predictive models of the decisions people make. We will survey these new methods and related topics such as theoretical and empirical models of human decision making, approaches for achieving low prediction error, the connection between predictions and explanations and related scenarios such as predicting sequential decisions and game playing. We will follow the book "Predicting Human Decision-Making: From Prediction to Action" by Rosenfeld and Kraus, as well as recent scientific papers in this domain. As a final project, students will be asked to build a predictive model of human decisions based on training data (supplied to students) that will be evaluated on test data. Prerequisites: An undergraduate (or graduate) course in Machine Learning and an undergraduate (or graduate) course in Artificial Intelligence.
This course will cover a wide range of topics in swarm intelligence, including mathematical, computational, and biological aspects. The course is organized in three parts. In the first part, the students will learn about complex systems and the basic concepts of self-organization, such as positive and negative feedback, symmetry breaking, and emergence. The instructor will illustrate a diverse collection of self-organized systems in nature, finance, and technology that concretize these concepts. The second part covers optimization algorithms inspired by swarm intelligence, namely ant colony optimization and particle swarm optimization. The third and final part is dedicated to swarm robotics, and will cover common swarm algorithms for task allocation, collective motion, and collective decision-making. The course will blend theory and practice, challenging the students to learn by implementing the algorithms discussed in class. The final project will involve working on a research problem in swarm robotics, and the final deliverable will include a demo and a research paper.
This course introduces theory, design, and implementation of text-based and Web-based information retrieval systems. Students learn components and operation of search engines providing search services. Components include web crawlers, indexers, link-based ranking algorithms, and recommender systems. This course also introduces research topics in social computing such as social media, crowdfunding, privacy and security issues related to social systems. Students will conduct a team-based project.
This course acquaints participants with the fundamental concepts and state-of-the-art computer science research in online instructional systems. Advanced interactive instructional systems serve as tutors, as learning companions or both. This course introduces their design, the technology that powers them, the learning theories that motivate them and results from experimental evaluations. We will cover both the learning theory, and how to design and build systems consist with existing theories. The course consists of weekly presentations on current advanced literature, discussions and a term project. Prerequisite: Proficiency in a high level programming language.
Reinforcement Learning (RL) is an area of machine learning concerned with how agents take actions in an environment with a goal of maximizing some notion of "cumulative reward". The problem, due to its generality, is studied in many disciplines, and applied in many domains, including robotics and industrial automation, marketing, education and training, health and medicine, text, speech, dialog systems, finance, among many others. In this course, we will cover topics including: Markov decision processes, reinforcement learning algorithms value function based, actor-critics, policy gradient methods, representations for reinforcement learning (including deep learning), and inverse reinforcement learning. The course project(s) will require the implementation and application of many of the algorithms discussed in class. Prerequisites: Machine Learning (CS 539), and programming experience. Statistics at the undergraduate level, or permission of the instructor.
This course examines forensic science techniques and explores ways in which to apply them to the discovery, collection and analysis of digital evidence. Students practice extracting data from computer hardware, operating systems, networks and/or mobile devices. This class also delves into the legal considerations surrounding digital forensic investigations. Topics include studying how to document forensic procedures and providing expert testimony. This class requires students to engage in current research and a course project that further develops these themes. Students from all departments are welcome. (Prerequisites: a graduate or undergraduate course in security or equivalent experience.) (3 credits)
Randomized algorithms are algorithms that use randomness (e.g., the
outcome of a fair coin) in their implementation. The use of randomness
is common in algorithm design finding many applications in areas such
as graph algorithms, machine learning and social network analysis. We
will cover topics such as random variables, moments and deviations,
concentration inequalities, the probabilistic method, average case
analysis and random graphs. Time permitting we will also cover basic
concepts in statistical machine learning (VC dimension and sample
complexity).
Prerequisite: A course in algorithm design (knowledge
of running time analysis of algorithms) and a course in discrete
structures (familiarity with graph theory, and
combinatorics). Knowledge of basic facts from probability theory
(random variables, expectation, variance, independence) is
recommended. This is an advanced theoretical course assuming
mathematical maturity and experience in writing and understanding
mathematical proofs.
Modern data centers are massive warehouses that host hundreds of thousands of physical servers. Those large amount of interconnected servers provide the infrastructure foundations for today's evolving cloud computing platforms. Cloud computing, with its clear economic benefits and flexible resource offerings, has gained increasing popularity over the past decade. Today's cloud platforms host a plethora of services, including traditional web service, mobile backend, and big data analytic, and allow customers the freedom to deploy full stack applications in the cloud. In this course, we will discuss recent research on cloud computing and data centers, with the goals of better understanding and exploring the key challenges faced by the large scale data centers and cloud platforms. The class will cover topics such as the use of virtualization in data centers, automated resource management, data center reliability, energy efficiency, and security in shared cloud environments. The course will combine reading/discussing research papers with a course-long research project in the area of cloud computing. Students will pick a research topic to explore in their project with the guidance from the professor.
This course will explore the current state of brain sensing and its application to human-computer interaction research. This course covers brain function, sensing technology, machine learning methods, and applications of brain-computer interfaces in various domains. This course aims for students to (1) obtain the background to conduct research in brain-computer interaction and human-computer interaction; (2) understand the literature in the field of brain sensing for human-computer interaction research; (2) understand the various tools used in brain sensing, with a focus on functional near-infrared spectroscopy (fNIRS) research; (3) understand the steps required to use real-time brain sensing data as input to an interactive system; (4) understand the domains and contexts in which brain-computer interfaces may be effective; (5) understand the open questions and challenges in brain-computer interaction research today. Prerequisites: A basic understanding of algorithms.
This course acquaints participants with the fundamental concepts and state-of-the-art computer science research in online instructional systems. Advanced interactive instructional systems serve as tutors, as learning companions or both. This course introduces their design, the technology that powers them, the learning theories that motivate them and results from experimental evaluations. We will cover both the learning theory, and how to design and build systems consist with existing theories. The course consists of weekly presentations on current advanced literature, discussions and a term project. Prerequisite: Proficiency in a high level programming language.
This course will cover a wide range of topics in swarm intelligence, including mathematical, computational, and biological aspects. The course is organized in three parts. In the first part, the students will learn about complex systems and the basic concepts of self-organization, such as positive and negative feedback, symmetry breaking, and emergence. The instructor will illustrate a diverse collection of self-organized systems in nature, finance, and technology that concretize these concepts. The second part covers optimization algorithms inspired by swarm intelligence, namely ant colony optimization and particle swarm optimization. The third and final part is dedicated to swarm robotics, and will cover common swarm algorithms for task allocation, collective motion, and collective decision-making. The course will blend theory and practice, challenging the students to learn by implementing the algorithms discussed in class. The final project will involve working on a research problem in swarm robotics, and the final deliverable will include a demo and a research paper.
This course introduces theory, design, and implementation of text-based and Web-based information retrieval systems. Students learn components and operation of search engines providing search services. Components include web crawlers, indexers, link-based ranking algorithms, and recommender systems. This course also introduces research topics in social computing such as social media, crowdfunding, privacy and security issues related to social systems. Students will conduct a team-based project.
You have implemented a new idea, system, or crafted your first hypothesis. Now what?
This course covers computational techniques in the context of designing, architecting, managing, and analyzing large-scale online experiments. Sample course topics include crowdsourcing, interface instrumentation, tidy data management, web architectures and devops, experiment monitoring and management, and best practices in quantitative/qualitative experiment analysis and reporting, including Bayesian multilevel regression. Bridging theory and practice, students will design and implement sample experiments throughout the course, including a course-long research project. Prerequisites: some experience with JavaScript and web programming concepts is recommended.
This course covers legal issues related to crimes involving computers and networks. We will also study the technologies used for forensic investigation, intelligence gathering, privacy enhancement, and censorship resistance. The main legal topics will include recent and important case law, statutes, and constitutional clauses concerning authorization, access, search and seizure, wiretaps, the right to privacy, and FISA. Our technology topics include methods of investigation and resistance in the context of the Internet. Prerequisites: None; Students need not have background in legal concepts.
Reinforcement Learning (RL) is an area of machine learning concerned with how agents take actions in an environment with a goal of maximizing some notion of "cumulative reward". The problem, due to its generality, is studied in many disciplines, and applied in many domains, including robotics and industrial automation, marketing, education and training, health and medicine, text, speech, dialog systems, finance, among many others. In this course, we will cover topics including: Markov decision processes, reinforcement learning algorithms value function based, actor-critics, policy gradient methods, representations for reinforcement learning (including deep learning), and inverse reinforcement learning. The course project(s) will require the implementation and application of many of the algorithms discussed in class. Prerequisites: Machine Learning (CS 539), and programming experience. Statistics at the undergraduate level, or permission of the instructor.
This course will cover a wide range of topics in swarm intelligence, including mathematical, computational, and biological aspects. The course is organized in three parts. In the first part, the students will learn about complex systems and the basic concepts of self-organization, such as positive and negative feedback, symmetry breaking, and emergence. The instructor will illustrate a diverse collection of self-organized systems in nature, finance, and technology that concretize these concepts. The second part covers optimization algorithms inspired by swarm intelligence, namely ant colony optimization and particle swarm optimization. The third and final part is dedicated to swarm robotics, and will cover common swarm algorithms for task allocation, collective motion, and collective decision-making. The course will blend theory and practice, challenging the students to learn by implementing the algorithms discussed in class. The final project will involve working on a research problem in swarm robotics, and the final deliverable will include a demo and a research paper.
This course introduces theory, design, and implementation of text-based and Web-based information retrieval systems. Students learn components and operation of search engines providing search services. Components include web crawlers, indexers, link-based ranking algorithms, and recommender systems.
This course also introduces research topics in social computing such as social media, crowdfunding, privacy and security issues related to social systems. Students will conduct a team-based project.
In this course, students will investigate the relationship between artificial intelligence and human creativity across a variety of mediums, including games, music, storytelling, and visual art. We will explore topics including the nature of creativity, whether a computer program could (ever) be considered creative, different approaches to the creation and evaluation of software that augments a humans creative process, and the role of computationally creative algorithms in the design of interactive software. We will also consider tangible interaction in computational creativity, including in the context of machine creativity for physical artifacts. Students will read and discuss current projects and papers in the field of computational creativity, complete several small projects related to different algorithms and topic areas, and design and implement their own semester-long project that explores a specific aspect of computational creativity.
This course introduces theory, design, and implementation of text-based and Web-based information retrieval systems. Students learn components and operation of search engines providing search services. Components include web crawlers, indexers, link-based ranking algorithms, and recommender systems.
This course also introduces research topics in social computing such as social media, crowdfunding, privacy and security issues related to social systems. Students will conduct a team-based project.
Modern data centers are massive warehouses that host hundreds of thousands of physical servers. Those large amount of interconnected servers provide the infrastructure foundations for today’s evolving cloud computing platforms. Cloud computing, with its clear economic benefits and flexible resource offerings, has gained increasing popularities over the past decade. Today’s cloud platforms host a plethora of services, including traditional web service, mobile backend, and big data analytic, and allow customers the freedom to deploy full stack applications in the cloud. In this course, we will discuss recent research on cloud computing and data centers, with the goals of better understanding and exploring the key challenges faced by the large scale data centers and cloud platforms. The class will cover topics such as the use of virtualization in data centers, automated resource management, data center reliability, energy efficiency, and security in shared cloud environments. The course will combine reading/discussing research papers with a course-long research project in the area of cloud computing. Students will pick a research topic to explore in their project with the guidance from the professor.
This course will cover a wide range of topics in swarm intelligence, including mathematical, computational, and biological aspects. The course is organized in three parts. In the first part, the students will learn about complex systems and the basic concepts of self-organization, such as positive and negative feedback, symmetry breaking, and emergence. The instructor will illustrate a diverse collection of self-organized systems in nature, finance, and technology that concretize these concepts.
The second part covers optimization algorithms inspired by swarm intelligence, namely ant colony optimization and particle swarm optimization. The third and final part is dedicated to swarm robotics, and will cover common swarm algorithms for task allocation, collective motion, and collective decision-making. The course will blend theory and practice, challenging the students to learn by implementing the algorithms discussed in class. The final project will involve working on a research problem in swarm robotics, and the final deliverable will include a demo and a research paper.
This course introduces theory, design, and implementation of text-based and Web-based information retrieval systems. Students learn components and operation of search engines providing search services. Components include web crawlers, indexers, link-based ranking algorithms, and recommender systems. This course also introduce research topics in social computing such as social media, crowdfunding, privacy and security issues related to social systems. Students will conduct a team-based project.
This course examines forensic science techniques and explores ways in which to apply them to the discovery, collection and analysis of digital evidence. Students practice extracting data from computer hardware, operating systems, networks and/or mobile devices. This class also delves into the legal considerations surrounding digital forensic investigations. Topics include studying how to document forensic procedures and providing expert testimony. This class requires students to engage in current research and a course project that further develops these themes. Students from all departments are welcome. (Prerequisites: a graduate or undergraduate course in security or equivalent experience.) (3 credits)
This course will offer a historical perspective on the mathematical, computational, and biological underpinnings of modern ("deep") neural networks. Students will learn about the most prominent network architectures from the 1950s through today -- including perceptrons, multi-layer feed-forward neural networks, convolutional neural networks (CNNs), and recurrent neural networks (RNNs) -- as well as optimization and regularization techniques used to train them -- including back-propagation, stochastic gradient descent, dropout, pooling, batch normalization, etc. Connections to related machine learning techniques and algorithms, such as probabilistic graphical models and variational inference, will be explored. The course will consist of both theory and practice, and students will have the opportunity to train neural networks for a wide range of possible applications (e.g., object detection, facial expression recognition, handwriting analysis, natural language processing) within the domains of perception, prediction, and control. A significant portion of the coursework will consist of a final research project, as well as an accompanying research paper, that is intended to be synergistic with students' own research interests.
Prerequisites:Linear algebra, calculus, and an undergraduate or graduate machine learning course.
In recent years, urban infrastructures have undergone a fast expansion, where big urban issues emerge over time, such as pollution, traffic congestion, etc. Urban Network Analysis aims to identify and solve various urban challenges by integrating and analyzing heterogeneous urban network data sources, such as human mobility, transactions, power consumption, weather, etc. This course introduces the framework of urban network analysis, with techniques in urban sensing, data management, data analytics, and services. This is a seminar style course, with discussions and weekly presentations on the state-of-the-art literature. There are two team projects involving analyzing large-scale real urban data to tackle urban challenges.
Prerequisites: DS 501 (Introduction to Data Science) or DS 502 / MA 543 (Statistical Methods for Data Science) or DS 503 / CS 585 (Big Data Management) or an equivalent graduate level course in Data Mining, Machine Learning, or Data Management, and proficiency in a high level programming language.
Teaching intro computer science is easy, right? Show students a bunch of constructs and programs in a currently-popular language, then tell them to write a bunch of different programs that do something cool, right?. A growing body of research is unpacking how people actually learn computing, and it's a lot more subtle than most of us realize. This seminar will cover core material on how people understand and learn computing. We'll look at papers about learning in both novices and experts, in a variety of contexts, on topics including but beyond intro programming. Each student will read, present, and discuss papers, and complete a course project (individual topics to be determined in consultation with the instructor). Students will gain an appreciation for the subtleties of learning and teaching about computing, particularly as it applies to national trends around MOOCs, K-12, and exploding interest in learning computer science both in and out of formal schooling. Prerequisite: none
Schedule: Tues/Thurs 4 - 5:40 (ending 5pm on Tuesdays)
This course an introductory graduate course teaching core computer science topics typically found in an undergraduate Computer Science curriculum, but at a graduate-level pace. It is primarily intended for students with little formal preparation in Computer Science to gain experience with fundamental Computer Science topics. The main objective of this course will be a review of programming concepts, including object programming. After this review, the focus of the course will be on data structures from the point of view of the operations performed upon the data and to apply analysis and design techniques to non-numeric algorithms that act on data structures. The data structures covered include lists, stacks, queues, trees and graphs. Projects will focus on the writing of programs to appropriately integrate data structures and algorithms for a variety of applications. Programs will be written using Python 3, a modern language popular in many scientific and engineering disciplines. Along the way, students will learn key notions that will help them to learn how to be effective in other languages. End of course will include a short introduction to Java.
This course may not be used to satisfy degree requirements for a B.S., M.S or Ph.D. degree in Computer Science or a minor in Computer Science. It may satisfy the requirements for other degree programs at the discretion of the program review committee for the particular degree. Prerequisites: NONE.
Schedule: Aug 25 - Dec 16, Monday and Wednesday 4-5:20PM
This course provides a comprehensive introduction to the field of computer and network security as it applies to the power transmission and distribution industry. The course has been tailored to the power industry, and deals with topics not generally covered in similar courses, such as the nature of the NERC CIP standards and how they can/should be implemented, as well as emphasis on Supervisory Control and Data Acquisition (SCADA) networks, Programmable Logic Controllers (PLCs) the Smart Grid, and similar industry-specific concerns. Security architectures and protocols and their impact on computers and networks are examined. Critical computer and network security aspects are identified and examined from the standpoints of both the user and the attacker. Computer system and network vulnerabilities are examined, and mitigating approaches are identified and evaluated. Both the principles and practice of computer and network security are introduced. The basic issues to be addressed by a computer and network security capability are explored.
This course will cover privacy from a technical viewpoint, with a strong dose of law, policy, and the real world. The focus will be on technical solutions but policy and legal privacy protections will also be covered at some depth, as will how these three aspects of privacy protections interact. The course will study various privacy technologies, including cryptography (very briefly), k-anonymity, differential privacy, and data provenance. We'll consider the limitations of, and attacks on, these privacy protections, and to what extent these protections realistically solve the problems. Finally, we will consider privacy within the context of applications such as identity management. Prior knowledge of cryptography, such as ECE/CS 578, Cryptography and Data Security is not assumed, but would be a welcome complement.
This course focuses on graph mining and network analytics, exploring the leading research, applications, and methods in mining graph and network data. The course will cover a range of multidisciplinary topics, including community detection in social networks, analyzing biomedical networks, mining urban networks, searches for functional modules in biological pathways and structural analysis in chemical compounds. These topics will be pursued through independent reading, class discussion, and a final project. We are going to discuss the state-of-the-art research results and identify potential topics for graduate research in graph mining. Prerequisites: undergraduate/graduate data mining or machine learning, programming experience.
This course explores new emerging issues around the concept known as the Internet of Things (IoT). The course will use the current literature to investigate topics that include broader issues such as the interdependencies between the Internet of Things to current activities such as M2M (machine-to-machine) protocols, Cloud support, Big Data issues and anticipating the impact of future IoT traffic on current network infrastructure that includes cellular 4G LTE and WiFi networks. Part of the course will focus on Wireless Sensor Networks (WSNs) as they apply to IoT issues and consider current issues in the IoT community about new initiatives both academic and corporate that involve IoT topologies, networking standards, protocol stacks and security issues. Students taking the course need to have fundamental knowledge of computer networks as found in CS4516, CS513 or ECE506. While prior network programming experience will be useful, course prerequisites do not include a strong programming background.
This course examines forensic science techniques and explores ways in which to apply them to the discovery, collection and analysis of digital evidence. Students practice extracting data from computer hardware, operating systems, networks and/or mobile devices. This class also delves into the legal considerations surrounding digital forensic investigations. Topics include studying how to document forensic procedures and providing expert testimony. This class requires students to engage in current research and a course project that further develops these themes. Students from all departments are welcome. (Prerequisites: a graduate or undergraduate course in security or equivalent experience.) (3 credits)
The goal of this course is to introduce the students to the bioinformatics and data mining methods that focus on studying diseases. The course introduces basic molecular principles behind the diseases, formulate main challenges to solve, and describe in detail the computational methodology used to solve these challenges. Both, classical and state-of-the art computational methods are introduced. Three main classes of diseases are covered: Mendelian diseases, infectious diseases, and complex genetic disorders. Computational methodology covered in the course include sequence analysis, structural bioinformatics, network analysis, cell informatics, GWAS, biomedical visualization, and computational epidemiology. As a part of the course, students will be engaged in a course-long research project.
This is an introductory graduate course teaching core computer science topics typically found in an undergraduate Computer Science curriculum, but at a graduate-level pace. It is primarily intended for students with little formal preparation in Computer Science to gain experience with fundamental Computer Science topics.
After a review of programming concepts the focus of the course will be on data structures from the point of view of the operations performed upon the data and to apply analysis and design techniques to non-numeric algorithms that act on data structures. The data structures covered include lists, stacks, queues, trees and graphs. Projects will focus on the writing of programs to appropriately integrate data structures and algorithms for a variety of applications.
This course may not be used to satisfy degree requirements for a B.S., M.S., or Ph.D. degree in Computer Science or a minor in Computer Science. It may satisfy the requirements for other degree programs at the discretion of the program review committee for the particular degree.
This course acquaints participants with the fundamental concepts and state-of-the-art computer science research in online instructional systems. Advanced interactive instructional systems serve as tutors, as learning companions or both. This course introduces their design, the technology that powers them, the learning theories that motivate them and results from experimental evaluations. We will cover both the learning theory, and how to design and build systems consist with existing theories. The course consists of weekly presentations on current advanced literature, discussions and a term project. Prerequisite: Proficiency in a high level programming language.