I am Dr. Pablo Rivas, an Assistant Professor of Computer Science at Baylor University and former Assistant Professor at Marist College and NASA Goddard Space Flight Center. With a decade of experience in the tech industry as a software engineer and membership as a Senior Member of the IEEE, ACM, and SIAM, I bring a wealth of knowledge to my teaching of machine learning and deep learning courses, focused on natural language processing and computer vision. I am an ally for women in technology and advocate for democratizing AI and machine learning. My research interests include machine learning, computer vision, and AI ethics, and I publish in top machine learning conferences such as NeurIPS, ICML, and ACL. I am also actively developing AI ethics standards with the IEEE Standards Association; I hope the term AI Orthopraxy catches on.
I am an AI researcher with a strong passion for exploring the possibilities of machine learning and artificial intelligence. My research interests lie in a wide range of topics within this field, including deep learning, neural networks, autoencoders, and adversarial training. I am particularly interested in understanding how these technologies can be leveraged to produce advanced systems, such as chatbots, that can have a significant impact on people's lives. Additionally, I have a keen interest in exploring the ethical implications of AI and machine learning, particularly with regards to standards for AI ethics.
Another area of my research focuses on image processing, particularly in the context of remote sensing and multispectral image segmentation. I am dedicated to understanding the underlying algorithms and models that drive these technologies, and I strive to uncover new and innovative ways to improve their accuracy and performance.
One area of my research that I am particularly passionate about is the optimization of machine learning models. This involves finding the right set of hyper-parameters that will allow a model to perform at its best. I also take a close interest in exploring feature importance estimation, which is a technique used to determine which variables in a dataset are most relevant to a machine learning model's predictions.
Overall, my research interests center around developing advanced machine learning and artificial intelligence technologies that are both accurate and ethically sound. I am constantly searching for new and innovative ways to push the boundaries of this field and bring machine learning closer to its full potential.
Introduction to Data Mining - CSI 4352
Introduction to the concepts, techniques, and applications of data mining. Topics include design and implementation of data analysis pipelines; data mining concepts and methods such as association rule mining, pattern mining, classification, regression, and clustering; applications of data mining techniques to complex types of data in various fields.
[
Fall 2020
|
Fall 2021
|
Fall 2023
]
Introduction to Algorithms- CSI 3344
This course will provide a comprehensive introduction to computer algorithms taken from diverse areas of application. This course will concentrate on algorithms of fundamental importance and on analyzing the efficiency of these algorithms.
[
Fall 2023
]
Information Retrieval and Natural Language Processing - CSI 5360
This course introduces fundamental and advanced algorithms in Information Retrieval and Natural Language Algorithms. Topics include Language Modelling, Retrieval Algorithms and Evaluation, and Language Processing techniques such as tagging, parsing, lexical semantics, embeddings and some of most of the most recent machine-learning based approaches to these. Applications and research topics are also covered throughout the course. The Python language will be used to develop applications and projects to showcase its potential.
[ Spring 2022 | Spring 2023 ]
Data Structures and Algorithms - CSI 3334
Software design and construction with abstract data types. Description, performance and use of commonly-used algorithms and data structures including lists, trees, and graphs.
[ Spring 2015 | Fall 2014 | Spring 2014 | Fall 2013 | Fall 2022 ]
Introduction to Machine Learning - CSI 5325
Introduction to the major problems, techniques, and issues around the theory of learning from data. Emphasis is placed upon the topics of machine learning and problem solving. The python language is used to illustrate various machine learning techniques.
[
Spring 2021
]
Security Algorithms and Protocols - MSCS 630
Analysis of the fundamental risks, vulnerabilities and threats to mobile and cloud based applications and the countermeasures that must be implemented to reduce risks to these applications and associated infrastructure with a specific focus on cryptography. Topics covered include risk assessment, foundations of cryptography, symmetric and public key cryptography, stream ciphers, block ciphers and hashing algorithms, public key infrastructures (PKI), cryptographic algorithms (RSA, DES, AES), cryptographic protocols (SSL, TLS, IPSEC), key exchange protocols (DiffieHellman, RSA and IKE), authentication protocols (Radius, the Java cryptographic API and government regulations and cryptographic standards).
[
Spring 2016
|
Spring 2017
|
Spring 2018
|
Spring 2020
]
Advanced Data Structures - MSCS 502
This course continues the study and implementation of linear and non-linear data structures including linked lists, stacks, queues, trees, heaps, and hashing. Complexity will be considered on sorting algorithms and efficient structures will be covered including balanced binary search trees and priority queues. Advanced Java topics will be covered including abstract classes, class inheritance, and polymorphism.
[
Fall 2018
|
Spring 2019
|
Fall 2019
|
Spring 2020
]
Data Science Project - DATA 477
Study of project management techniques, review of oral presentation skills, creation of machine learning project, assembly of project teams, selection of a project client, data pipeline analysis and design, and beginning of project implementation.
[
Spring 2020
]
Formal Languages and Computability - CMPT 440
Study of formal languages, automata, and computability provides the theoretical foundation for the design, specification, and compilation of programming languages. The formal languages of the Chomsky Hierarchy, their grammars, and the associated abstract machines or automata will be studied. This leads naturally to consideration of the theory of computability.
[
Spring 2016
|
Spring 2017
|
Spring 2019
|
Spring 2020
]
Algorithm Analysis and Design - CMPT 435
This course continues the study of data structures and algorithm complexity from a more mathematically formal viewpoint. Time complexity of algorithms will be examined using Big Oh notation for worst-, best-, and average-case analyses. The ideas of polynomial-time, NP, exponential, and intractable algorithms will be introduced. Elementary-recurrence relation problems relating to recursive procedures will be solved. Sorting algorithms will be formally analyzed. Strategies of algorithm design such as backtracking, divide and conquer, dynamic programming, and greedy techniques will be emphasized. We will be using the Java programming language as our base language.
[
Spring 2018
|
Spring 2019
|
Spring 2020
]
Emerging Technologies - MSIS 620
This course addresses the management of emerging technologies, how they evolve, how to identify them and the effects of international, political, social, economic, and cultural factors on them. We discuss the management challenges posed by emerging technologies at the point where scientific research reveals a technological possibility and goes all the way to the commercialization of the technology into lead markets.
[
Fall 2017
|
Fall 2018
|
Fall 2019
]
Computer Science Project - CMPT 475
Study of project management techniques, review of oral presentation skills, creation of software documentation, assembly of project teams, selection of a project client, software analysis and design, and beginning of project implementation.
[
Fall 2015
|
Fall 2016
|
Summer 2017
|
Fall 2017
|
Fall 2018
|
Fall 2019
]
Information Technology Project - CMPT 477
Study of project management techniques, review of oral presentation skills, creation of software documentation, assembly of project teams, selection of a project client, software analysis and design, and beginning of project implementation.
[
Fall 2015
|
Fall 2016
|
Fall 2017
|
Fall 2018
|
Fall 2019
]
Machine Learning - DATA 440
This course provides a broad introduction to automated learning from data. Machine learning is the name given to the collection of techniques that allow computational systems to adaptively improve their performance by learning from past observed data. The course introduces the theoretical underpinnings of learning from data, the study of learning algorithms, as well as machine learning applications. Topics include: supervised learning (linear models, SVMs, MLPs) and unsupervised learning (K-means, GMMs), learning theory (generalization theory, bias/variance tradeoffs; Vapnik - Chervonenkis dimension); regularization methods, validation and models selection.
[
Spring 2018
|
Spring 2019
|
Fall 2019
]
Technology, Society, and Ethics - CMPT 305
Examination of the influences of technology on society and the ethical dilemmas presented by technological advances. Study of major ethical theories to provide a framework for analyzing the impact of technology on current legal, social, economic, governmental, religious, and scientific activities.
[
Fall 2015
|
Fall 2016
|
Fall 2017
|
Fall 2018
|
Fall 2019
]
Deep Learning for Natural Language Processing - MSCS 688
This course will explore deep learning architectures applied to the problem of natural language processing. We study how to convert text to vectors (word embedding), recursive/recurrent nerual networks, long short-term memory networks, and convolutional neural networks. We will use Keras over Python to implement our models.
[
Fall 2018
]
Theoretical Machine Learning - MSIS 689
The course reviews the theory of learning from data, the study of learning algorithms, as well as machine learning applications. Topics include: supervised and unsupervised learning, regularization methods, cross-validation and model selection.
[
Spring 2018
]
Machine Learning for Gaming - MSCS 688
Recent developments in machine learning have increased the attention to algorithms capable of learning to react to stimuli without a specific goal or loss function directly related to a game strategy. In this special topics course we will focus on recurrent neural networks (RNNs) with long-short-term memory (LSTM) devices. These have demonstrated a great ability to preserve contextual information about the status of a game while progressively discarding useless information. The Tensorflow platform from Google will be used with its Python interface to illustrate its gaming potential.
[
Spring 2018
]
Analytics Bootcamp - MBA 665
This course will introduce a range of data driven disciplines and technologies to help enterprise users make better, faster business decisions. Students in this course will be exposed to spreadsheet modeling, data visualization, rudiments of data management and data analysis, and an introduction to data mining and predictive modeling, together with the statistics necessary to use the tools. The course will be hands-on, using state of the art software, with real world examples from different functional areas and business domains.
[
Spring 2018
]
Deep Learning with Tensorflow - MSCS 692
This course is an introduction to the major problems, techniques, and issues around deep learning. Emphasis is placed upon the topics of supervised and unsupervised learning for problem solving. This is a field rapidly growing in which we create deep learning models for computers to ``know'' how to make inferences, or make decisions, based on data all around us and even in its absence. The Tensorflow platform from Google will be used with its Python interface to illustrate various deep learning techniques.
[
Fall 2017
]
Parallel Processing - MSCS 679
This course introduces the concept of multicore and multiprocessor parallel programming. Topics such as Amdhal’s law, speedup, efficiency, hyper-threading, task-level vs. data-level parallelism, shared memory vs. shared-nothing algorithms, concurrent vs. parallel collections, database sharding, and debugging and testing will be discussed. Small student teams analyze, design, and build a parallel computing application using software-development best practices.
[
Fall 2017
]
Deep Learning with Tensorflow - CMPT 469
This course is an introduction to the major problems, techniques, and issues around deep learning. Emphasis is placed upon the topics of supervised and unsupervised learning for problem solving. This is a field rapidly growing in which we create deep learning models for computers to ``know'' how to make inferences, or make decisions, based on data all around us and even in its absence. The Tensorflow platform from Google will be used with its Python interface to illustrate various deep learning techniques.
[
Fall 2017
]
Computer Organization and Architecture - CMPT 422
This course provides an understanding and appreciation of a computer system's functional components and their characteristics. Students learn instruction set architecture, the internal implementation of a computer at the register and functional level, and understand how main activities are performed at machine level as well as gain an appreciation for hardware design at micro level.
[
Fall 2017
]
Natural Language Processing - MSCS 688
NLP deals with the computational modeling of human languages with the purpose of understanding the meaning, predicting, auto-completing, and the production of text. We study how to convert text to vectors (word embedding), recursive/recurrent nerual networks, long short-term memory networks, and convolutional neural networks. Other boosting algorithms such as gradient boosting and parallel tree boosting are also covered. We use TensorFlow and Keras over Python for the most common implementations.
[
Summer 2017
]
Software Development 1 - CMPT 220
Introduction to the art and science of software development. Study of software development history and mastering software development skills including but not limited to real-world modeling and multi-language software development.
[
Fall 2015
|
Fall 2016
|
Spring 2017
]
Artificial Intelligence - MSCS 550
Introduction to the major problems, techniques, and issues of artificial intelligence. Emphasis is placed upon the topics of machine learning and problem solving. The python language is used to illustrate various machine learning techniques.
[
Fall 2016
]
Competitive Programming - CMPT 192
This special topics course focuses in problem solving and algorithms. It is designed around the idiosyncrasy of the collaborative and competitive model of the ACM ICPC. In class we discuss algorithms and problem solving strategies.
[
Fall 2016
]
Artificial Intelligence - CMPT 404
Introduction to the major problems, techniques, and issues of artificial intelligence. Emphasis is placed upon the topics of machine learning and problem solving. The python language is used to illustrate various machine learning techniques.
[
Fall 2016
]
Database Management - CMPT 308
Examination of the theories and concepts employed in database management systems (DBMS). The function of various types of DBMS is described including their purpose, advantages, disadvantages, and applications in business. The course explores the following topics: DBMS architectures, data modeling, the relational model, database normalization, relational algebra, SQL, client/server systems, DB physical design, multiple user environments, database security.
[
Spring 2016
]
Electric Circuits Lab - EE 2151
Basic and advanced electronic equipment for the design of electric circuits. Construction of the following circuits: Series/Parallel, Voltage/Current Divider, Mesh-Current Node-Voltage, First-Order RC, First-Order RL, Second-Order RLC, and Sinusoidal Steady-State Analysis.
[ Summer 2011 | Spring 2011 | Fall 2010 | Spring 2010 | Fall 2009 | Spring 2009 | Fall 2008 ]
Digital Signal Processing
Discrete-time signals and systems, sampling theory, z-transforms, spectral analysis, filter design, applications, and analysis and design of discrete signal processing systems.
[ Fall 2006 ]
Monday | Tuesday | Wednesday | Thursday | Friday | |
---|---|---|---|---|---|
CSI 4352/5355 - Data Mining | 9:05-9:55am | 9:05-9:55am | 9:05-9:55am | ||
Office Hours | 1:30-2:30pm | 10:00-11:00am | |||
Baylor.AI Lab | 10:00-11:00am |
Pablo Rivas (Senior Member, ACM and IEEE) received the BS in Computer Systems Engineering degree from the Nogales Institute of Technology, Mexico, in 2003; the MS in Electrical Engineering from the Chihuahua Institute of Technology, Mexico, in 2007; and his Ph.D. in Electrical and Computer Engineering from The University of Texas at El Paso, in 2011. He has been an assistant professor of computer science at the School of Engineering and Computer Science at Baylor University since 2020. Before that, Dr. Rivas was with the School of Computer Science and Mathematics at Marist College (2015-2020). Pablo has more than eight years of industry experience as a Software Engineer and has been recognized for his creativity and academic excellence. In 2011, he was inducted into the international honor society for IEEE Eta Kappa Nu; in 2021, Dr. Rivas was inducted into Upsilon Pi Epsilon, the international honor society for the computing and information disciplines; and in 2022, he was elevated to Senior Member of ACM. He has published several peer-reviewed papers and authored a book on deep learning in 2020. Prof. Rivas predominantly researches artificial intelligence and its ethical and social implications, focusing on computer vision, natural language processing, and quantum machine learning. He is a member of the IEEE Standards Association and is involved in the working groups developing the P70XX series standards for AI ethics. He is currently in the planning phase of the Center for Standards and Ethics in Artificial Intelligence with funding from the National Science Foundation.
Assistant Professor of Computer Science @ Baylor University ~ 2020 - to-date
Assistant Professor of Computer Science @ Marist College ~ 2015 - 2020
Adjunct Professor of Computer Science @ Baylor University ~ 2013 - 2015
Post-Doctoral Research Scientist @ Baylor University ~ 2012 - 2015
Teaching Assistant @ The University of Texas at El Paso ~ 2008 - 2010
Graduate Research Intern @ NASA Goddard Space Flight Center ~ 2009
Systems Integrator Engineer @ TRW Automotive ~ 2000 - 2008