Dr. Sankaranarayanan is primarily interested in formal verification techniques, especially for hybrid cyber-physical systems (CPS) which model discrete programs interacting with a continuous environment. In this regard, his work explores the application of techniques from areas such as convex optimization, algebraic geometric methods, combinatorial optimization, symbolic and numerical decision procedures to analyze the behavior of programs and verify key temporal properties such as safety, termination, liveness and stability. His recent work applies Monte-Carlo sampling, rare-event simulations and extreme value theory to develop novel verification techniques for cyber-physical systems is ongoing. Finally, his group is actively extending the scope of verification from verifying the software systems to verifying systems with human operators in the loop using cognitive science techniques to understand and model the behavior of human operators.
Path-Following through Control Funnel Functions.
Proceedings of the ... IEEE/RSJ International Conference on Intelligent Robots and Systems. IEEE/RSJ International Conference on Intelligent Robots and Systems.
401-408.
2018
Symbolic Deadlock Analysis in Concurrent Libraries and their Clients.
Proceedings / IEEE International Conference, Automated Software Engineering ; sponsored by IEEE Computer Society, NASA Ames Research Center, in cooperation with AAAI, ACM SIGART and SIGSOFT. IEEE International Automated Software Enginee....
480-491.
2009
COEN 1830 - Special Topics
Primary Instructor
-
Fall 2023
Explores topics of interest in transitioning to the College of Engineering and succeeding in STEM majors.
COEN 3930 - Engineering Internship/Co-op
Primary Instructor
-
Summer 2021 / Summer 2022 / Summer 2023
Students enrolled in this course participate in a pre-approved internship or cooperative education program with an employer that allows them to explore the relationship between theory and practice and demonstrate evidence of significant learning (e.g., academic assignments and employer/sponsor evaluations). Pass/Fail only. Up to 3 credits may apply towards BS degree program's Free Electives (even if student has multiple enrollments in this course and/or COEN 4950). Students should contact the CEAS Extracurricular Programs Manager for more information. Minimum 2.75 cumulative GPA is required.
CSCI 3155 - Principles of Programming Languages
Primary Instructor
-
Fall 2018 / Spring 2019 / Spring 2020 / Fall 2020 / Spring 2021 / Spring 2022 / Spring 2023
Studies fundamental principles governing the design and analysis of programming languages and the execution models underlying them. Explores a variety of concepts including values, scoping, recursion, higher-order functions, type systems, control structures, and objects. Introduces the notion of formal semantics as a framework to understanding programming features. Same as CSPB 3155.
CSCI 3202 - Introduction to Artificial Intelligence
Secondary Instructor
-
Spring 2021
Surveys artificial intelligence techniques of search, knowledge representation and reasoning, probabilistic inference, machine learning, and natural language. Same as CSPB 3202.
CSCI 4830 - Special Topics in Computer Science
Primary Instructor
-
Spring 2021 / Fall 2022
Covers topics of interest in computer science at the senior undergraduate level. Content varies from semester to semester. Only 9 credit hours from CSCI 4830 and/or CSCI 4831 can count toward Computer Science BS or BA.
CSCI 4950 - Senior Thesis
Primary Instructor
-
Fall 2019 / Spring 2020 / Fall 2023
Provides an opportunity for senior computer science majors to conduct exploratory research in computer science. Department enforced restriction, successful completion of a minimum of 36 credit hours of Computer Science coursework and approved WRTG. May be repeated up to 8 total credit hours.
CSCI 5454 - Design and Analysis of Algorithms
Primary Instructor
-
Fall 2018 / Spring 2019 / Spring 2023
Techniques for algorithm design, analysis of correctness and efficiency; divide and conquer, dynamic programming, probabilistic methods, advanced data structures, graph algorithms, etc. Lower bounds, NP-completeness, intractability. Recommended prerequisite: CSCI 2270 or equivalent.
CSCI 5654 - Linear Programming
Primary Instructor
-
Spring 2020 / Spring 2022
Presents algorithms, simplex and modifications. Examines theory-duality and complementary slackness. Involves network flow algorithms. Introduces integer programming. Recommended prerequisite: linear algebra.
CSCI 6930 - Professional Internship
Primary Instructor
-
Summer 2022
This class provides a structure for CS graduate students to receive academic credit for internships with industry partners that have an academic component to them suitable for graduate-level work. Participation in the program will consist of an internship agreement between a student and an industry partner who will employ the student in a role that supports the academic goals of the internship. Instructor participation will include facilitation of mid-term and final assessments of student performance as well as support for any academic-related issues that may arise during the internship period. May be taken during any term following initial enrollment and participation in CS graduate programs.
CSCI 7000 - Current Topics in Computer Science
Primary Instructor
-
Spring 2019 / Fall 2022
Covers research topics of current interest in computer science that do not fall into a standard subarea. May be repeated up to 8 total credit hours.
CSCI 7135 - Topics in Programming Languages
Primary Instructor
-
Fall 2018 / Spring 2021
Topics selected by instructor. Possible topics are syntax, semantics, metacompilers, compiler design, and translator writing systems. Department consent required.
CSPB 3155 - Principles of Programming Languages
Primary Instructor
-
Fall 2020
Studies fundamental principles governing the design and analysis of programming languages and the execution models underlying them. Explores a variety of concepts including values, scoping, recursion, higher-order functions, type systems, control structures, and objects. Introduces the notion of formal semantics as a framework to understanding programming features. Same as CSCI 3155.
DTSA 5501 - Algorithms for Searching, Sorting, and Indexing
Primary Instructor
-
Summer 2021 / Fall 2021 / Spring 2022 / Summer 2022 / Fall 2022 / Spring 2023 / Summer 2023 / Fall 2023
This course covers basics of algorithm design and analysis, as well as algorithms for sorting arrays, data structures such as priority queues, hash functions, and applications such as Bloom filters.
DTSA 5502 - Trees and Graphs: Basics
Primary Instructor
-
Summer 2021 / Fall 2021 / Spring 2022 / Summer 2022 / Fall 2022 / Spring 2023 / Summer 2023 / Fall 2023
Basic algorithms on tree data structures, binary search trees, self-balancing trees, graph data structures and basic traversal algorithms on graphs. This course also covers advanced topics such as kd-trees for spatial data and algorithms for spatial data.
DTSA 5503 - Dynamic Programming, Greedy Algorithms
Primary Instructor
-
Summer 2021 / Fall 2021 / Spring 2022 / Summer 2022 / Fall 2022 / Spring 2023 / Summer 2023
This course covers basic algorithm design techniques such as divide and conquer, dynamic programming, and greedy algorithms. It concludes with a brief introduction to intractability (NP-completeness) and using linear/integer programming solvers for solving optimization problems.