Unfortunately, I'm not able to install Ubuntu on the student chromebooks and they don't support linux apps so this solution will work for me.
Unfortunately, I'm not able to install Ubuntu on the student chromebooks and they don't support linux apps so this solution will work for me.
The builds should work on all Chromebooks, but you need to have one of:
1) An Intel or ARM64 Chromebook with Google's official Linux Apps support. This is the easiest path, and most likely to be available to you in education. You can install the relevant build from the GitHub releases page.
2) The ability to enable developer mode on the device. The scripts linked in the post will automate setting up an Ubuntu jail and installing the builds of Code into it.
Theoretically this gives 100% coverage of devices, but only if you're not restricted by the school/IT department.
Of course the target machines need to be beefy enough for all the students to be running VSCode and any compilation & output on at the same time, which almost certainly rules out a single rPi! You'd need a much larger machine or a little farm of Pi-class units.
If you can't modify the machines to run full Linux environments (ala crouton), you're mostly stuck with web-based experiences, or the apps provided to you by the Chrome Web Store.
Teaching your students to SSH into a Linux box and teaching them basic BASH skills is pretty worthwhile in itself. You seem to have made the best of a quirky situation.
https://support.google.com/chromebook/answer/9145439?hl=en
https://chromium.googlesource.com/chromiumos/docs/+/master/c...
What I would definitely do is set up something better than nano for them. Emacs works like a charm over ssh with full syntax highlighting, intuitive UI, and powerful features. Find (or make) a nice little config for them.
There is also Jupyter and Jupyter Hub which might be good for you. Essentially an on-prem Web-based environment. While I think teaching at a lower level is better for serious computer science, this could still be good for young people.
If the teacher is worried about having to teach ssh/bash before they can start programming I would strongly believe emacs is out of the picture.
At least with emacs, you could load a key map which gives them modern keybindings and give them a print out[1]. There's a built-in CUA mode too. That way they get better syntax highlighting, indentation and backup files for free. They don't have to /learn/ emacs.
I strongly agree with you though that the last thing you want to is throw up all these barriers to students getting started with programming and am appalled that the kids and teacher have to put up with the pi and shell solution.
You shouldn't have to install Ubuntu or a native Linux app just to be able to write some code on a Chromebook.
If you're interested, I've been working on a Monaco-based editor for Chrome OS (just like VS Code) that doesn't require installing Crouton nor a native Linux app. Works fully offline and performs pretty well on low-end hardware.