Global Collaborative Project

Much of the software developed today is built from bits and pieces provided by the open source community.  One of the emerging requirements of success for software engineers is the ability to productively collaborate with an online learning community.   I want to include the development of this skill in my college-level computer science students.   In researching this topic, I made a connection with higher education instructors through the EdSurge HigherEd newsletter.  The instructor blogs introduced me to several websites that offer an online computer science curriculum that is appropriate for college/university level students – and SoloLearn.  Both sites offer hands-on learning for a community of peers on a large variety of technologies and programming languages.  These sites provide tools and resources that are free and open source. The sites even include a way to write, compile and run programs in many different programming languages.

In the another EdSurge newsletter, I learned that the SoloLearn tool has content specific to programming in C#.  The best part is that the student feedback shows that the online course is a useful complement to existing course material and that students look forward to more online courses in future assignments.  I hope to use this as a starting point for how my students can contribute back to a community by developing and delivering online content and courses.

I ended up selecting the SoloLearn tool rather than for my project.  I choose SoloLearn over mainly for the differences in assessment and tracking support.  It turns out that is fairly weak in this area as far as provided content. The expectation is that the instructor will either build a quiz or do assessment some other way.  Unfortunately, I did not have the time to dive into the documentation on how to build a quiz or find other assessment solutions for

The lack of an assessment left a kind of empty feeling when you completed a course – not providing positive reinforcement to students or incentives to try additional online courses.  The reason I like is that it makes students actually write code – and builds and runs the code without the student having to install any additional software.  I still want to figure out how to use, but I may have to wait for the tool to progress a bit more before using in the classroom.

I decided to use the SoloLearn C# tutorial in my classroom of 19 students this quarter.  The SoloLearn tool provided a much more polished overall experience and offers a much broader range of courses than  This is not surprising, as the SoloLearn site has been around longer than  SoloLearn uses a more fill-in-the-blanks approach than the full coding experience found on

Sample of SoloLearn fill-in-the-blanks question
SoloLearn fill-in-the-blanks question

SoloLearn does support writing code – but it is more of a ‘try it yourself’ approach, with no way to validate student code.

An example of a SoloLearn try-it-yourself question
SoloLearn Try-it-yourself question
A sample of SoloLearn coding exercise
SoloLearn Coding Exercise

I used the SoloLearn course mostly on a desktop computer – as I expected that this how most of my students would use the tool.  The desktop version is fully functional, and shows progress as you work through the course.

A progress chart for the C# course on SoloLearn
SoloLearn C# Course on Desktop

Although I covered some of the SoloLearn course material in class, the course does contain new material that the student would have to conquer on their own.  I asked the students to seek help from others (i.e., not me) to solve any problems that came up. I expected most of the students to interact with the SoloLearn community through the provided forums.  While more than half of the students did this, I discovered that others took a different approach.

The SoloLearn website home page sells the tool as the “… largest community of mobile code learners today”.  I saw this, but did not think mobile support would be relevant to my project. Turns out I was wrong.  A large percentage of my students took the SoloLearn course on their mobile phone. I thought this would be a rather limited experience, but I found that SoloLearn has done an incredible job of making the experience almost identical to the desktop experience.

The mobile experience with the SoloLearn C# experience
SoloLearn C# Course on Mobile device

The interesting result is that the students that took the course on their phone used acquaintances that are software experts to help them get through the course rather than the SoloLearn community.  Specifically, since the course is available on their phone, students found it much easier to request help from people in informal settings than is possible with the desktop version. This was an unexpected, positive result – particularly since more students completed the SoloLearn course than typically complete the standard assignments.

The SoloLearn course also did a much better job on assessment.  All 19 students completed the SoloLearn course, and were given a certificate of completion.

A sample of SolLearn certificate of completion
SoloLearn Certificate


Although my project did not follow my original plan, it did achieve several results – some expected and some unexpected.  First, I wanted to give my computer science students to collaborate with an online community of learners.  This is the major reason for choosing the SoloLearn tool.  My ideal tool would have been a combination of the coding experience found in with the assessment and tracking features found in SoloLearn.  Nonetheless, I got positive feedback about the SoloLearn course from all of my students and all students wanted to try additional SoloLearn courses moving forward.

The unexpected result in this area is the participation.  The SoloLearn course did count toward the student’s grade – as do all the assignments.  What surprised me is that the SoloLearn course achieved something that the other assignments rarely achieve – 100% participation.  This may be due to the novelty of a SoloLearn assignment for my students, but it’s something I did not expect at the beginning of the project.  I plan to offer additional SoloLearn courses in future quarters to see if this same rate of participation is achieved with other SoloLearn courses.

A second result is the impact of the mobile learning experience.  I did not plan on this being a factor in getting my students to collaborate with a learning community outside of the classroom.  However, several students stated that this is their favorite feature in SoloLearn.  Students typically have to find a way to attend a tutor session to get one-on-one, face time support outside of the classroom.  The SoloLearn mobile support allowed students to leverage friends and acquaintances with computer programming experience.  Many students indicated that the mobile support in SoloLearn enabled them to finish the assignment on time.

I have only used one course from the SoloLearn platform in my C# course.  My intention is to pull in more of the SoloLearn courses in the future, as well as use SoloLearn in my JavaScript, Java, and Android classes.  I also intend to watch the development of the tool to see if future versions add much needed assessment and tracking features.