Learning management systems for ICT education
May 5, 2020

How Learning Management Systems can enhance Teaching and Learning in Computer Science Education

In 30 seconds...

If you are a student or an educator then an LMS or learning management system is not an empty phrase for you. Even more, you probably have to deal with it on a regular basis, sometimes multiple times in a day. In some cases, these systems witness the hours of your effortful work and undivided attention, since the hefty share of the education nowadays takes place in a learning management system.

It was the same exact situation the founders of CodeGrade found themselves in a couple of years ago. They worked as teaching assistants, who often bridge professors and students, while being computer science students themselves. As you might have guessed, they had to deal with their LMS – Blackboard – on a daily basis to assess, grade and view their own feedback. Being immersed in CS education, they had come up with an idea of how they could improve these workflows, which eventually led to CodeGrade. But what had made them think that programming education needed revitalization in the first case? It was their virtual learning environment. As both teaching assistants and students, they quickly learned the nuts and bolts of computer science from the educational perspective. A learning management system is a great tool in and of itself, yet it is not equally useful for all study programs, at least when used without substantial modifications. For computer science, there are vast areas of improvement from a traditional virtual learning environment. 

Quite surprisingly, the science which gave birth to innovative technologies we use every day, up until recently was taught in the more or less the same way as 30 years ago! LMSs were of little help. It is as if you had a bulky cell phone from the 90s in your pocket instead of a smartphone – both inconvenient and nonsensical.

Has anything changed recently in this respect? Let’s take a look at what modern learning systems have to offer for computer science education, by comparing the four most popular learning management systems used by universities worldwide: Canvas, Blackboard, Brightspace, and Moodle. Though being similar at their core at first glance, they have substantial differences in various aspects.

Moodle, for instance, is completely free. On the downside, it is much more effortful to set up its system properly, so as often as not universities contact Moodle partners to incorporate the application in the IT system of the university. Blackboard is a direct opposite – its deployment might cost more, but their solution works perfectly right out of the box.  Founded more than 20 years ago, it has long been an undisputed leader of the industry. The alternatives – Canvas and Brightspace – slowly upstage Blackboard by offering more flexible and cost-effective solutions. On the other hand, all of them have certain similarities – they support the plugin ecosystem and LTI, or learning tools interoperability, an education technology standard that allows integration of external systems in LMSs.

Want to upgrade your LMS for CS education?

Coming back to computer science education, there is some evidence documented by CS educators on how their learning management system affected them and their students. The researchers don’t provide a definite judgment whether a learning management system they use is for good or for bad, yet they are prone to consider such systems as something beneficial and very promising. 

In one paper, a university professor concludes that his experience with educational software has been, in general, a very positive one. According to the paper, the benefits outweigh the drawbacks.  Code revision and web-conferencing activities, which can be achieved with a range of different tools, are referred to as undoubtful benefits. Yet, there are a number of issues he encountered. For example, cases of misconduct related to dishonesty, plagiarism, and cheating among his students. Moreover, he complains about the role of the IDE – its use is considered to be a disadvantage. In short, the IDE might be particularly difficult and inflexible, especially for beginners. [3] Perhaps a simple code editor is all you need? 

Moreover, another study examined learning management systems from a teacher’s perspective, in addition to a student’s. The authors mention various perks a system can provide – enhanced learning outcomes and efficiency for students, an opportunity to extend the academic atmosphere of universities to the distance learning environment for teachers. That said, there’s one “but”. Some LMSs and plugins are released being pretty raw and with bad integration. Their developers don’t bother much with documentation or usability, which can result in certain time and effort constraints for users. Fortunately, a lot of developers put the teachers and students at the top of the list, so many plugins and LMS solutions come with intuitive design and detailed documentation [2] – like in the case of CodeGrade.

What is more, in addition to the great benefits an LMS with modifications may provide for computer science education, there, as another group of researchers reports, might be some technical obstacles [1]. From our perspective, there are two sides of the problem. First of all, it is really challenging to provide CS education in a traditional, bare learning management system. Only upgraded with plugins, such as the one CodeGrade provides, an LMS will be helpful in the computer science domain. The second reason, some plugins simply don’t integrate well with the LMS, resulting in a cumbersome workflow for both students and teachers. The result? A damaged learning process. In our case (and we assume we are not alone here) the solution integrates seamlessly with all virtual learning environments mentioned and more but can also be used stand-alone. 

All in all, learning management systems that have become even more important, even vital, for education recently, are still far from perfect, albeit the industry has made a noticeable leap forward in the recent decade. They have their ups and downs, and the good thing is that ups already override downs. Especially due to their modular nature and range of high-quality educational tools available to customize the experience. Even computer science, perhaps the most inventive and recent area of education, is still figuring out how it can benefit the best from LMSs. But as the global community witnesses more and more resourceful tools that offer solutions to various problems and challenges in modern education, especially with regard to the CS, we are yet to see the heyday and full potential of digital learning systems!


  1. Al-Khanjari, Z. A., & Al-Roshdi, Y. M. (2014). Extending the functionality of LMS to support computer science education using plug-in tools. Journal of Emerging Technologies in Web Intelligence, 6(2), 220-225.
  2. Mahalakshmi, Ramaswamy & Suresh, E.. (2014). LMS for Computer Science students. International Journal of Information and Computation Technology.. 4. 285-292.
  3. Riabov, Vladimir. (2017). Teaching Online Computer-Science Courses in LMS and Cloud Environment. International Journal of Quality Assurance in Engineering and Technology Education. 5. 12-41. 10.4018/IJQAETE.2016100102.

Youri Voet

Youri Voet

Co-founder and CEO
Youri Voet is co-founder and CEO at CodeGrade. During his studies Computer Science and work as a Teaching Assistant at the University of Amsterdam, he developed CodeGrade together with his co-founders to make their own life easier. Youri works together with many educational institutions to continue to offer them the best CodeGrade experience possible.

Continue reading

Teaching Intro to Python with CodeGrade

The CodeGrade Introduction to Python course is an 8-week basic Python course. Students are not required to have any prior knowledge on programming or Python. This course will cover the basic concepts of programming up to Python specific modules and OOP design. It is available for all instructors now.

New release CodeGrade QuietStorm.1!

Find out about all the features and updates coming with our latest release, QuietStorm.1!

New release CodeGrade QuietStorm.1!

Automatically grading Haskell code assignments

Learn about autograding Haskell coding assignments for Computer Science education courses. CodeGrade can help you use tools like input and output checking, Quickcheck, Tasty and HUnit unit test autograding, HLint code quality checking and code structure autograding using semgrep.

Top tips for teaching programming

The most efficient ways to teach students how to code, by defining your target audience, designing your assignments in a meaningful way and eliminating distractions in the classroom.

Top tips for teaching programming

Learn more about CodeGrade!

Grow your coding classroom
without compromise.