San Diego Code School brings students a personalized learning experience using MongoDB

Profile picture for user ddpreez By Derek du Preez June 20, 2019
The coding boot camp is using NoSQL database provider, MongoDB, to help students identify where they need to spend more time and to create personalized learning pathways.

An image of San Diego

Michael Roberts is the founder of San Diego Code School, an ‘immersive coding boot camp’, that aims to provide students from a variety of backgrounds with a personalized experience in front-end and back-end development. Over sixteen weeks students are taught a variety of technical skills and hopefully graduate with a whole new field of work opportunities to explore.

I got the chance to sit down with Roberts at MongoDB World in New York City this week, where he explained how he is using the technology to not only teach students some NoSQL, but also to help provide them with a unique, personalized learning experience.

Students typically have some sort of degree-based education, but usually in the life sciences or liberal arts field, and enrol to learn a new field of technical skills. San Diego Code School, as noted above, takes them through a sixteen week programme that’s divided up into two, eight week courses. Classes are on Saturday and Sunday, all day, and students spend the rest of their time working on projects.

A new group of students starts the boot camp every two weeks, so there is rolling admissions, which means that at any given time there are approximately 31 students in the classroom. Roberts said that one of the school’s first students was a former marine, who went through the programme and within a week of graduating had a job at Red Hat.

Explaining the use of MongoDB, Roberts said:

We use MongoDB to make sure that we're collecting all the data about what module students are in, what time they show up to class, how much time they spend coding, all the metrics we can. This means we are able to create a telemetry around their experience. And then we're able to take that information and create statements about their activity.

We can then use that data to infer, are they spending the average amount of time they should be spending coding or should they be coding more? Are they putting in enough time in the classroom? So we are offering a kind of personalized experience.

As you can imagine, with 31 students, they're all in different places in the curriculum, I can't just visually look in the classroom and tell where people are at. I need some sort of a dashboard to be able to say, this is what's going on. So MongoDB allows us to have that data stored. So it’s good to be able to have a flexible schema with MongoDB, so we can store different types of activities.

Getting visual

Roberts said that he and the coding school are particularly excited about the recent release of MongoDB Charts, which is an embedded data visualisation tool, removing the need to integrate to third part applications, such as Tableau. This should allow teachers at San Diego School, and the students, to get an even more visual representation of their progress, on the fly. He explained:

I think we'll probably start utilizing Charts right away to help build some dashboards. It looks super slick. And it looks like it's going to serve our purposes.

We'll do that first for ourselves. And then we'll be able also have a front facing dashboard for the students. So they can see in real time, ‘this is kind of where you need to be at and this kind of where you are’. Any way that we can provide that feedback to the students is super powerful.

I meet with every students every week and the main question all the students ask is, where am I at? Am I on pace to finish? Am I any good? Am I doing a good job? The whole time the biggest thing on their mind is, am I going to be able to get a job?

So we can show them, you know, visually and make it really clear - this is where you are, this is where other students similarly fell, and so you either need to pick it up, or you’re in good shape.

Getting more data

San Diego Code School was only formed last year, and so it is still in the early stages of data collection. However, Roberts explained that as this progresses, and as more data is collected, the boot camp should also be able to provide students with a more detailed learning pathway based on how they’re performing at any given time. He said:

At my previous role at the last code school, we gathered about 750,000, individual activity statements. That was a large enough sample size that we could infer some things. We could see some direct correlations. Like students that put in X amount of hours, those are the ones that got jobs quickly, they were able to get better jobs than those people that put in the minimum. So we can pull that data very quickly, we can see patterns emerge very quickly.

One area [we want to focus on] is more prescriptive testing. So as a student goes into a section, we give them a test that we usually use at the end for measuring outcomes ahead of time, and then create custom learning paths for them while they're in that module.

Let’s say you score really well on CSS, we're not going to show you as much of that content, and then we'll push you more into something like JavaScript. So we can use prescriptive testing, which helps improve the areas of weakness. That’s something that we’d like to do, we just need the bandwidth capacity to put it in place.

Teachers still have a role

Unsurprisingly, I was interested to get Roberts’ take on how far this personalized learning experience could be automated for students. Does it render the teacher useless? Roberts doesn’t think so. He sees the technology as a useful aid to help the teacher, and the students, perform better. But he believes that there will always be a role for a human teacher experience. Roberts said:

You can't really automate out the instructor, you can't really automate that portion. There are people where that’s what they're wanting to do. They want education to scale in that way.

I know that that’s definitely not doable. There’s definitely value in having an instructor. You can provide the instructor with more data points and dashboards, but you still need the instructor to figure out what it all means.

Being able to ask a student, why are you taking two hours to work on this? Offering them help when they get stuck. Asking, what's your process? Those kinds of things are really hard to automate.