Steven James

Steven James

Associate Professor

University of the Witwatersrand

RAIL Lab

Biography

I’m an Associate Professor in the School of Computer Science and Applied Mathematics at the University of the Witwatersrand, co-director of the RAIL Lab, and a Fellow of the MIND Institute. I work on reinforcement learning: how an agent can discover its own skills, build abstract models of the world from raw sensory input, and recombine what it already knows to solve tasks it has never seen. My students and I work on that, and on representation learning, safe RL, and robot manipulation and locomotion.

Interests
  • Artificial Intelligence
  • Reinforcement Learning
  • Transfer Learning
Education
  • PhD in Computer Science, 2021

    University of the Witwatersrand

  • MSc in Computer Science (with distinction), 2016

    University of the Witwatersrand

  • BSc (Hons) in Computer Science (with distinction), 2013

    University of the Witwatersrand

  • BSc in Computer Science and Applied Mathematics (with distinction), 2012

    University of the Witwatersrand

Experience

 
 
 
 
 
Associate Professor
May 2026 – Present
Lectured Introduction to Algorithms & Programming, to a class of ±550 students, and Artificial Intelligence, to a class of ±120 students.
 
 
 
 
 
Senior Lecturer
July 2023 – April 2026
Lectured Introduction to Algorithms & Programming, to a class of ±450 students, and Artificial Intelligence, to a class of ±60 students.
 
 
 
 
 
Lecturer
January 2022 – June 2023
Lectured Introduction to Algorithms & Programming, to a class of ±350 students, and Advanced Analysis of Algorithms, to a class of ±200 students, and co-lectured Special Topics, covering reinforcement learning for an honours-level class of ±45 students.
 
 
 
 
 
Associate Lecturer
January 2017 – December 2021
Lectured Introduction to Algorithms & Programming, to a class of ±350 students, and Advanced Analysis of Algorithms, to a class of ±200 students, and co-lectured Special Topics, covering reinforcement learning for an honours-level class of ±45 students.
 
 
 
 
 
Sessional Lecturer
January 2017 – December 2017
Lectured Introduction to Algorithms & Programming, consisting of ±250 students.
 
 
 
 
 
Android Developer
Touchsides
January 2015 – December 2016
Responsible for delivering Android applications related to the insurance industry, and integrating said applications into the existing backend and proprietary hardware systems.
 
 
 
 
 
Developer
Associated Computer Solutions
January 2014 – January 2017
Part of a small R&D team responsible for rewriting components of an ERP suite, including replacing the existing Telnet connection to the server with SSL, as well as providing a mechanism for session recovery should the connection be lost. Also responsible for rewriting the entire front-end in JavaFX to be used on multiple platforms.
 
 
 
 
 
Tutor
January 2012 – January 2014
Responsible for setting and conducting tutorials and lab sessions, as well as marking test scripts.