6 ms·
Ask HN: Looking for a simple solution for building an online course
I want to build an online course on graph algorithms for my university. I've tried to find a solution which would let submit, execute and test student's code (implement an online judge), but have had no success. There are a lot of complex LMS and none of them seem to have this feature as a basic functionality.
Are there any good out-of-box solutions? I'm sure I can build a course using Moodle or another popular LMS with some plugin, but I don't want to spend my time customizing things.
I'm interested both in platforms and self-hosted solutions. Thanks!
- icebraining 8y agoMy university uses Mooshak for that: https://mooshak2.dcc.fc.up.pt/ https://mooshak2.dcc.fc.up.pt/ (this is the new version, when I attended they were using the previous: https://mooshak.dcc.fc.up.pt/ https://mooshak.dcc.fc.up.pt/)
- w8rbt 8y agoMaybe look at Jupyter Notebook? It does much of this out of the box, but may not be exactly what you are looking for. http://jupyter.org/about http://jupyter.org/about
- westurner 8y agonbgrader is a "A system for assigning and grading Jupyter notebooks." https://github.com/jupyter/nbgrader https://github.com/jupyter/nbgrader jupyter-edx-grader-xblock https://github.com/ibleducation/jupyter-edx-grader-xblock https://github.com/ibleducation/jupyter-edx-grader-xblock > Auto-grade a student assignment created as a Jupyter notebook, using the nbgrader Jupyter extension, and write the score in the Open edX gradebook ... networkx is a graph library written in Python which has pretty good docs: https://networkx.github.io/documentation/stable/reference/ https://networkx.github.io/documentation/stable/reference/ There are a few books which feature networkx.
- ItsMe000001 8y agoThe edX platform used by edX.com (of course) but also quite a few others is open source. https://github.com/edx/ https://github.com/edx/ edX.com has this function but I don't know if it's in the pen source part and/or how easy it is to implement or use. An entire platform may be a little overkill for what you want though? > I don't want to spend my time customizing things. Okay, probably not :-)
- ricklamers 8y agoI know about a platform calld Ans[1] that supports code submission for assignments. It was built by a startup from TU Delft. [1] https://www.ans-delft.nl/ https://www.ans-delft.nl/
- vvankrunkelsven 8y agoDataCamp has DataCamp Teach (https://www.datacamp.com/teach https://www.datacamp.com/teach), which allows you to create your own interactive content. Disclaimer: I work for DataCamp Edit: there's also a 'light' version available: https://github.com/datacamp/datacamp-light https://github.com/datacamp/datacamp-light
- applecrazy 8y agoWhat’s the pricing for the course builder? I only see pricing info for your courses.
- vvankrunkelsven 8y agoIt's free, you just need to create an account and you can use the course authoring tools.
- valeg 8y agoTry stepik: https://support.stepik.org/hc/en-us/articles/360000159673-Types-of-assignments https://support.stepik.org/hc/en-us/articles/360000159673-Ty...
- therealmarv 8y agoYou want to automatically test student's code on a specific topic and don't want to spend time (nor money?) customizing things? Sorry, there is no free beer.
- r4victor 8y agoI said nothing about money. I'm ready to pay for a tasty beer.
- artpi 8y agoI dont know about automated testing, but wanna plug this question: :) I am producing an online course on managing remote teams. I want to use https://www.podia.com/ https://www.podia.com/ Has anyone used it? Regarding automated testing - I dont think this is a basic feature.
- peeplaja 8y agoSaaS platforms for it are https://teachable.com https://teachable.com and https://www.thinkific.com https://www.thinkific.com
- pc86 8y agoI don't think I've ever heard of the ability to have students upload code and then run that code securely described as "basic functionality" before.
- hackandtrip 8y agoAn univerisity course I am following uses this CMS[1] to have that "basic functionality" you are talking about. [1] https://github.com/cms-dev/cms https://github.com/cms-dev/cms
- nickjj 8y agoI could write a novel about this because I've been creating courses since 2015 but I'm going to keep it short. I've tried a lot of platforms and teachable.com is by far the best solution as of today if you don't have a requirement where you expect people to upload code and then run automated tests against it. I currently use thinkific.com for my courses because over a year ago I made that decision and switching between platforms is too painful for your users (they would need to make a new account, lose their progress and potentially lose invoice data, etc.). I will move off Thinkific in the future, but that's not going to happen until I finish building my own platform (which I'm currently doing at the moment as a side project mainly because as a developer, I'm still at my happiest when I'm writing code). With that said, I also use Teachable for another project and the UI is a million times ahead of where Thinkific is for both instructors and students. Every time I use Teachable I'm upset that I chose to use Thinkific initially. At the bare minimum you'll have to assemble your course, pick a theme for the front end, and build up your course's description page. Expect to pay $100 / month for most platforms.
- avaika 8y agoWhy are you writing your own solution? Is it just for fun? I was under impression that there are tons of opensource available platforms to host courses.
- nickjj 8y agoBefore I made a decision to go with Thinkific I asked some of my students to try out Moodle's demo site and the feedback I got from them was very negative. The general census was it was too complicated and confusing to navigate their UI and their video player is really really bad. For a video course, a good video player is very important. edX is a little better, but it's still not what I want from a course platform and the amount of effort it would take to trim it down would be more effort than writing my own platform. I also looked at a bunch of WP plugins that are advertised as "course platform in a box" and none of them looked appealing. The UI for all of them were very poor and these plugins are massive beasts. I don't want to spend my time hacking through someone elses WP plugin to customize it. After looking at so many platforms and solutions I eventually came to the conclusion that no matter what platform I choose i'm never going to be truly happy. If I went with Teachable from day 1, I think I would have been 80% happy and may not have even decided to build my own platform, but at the end of the day, the heart wants what the heart wants. I want to build my own platform and I can do it. Being at ease mentally (even if it means working harder) is more important to me than anything.
- d-- 8y agoI'm using the Autolab project from CMU, and I'm quite satisfied. You'll need a couple machines to self host, and run the student's code. http://www.autolabproject.com http://www.autolabproject.com Features: Autograding Grade any assignment in any language using any software package. Instantly. Scoreboards Encourage healthy competition with a real-time rank ordered scoreboard. Code Annotation Augment the autograde with additional feedback directly on the student's code. Cheat Detection Maintain academic integrity by comparing assessments with each other and with past submissions. Uses Stanford's Moss Cheat Detector.
- ArtWomb 8y agoStrong recommend for Autolab as well. In addition to the features above. Front end is also easily extensible for custom activities. Behind the scenes of course, are Docker multi-stage builds for submitted code. And I dare say, if your class is <1000 students. You can roll your own build environment on a single small cloud instance. http://autolab.github.io/2015/05/autolab-and-docker/ http://autolab.github.io/2015/05/autolab-and-docker/
- r4victor 8y agoThank you. Judging by the description it's what I'm looking for. I couldn't find a demo, so I'm not sure whether it satisfies the requirements or not, but I will definitely try it.
- r4victor 8y agoNow I understand why they don't have a demo.
- alfonsodev 8y agowhy?
- deleted 8y ago[deleted]
- mikeyjk 8y agoA company I've worked for in the past is an Australian company called CourseGenius. Fairly affordable and has a free trial. Avoid SCORM at all costs lol.
- qznc 8y agoAt KIT they use Praktomat: https://github.com/KITPraktomatTeam/Praktomat/ https://github.com/KITPraktomatTeam/Praktomat/ GitHub plus Travis CI is not enough?
- dave84 8y agoTry Repl.it
- closed 8y agoI've worked on this problem a bit for python, and these were some of the interesting tools that came to mind. * nbgrader: tool for managing and grading submissions using Jupiter notebooks. * codeocean.com: lets you put up a self contained notebook that people can run and clone online. * ipython_nose: allows you to put unit tests inside a jupyter notebook. I've also been toying a lot with building DataCamp projects, which are basically jupyter notebooks with unit tests (note, I work on other things at DataCamp). If the "online judge" is just deciding whether a submission meets a set of criteria, they might work well. If the judge is comparing student submissions to each other (eg ranking by speed), then they probably wouldn't be a great fit. http://authoring.datacamp.com/projects/ http://authoring.datacamp.com/projects/
- NamPNQ 8y agoI think replit ( http://repl.it http://repl.it ) is what you looking for
- nateaune 8y agoIf you create your course assignments in a Jupyter notebook then you can use OK to grade them. http://jupyter.org http://jupyter.org http://okpy.org http://okpy.org
- nateaune 8y agoIf you create your assignments as Jupyter notebooks then you can use OK to grade them. http://juypter.org http://juypter.org http://okpy.org http://okpy.org
- tolstogan 8y agoUniversity of Universal Brothers?
- SergioDA 8y agoThere is a Brazilian solution called Nutror that accompanies the ecosystem of Eduzz, I have already tested and believe to be the best in the world today (in terms of simplicity of use).
- mabynogy 8y agoI'd start with markdown (with hugo or jekyll) with <script src="..."> to do the forms.
- rmbeard 8y agoIt depends a bit on what you want them to write code in. R Shiny has some built in e-learning functionality with interactive documents. At least two packages will let you-develop e-learning materials. If you use Python Jupyter notebooks have a an ability to be graded which would allow grading of code. I would then recommend Piazza for cimmunication with students as it supports code formatting and math in the form of LaTeX support.
- DaQuirm 8y agoIs there any way to contact you personally? I'm a member of a group developing educational games for software engineers and we're looking for project ideas. Perhaps we could collaborate on a graph exercise application that would run students' code, grade their submissions and, for instance, visualise graphs.
- r4victor 8y agoHi! I'd like to share the details of a course with you and to hear about your approach for designing such an app. Feel free to contact me: vds003 at gmail.com