Benjamin D. Nye, Ph.D. - Director at the USC Institute for Creative Technologies

University of Southern California Seal

Institute for Creative Technology, Rm. 411
12015 Waterfront Dr.
Playa Vista, CA 90094


BRIMS Best Paper Award

My name is Ben Nye, and I am the Director of Learning Sciences at the University of Southern California, Institute for Creative Technologies (USC-ICT). My primary research focuses are intelligent tutoring systems, intelligent agents, and learning technologies for development.  I received my Ph.D. in the area of Systems Engineering in 2011 from the University of Pennsylvania, with research specializing on cognitive agents and memes.  Following that, as Research Assistant Professor the University of Memphis, my research was on the ONR STEM Grand Challenge, where I am working with Art Graesser and Xiangen Hu to integrate AutoTutor dialogs into Algebra I mathematics.  At USC-ICT, I am currently researching methods to integrate multiple intelligent tutoring systems as part of the PAL3 (Personalized Assistant for Life-Long Learning) and ET (ElectronixTutor) projects.  I am also researching engagement (ENGAGE).

My long term focus is expanding access to Intelligent Tutoring Systems to benefit disadvantaged communities and eventually developing countries. My primary reason for pursuing a Ph.D. was to gain the skills to develop tools that can approach issues of global poverty. I believe that intelligent tutoring systems are one such tool, with the potential to provide individualized learning exercises to anyone with a wireless signal. At present, initiatives such as smart phone distribution, groupware, and low-cost laptops are expanding worldwide access to internet. To harness these platforms, we need powerful educational software that is available for no or low cost to support learning inside and outside of the classroom.

Collecting Data in Akron

I am interested in issues of development as freedom and I see education as a core issue that will drive socio-economic divides over the foreseeable future. Increasing mechanization of agriculture over the last century has effectively eliminated agricultural jobs in the industrialized world (less than 1% of the population in the US, versus over 50% at 1900). Mechanization seems likely to limit manufacturing jobs also, wherever labor costs exceed the cost of machines to do the same labor. Globally, the world is moving from a primarily labor-based economy to an information-based economy. As this occurs, people without a solid education are likely to face dwindling opportunities. As such, I view education issues as the most important area for long term development and my primary focus at this time.

Education (Top)

University of Pennsylvania, Philadelphia, PA USA

Ph.D., Electrical and Systems Engineering, May 2011

Trinity College, Hartford, CT USA

B.S. with Honors, Computer Engineering, May 2005
  • Senior Project: "Selective Data Logging"
  • Advisor: Professor David J. Ahlgren, Ph.D.

CV (Top)

My CV, updated as of October 2014, is available here.
A recent research statement is also available here

Publications (Top)

Forthcoming Works (Top)

Links (Top)

Google Scholar Publications and Citations

Scholarly Commons Access to Some of My Papers

Institute for Intelligent Systems (IIS)

ACASA Lab at UPenn

ITS 2014 ONR Stem Grand Challenge Special Event

PS-I Agent Based Software

Information for Students (Top)

Current and prospective students looking to do research should look into the USC-ICT Summer Internship, which has a deadline in early February. This program accepts students ranging from recent high school graduates to graduate students to independent researchers looking for a new experience. More details on the internship are here. If you are sending an unsolicited application looking for potential openings during the semester, please make sure to include a CV, a brief (~2 paragraph) description of the goals for your research, your best academic writing sample, and (if you are a programmer) a well-documented code sample or Git/SVN/etc. link to code that represents your best work.

Second, I have developed a pair of general guides to getting started as a professional academic. A common successful trajectory in research is: 1) Build skills (BA/BS/MS), 2) Solve problems (MS/PhD), 3) Identify research questions (PhD/Professor), 4) Lead collaborations (Professor), and 5) Matchmaking collaborations (Emeritus). These phases might be thought of as: 1) How to do things, 2) What to do, 3) Why to do things, 4) Who should do what, and 5) Who should know who. Each of these requires an increasing amount of expertise. 

This guide on professional academic behavior discusses expectations being a successful researcher. It is intended for graduate students. This second guide is a rough outline of general tips for PhD students. It has a section for graduate students, and a second section at the end for undergraduates considering a PhD down the road.  Hopefully these are helpful. If you find them confusing, ask questions and I'll clarify them in the document (and in an email). You may disagree with some of these tips. In certain fields, they may even be completely wrongheaded. So if you or your advisor thinks differently, you might be right! Or maybe we're both right. So consider these guides both critically and collegially.  A few other resources I would recommend for considering academic careers are Academia Stack Exchange, the Chronicle of Higher Education Forums, and Academic Jobs Wiki.

Downloads (Top)

This section lists downloads for some of the libraries or scripts that I have coded or helped design. The most significant active projects are part of the GLU (Generalized Learning Utilities) libaries.  The GLU libraries are intended to make it easier to build and combine web services for learning and training:

SuperGLU - A library for asynchronous plug-and-play service-oriented semantic messaging that is agnostic to the specific protocol (e.g., Websockets, SOAP, HTML5 postMessage). This library also includes a small but growing set of services that are intended to simplify common needs for learning environments.

GLUDB - A Python library for NoSQL cloud storage interfaces that abstracts away the details of connecting to Amazon DynamoDB, Google Compute, MongoDB, and sql-lite databases. This library also supports versioning of objects (e.g., diffs) and Amazon S3 backups. This library supports simple ORM-like definitions of classes so that their serialized copies can be stored directly.

GLUTen - A Python cloud-based (Amazon EB) tool for annotating tutoring transcripts. This tool is based on GLUDB.

Since the majority of my older work was on non-open source projects, these earlier projects represent a few personal utility scripts and two libraries: one for statistical testing between permutations of sequences (InversionCount) and one that I contributed to the open-source PS-I Project that might be of general use to researchers or code developers. All of these downloads are covered under permissive open source licenses (APL 2.0), with an exception for Python in Latex which is based on work covered under GPL-2.

Python Inversion Counting Library - A library of functions that calculate inversion counts and can determine the number of inversions to transform a test sequence into a reference sequence, where both sequences can have ties/ambiguous ordering and right-censored elements.  It also contains Monte Carlo hypothesis testing related to groups of sequences.

C-Memo: A Generic C Memoization Library (2011) - A library intended for drop-in replacement of functions with memoized versions of the same function. Produced as part of the PS-I project. Should be useful for C developers.  It is also available on SourceForge (here) for legacy purposes.

ChangeImgResolution (2008) - A very simple usage of the Python Image Library (PIL) that is intended for changing image formats to fit the whims of journal review boards. Able to change the image format (extension), resolution (DPI), and color pallette (turn to greyscale or remove transparency). Works on all images within the same directory as the script. Requires an installation of Python and the Python Image Library (PIL) to work.

Python LaTeX Package (2011, Beta) - An extension of the Python.sty LaTeX style file originally written by Martin R. Ehmsen that created a TeX/LaTeX environment for executing Python scripts and generate Tex output that replaces the script. This extension adds two features not well covered in the original style file: persistence across Python environments and passing LaTeX data to python and back. A bit clunky, since TeX has to do the driving.