Brief Summary of 2016 – Projects, Team, Courses, Software

Brief Summary of 2016 – Projects, Team, Courses, Software

2016 was an exciting and productive year for NCLab. We have started several new projects in Nevada, welcomed new team members, made important changes to all courses, added new open source software to the free Creative Suite, and improved NCLab’s internal client-server infrastructure.

New Projects in Nevada

In 2016, NCLab became an integral part of the Nevada Ready 21 program of the Nevada Department of Education. This is a one-to-one computing program that put initially 20,000 Chromebooks with the NCLab coding and 3D modeling curriculum and additional apps in the hands of middle school students across Nevada. As part of the program, we trained dozens of teachers both in Northern and Southern Nevada. The NCLab coding and 3D modeling curriculum was endorsed by Nevada Governor Brian Sandoval (see Issue 1 of this newsletter for details). In 2016, NCLab was also adopted by the Nevada system of public libraries. Libraries are using NCLab’s self-paced and self-graded courses for programs and camps. The NCLab program at the Carson City Library won the prestigious nation-wide YALSA award. In 2016, NCLab was also adopted by Signature Academies (CTE high schools) in Reno, and an innovative STEM program for Northern Nevada schools by Brian Crosby that combines building and operating drones with coding and 3D modeling.

Part of the NCLab Team visiting an after school program


New Team Members

In 2016, former geologist and brilliant K-12 teacher Sheila Crawford-Bunch joined NCLab as a new Director of Education. Sheila is developing lesson plans and other materials to accompany NCLab’s self-paced and self-graded courses, and the Creative Suite. She is also supporting teachers and librarians. This year we also welcomed Bernard Jech as the new Director of Software Development. Bernard is an experienced software engineer and database expert who lead teams of programmers at several large U.S. companies. Last but not least, we welcomed Alicia Seefeld as a new office coordinator. Alicia is doing a great job organizing calendars and many invisible workings of the whole team.

New Features in Courses

At NCLab we eat, breathe and sleep the self-paced and self-graded coding and 3D modeling courses. There were so many changes and improvements to the courses that it’s impossible to list all of them. But here are at least some of them:

  • Point rewards and code templates were added to all courses. The code template (incomplete solution program) is helpful when students occasionally get stuck. If a student can manage without a code template, s/he receives a significant bonus.
  • All courses now have stepping mode and variables view. Every new concept begins with a sample program that the students step through and watch what happens on every line, including how the values of variables and lists are changing. This new feature received huge positive feedback.
  • We added user avatars in order to diminish the negative impact of removing student first and last names from the system.
  • Students can now enroll into classrooms on their own, using a code that they receive from the instructor. This feature is particularly useful for teachers who have hundreds of students and cannot enroll them manually. The classroom system in NCLab allows instructors to split their classrooms into groups, and enroll students into each group separately. This feature also received a huge positive feedback.
  • The original slow vector graphics in the Karel course based on the Raphael library was replaced with fast HTML 5 graphics. This was a long and tedious process but it’s done and the graphics became significantly faster. The Karel course was thoroughly revised and extended from 70 to 200 game levels (!).
  • We also completely rewrote the Karel parser (the interpreter that translates Karel code into the robot’s actions) because the old parser was slow and had a number of flaws. The new parser is more robust and it allowed us to include new Python-like features including additional operations with Python lists, functions that can accept arguments, advanced arithmetic operations, and more.
  • Other courses were improved as well. Notably, the Turtle Coding course went through a thorough revision whose goal was to make more use of the 3D character of Tina’s drawings. The tutorial videos for the Turtle course are being redone as we speak. The 3D Modeling course received 50 new tutorial videos.
  • The new Python course whose arrival was planned for Fall 2016 was delayed because we decided that it is worth to wait for some new features – notably the new point system, stepping, and variables viewer. However, these new features are now in place and the first part of the revised Python course should be released in January 2017.
  • New self-graded quizzes are being developed for all courses as we speak. As you may know, all NCLab courses are split into Units, and Units and moreover split into Sections of ca. 7 game levels. Each section of every course will now have a quiz. The quizzes will have multiple-choice questions, free response questions, and complete code questions (questions where students will be asked to fix a broken or incomplete code). We expect to finish the quizzes in early January.

New Open Source Software

In 2016 we mainly focused on new features requested by instructors, on course improvements, and on improvements of the underlying cloud platform. Therefore we only added one significant open source package – OpenSCAD. This is a popular 3D modeling library that is used by hundreds of thousands of users worldwide. It’s architecture and usage is slightly different from PLaSM, see Thanks to NCLab, OpenSCAD is now usable on mobile devices including tablets and Chromebooks.

Deep Changes to NCLab’s Software Infrastructure

Much changed in NCLab that a regular user cannot see. First of all, most processes in NCLab are now asynchronous. This means that the Controller delegates work and immediately moves on, without waiting for the response from the database or the nodes. This process already improved the overall efficiency of NCLab and further improvements are expected once it is completed in 2017. NCLab now has quality internal performance monitoring based on Zabbix which allows us to see in real time how the Controller, Database and Computer Nodes are doing – including their Internet connectivity. If this does not sound like paradise to you, it certainly is paradise to us. We also improved internal reporting from courses. Whenever a student makes a mistake, we receive anonymous feedback which helps us to identify what parts of the courses may need improvements. This is just the tip of the iceberg but let’s stop here before we get too technical.


Last but not least, NCLab was (again!) invited to give a hands-on coding and 3D modeling workshop at ISTE 2017 – this time a full-day workshop.

NCLab also became member of the American Library Association (ALA), and we launched a monthly Newsletter!