Soumya Ray

Soumya Ray

(Ph. D., University of Wisconsin-Madison, 2005)
Associate Professor
Department of Electrical Engineering and Computer Science
Case Western Reserve University
Office: Olin 516
Office hours: F 9:30am-11:00am
Email: sray AT case
Mailing Address: Department of EECS, Glennan 320, 10900 Euclid Ave, Cleveland OH 44106-7071
Research Areas: Artificial Intelligence, Machine Learning, Reinforcement Learning and Planning
Slack group


I teach undergraduate AI (EECS 391) in the spring and graduate machine learning (EECS 440) in the fall. I also teach two other graduate level courses: EECS 496 (Sequential Decision Making) and EECS 497 (Statistical Natural Language Processing). Currently, these last two are offered once every two years. You can visit this page to learn more about these courses.

I am the current AI minor advisor. This minor provides a broad foundation in Intelligent Systems. CS majors interested in this minor should take the "Cognitive Science" track. All other majors can take either track.

SEPIA (Strategy Engine for Programming Intelligent Agents) is a real-time strategy game environment my students and I have built for AI teaching and research (see EAAI paper below). I use it in classes for assignments. It is open source and free to use. Please let me know if you are using/would like to use it.

Current teaching: Spring 2019: Introduction to Artificial Intelligence (EECS 391), Senior Project (EECS 395)


If you are an undergraduate student interested in AI, please stop by my office (Olin 516) during office hours (or send email for an appointment) to discuss your undergraduate career. The primary requirements are strong programming and mathematics skills. In particular, the following courses will be useful foundational courses: MATH 201, MATH 380, EECS 416. You should aim to take EECS 391 as early as you can (no later than junior year), and follow up with some of the advanced, graduate level courses: EECS 440 (Machine Learning), 442 (Causal Inference), 491 (Probabilistic Graphical Models), 496 (Sequential Decision Making), 497 (Statistical Natural Language Processing), 499 (Algorithmic Robotics), 531 (Computer Vision), 600 (Computational Perception). For a minor, consider Cognitive Science, Math or Statistics. Please note that the AI minor will generally not add anything useful if you are already specializing in AI, unless you take the "Cognitive Science" track (but then you should consider a minor in Cognitive Science).

If you are a CWRU graduate student interested in AI/machine learning research, and have a solid background in probability and statistics, programming and optimization, you should first take one of my classes. If you like the material and do well, please send me an email for an initial discussion. You can also send me email to be added to my reading group's mailing list (for notifications about papers we will read next). Please note that you will need to have taken EECS 440 or 491 or have a good background in AI to contribute effectively.

Please note that I do not generally respond to email from students who have not been admitted to CWRU. If you are interested in AI and have applied to the PhD program in CS, you can send me a note if you want me to review your application. Please make sure to mark "PhD in CIS (Computer and Information Science)" in your application, or it may not be considered by the CS program.

A note on the distinction between the Computer Science (CS) and Computer Engineering (CE) programs at CWRU: CS deals with the process and theory of computation and its platform-independent implementation. If you are interested in designing algorithms to solve problems, analyzing them and implementing them (using high level languages), CS will suit you. CE deals with the low-level specifics of platforms that implement computational processes. If you are interested in designing VLSI circuits, testing circuit specifications, or novel hardware architectures such as GPU-based computing, CE will suit you.

Current Students

Graduated Students

Current Research

What are the fundamental aspects of building an intelligent autonomous system? In my opinion, they are:
  1. Representation: How does the system represent the world? How does it understand what is relevant? How does it understand what is relevant to its current situation from its previous experience?
  2. Decomposition: How does the system learn to break down large problems into efficiently solvable chunks, and compose useful solutions?
  3. Coordination and Communication: How does the system work with other such systems to solve large problems?

In my research, I am attempting to make progress in understanding these very challenging questions. As well as addressing these fundamental issues, I work with several collaborators to apply AI and machine learning techniques to various application domains, including medicine, cognitive science and business.

My reading group web page is here.

Machine Learning/Artificial Intelligence Theory and Methods

Applied Machine Learning and Artificial Intelligence

Previous Research

Machine Learning/Artificial Intelligence Theory and Methods

Applied Machine Learning and Artificial Intelligence


Workshop Publications

Contributed Chapters

Posters, Abstracts, Technical Reports and Other Publications

Miscellaneous Activities

Code and Datasets

Spam Filtering Datasets

Information Extraction Datasets

Gary's multiple-instance support vector machine code

Strategy Engine for Programming Intelligent Agents (SEPIA)

IIT Kharagpur logo        UW-Madison logo        OSU Logo       Case Logo      
Google Groups
Machine Learning News
Visit this group

 Home      IIT Kharagpur      UW-Computer Sciences      Oregon State EECS      Case Western EECS     

Last update 3/15/2017 by Soumya Ray