Curriculum Vitae

Download PDF Version

Research Interests

I am super passionate about artificial intelligence and, more specifically, reinforcement learning. In particular, I am interested in designing agents capable of acting in a wide variety of environments. My current research focuses on autonomously learning hierarchies of abstractions that can be transferred between tasks. This parallels the way humans are able to transfer abstract concepts from one task to another in the form of symbolic representations.

Work Experience

Senior Lecturer

University of the Witwatersrand
July 2023 - Present

Lectured COMS1018A: Introduction to Algorithms & Programming, consisting of ±350 students.
Lectured COMS4033A: Artificial Intelligence, consisting of ±60 students.

Lecturer

University of the Witwatersrand
2022 - June 2023

Lectured COMS1018A: Introduction to Algorithms & Programming, consisting of ±350 students.
Lectured COMS3035A: Advanced Analysis of Algorithms, consisting of ±200 students.
Co-lectured COMS4047A: Special Topics, covering reinforcement learning for an honours-level class of ±45 students.

Associate Lecturer

University of the Witwatersrand
2017 - 2021

Lectured COMS1018A: Introduction to Algorithms & Programming, consisting of ±350 students.
Lectured COMS3035A: Advanced Analysis of Algorithms, consisting of ±200 students.
Co-lectured COMS4047A: Special Topics, covering reinforcement learning for an honours-level class of ±45 students.

Sessional Lecturer

University of the Witwatersrand
2017

Lectured COMS1018: Introduction to Algorithms & Programming, consisting of ±250 students.

Android Developer

Touchsides
2015 - 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
2014 - 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

University of the Witwatersrand
2012 - 2014

Responsible for setting and conducting tutorials and lab sessions, as well as marking test scripts.

Recent Select Publications

Synthesizing Navigation Abstractions for Planning with Portable Manipulation Skills

2023
E. Rosen, S. James, S. Orozco, V. Gupta, M. Merlin, S. Tellex & G. Konidaris

Conference on Robot Learning

Download paper

Automatic Encoding and Repair of Reactive High-Level Tasks with Learned Abstract Representations

2023
A. Pacheck, S. James, G. Konidaris & H. Kress-Gazit

The International Journal of Robotics Research

Download paper

Autonomous Learning of Object-Centric Abstractions for High-Level Planning

2022
S. James, B. Rosman & G. Konidaris

International Conference on Learning Representations

Download paper

Generalisation in Lifelong Reinforcement Learning through Logical Composition

2022
G. Nangue Tasse, S. James & B. Rosman

International Conference on Learning Representations

Download paper

Education

  • PhD in Computer Science
    University of the Witwatersrand
    2017 - 2021
  • MSc in Computer Science (with distinction)
    University of the Witwatersrand
    2014 - 2016
  • BSc (Hons) in Computer Science (with distinction)
    University of the Witwatersrand
    2013
  • BSc in Computer Science and Applied Mathematics (with distinction)
    University of the Witwatersrand
    2010 - 2012

Awards

  • Google PhD Fellowship

    Awarded the 2018 Google Africa PhD Fellowship in the field of Machine Learning.

  • PVT Educational Bursary

    One of two recipients of the PV Tobias Educational Bursary for academically excellent candidates.

  • Chancellor's Gold Medal
    Awarded for the most distinguished graduate of the year.

Language

  • English (Native)
  • Afrikaans (Passable)

Things I Like

  • One true brace style
  • Bitstream Charter
  • Following the gradient
  • Céline Dion
  • Slipknot
  • The word "argillaceous"

Things I Dislike

  • MATLAB
  • Incorrect gerund usage
  • Not following the gradient
  • Squirrels
  • Mispronunciation of "Euler"

Skills

  • Making meaningless, vague bars
  • Sarcasm
  • Redundancy
  • Tautology

Others

  • Artificial Intelligence
  • Reinforcement Learning
  • Transfer Learning
  • Planning
  • Java
  • Python
  • C++11
  • PyTorch
  • Basic Arithmetic