Designing Better Learning Systems