An Open Source Experience with Students from the University of Minnesota, Morris
I was thrilled to find, when I checked my email on the afternoon of Aug 10th, that I had been invited to mentor and speak on a panel, at a day of open source coding with students from the University of Minnesota, Morris. My first thought was that we had to do something using AngularJS. The second was that I wanted to invite my friend and colleague Benjamin to come with. We work together on a daily basis and are both excited about Open Source, the MEAN stack (Mongo, Express, Angular, Node), and coding cool stuff. After he agreed to join me we began brainstorming what sort of fun project we could work on. We were looking for something that used AngularJS, was fun for us and the students, and had a visual aspect to it. We initially thought a directive would work well as they are encapsulated and we could have many directives in any given AngularJS project we worked on. That led to the idea of a dashboard. Different students could make different directives for each aspect of the dashboard.
Then the idea of a dashboard was pretty much dismissed when Benjamin mentioned the thought of controlling an ARDrone using AngularJS. We both loved the idea. The ARDrone project met our requirements of using AngularJS, it was fun, and definitely visual.
We got up nice and early the morning of the open source day and drove over to the University of Minnesota, Morris campus and hauled everything into the building. After introducing ourselves to Chase, Alex and Thomas, the student event organizers, we picked out a corner that could accommodate drone flight and moved some desks out of the way.
This open source day was open to students with a wide range of backgrounds, so coding didn’t happen immediately. There were introductions, an intro to open source, and an intro to git (version control explained), and intro to github. However, when it was time to start up we found that we had a good amount of students interested in the project we had brought!
Benjamin had work to set up a NodeJS server and incorporated CylonJS and AngularJS, and I stubbed out the service we would inject into our drone’s controller, so we could start right in with coding with the students. As Benjamin worked to expose CylonJS’s REST API, I introduced some of the students to AngularJS and showed them the CylonJS API so they could see what endpoints they could eventually call. Our group of students and mentors worked and learned together as we went. We were able to get the drone to takeoff, and land by mapping keys to functions in our controller, which in turn called the service which other students had worked on. The service then called endpoints exposed by ClyonJS which then sent commands to the ARDrone! We were just about to fix a few bugs to get the ARDrone to respond to forward, back, left and right when we ran out of time. But luckily, this is all open source code on github, so we can keep working together to tackle some of these bugs!
We highly enjoyed our time with the mentors and with the students from the University of Minnesota, Morris. Elena, and everyone else involved, we thank you so much for putting this great event together, supporting open source code, and letting us come in to work with your students!!