6 ms·
I got excited for a moment because I thought this might solve one of my minor problems as a K-12 CS teacher. Every school I've taught at is 1-1 with chromebooks
by Delfino 8y ago
I got excited for a moment because I thought this might solve one of my minor problems as a K-12 CS teacher. Every school I've taught at is 1-1 with chromebooks and to be able to code on them so far I've set up a Raspberry pi and had students use the Secure Shell App from the Chrome Store to connect to the Pi. This comes with the overhead of needing to teach them to use ssh, basic linux commands and text-based interfaces in general and using nano (simpler than vim). But I'd love to skip all that and just let them code on their machines. Alternatively, I've used websites like codepen or repl.it to have them code online but this has the downside of requiring an internet connection (fails occasionally so need to have back-up lesson plans) and privacy concerns of having students sign up (my first district required companies to sign a data sharing agreement before this was allowed).
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.
- extra88 8y agoWould AWS Educate and Cloud9 work?
- murukesh_s 8y agoright, or install it in your own local server
- robgibbons 8y agoOut of the box, Chromebooks are really not intended to do much other than consume web-based content, including sites like CodePen or other web-coding interfaces. It seems like you've explored those options fairly well. 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.
- skybrian 8y agoThis is no longer true, at least for some Chromebooks. There is support for running Linux apps in a container: https://support.google.com/chromebook/answer/9145439?hl=en https://support.google.com/chromebook/answer/9145439?hl=en https://chromium.googlesource.com/chromiumos/docs/+/master/containers_and_vms.md#Supported-Now https://chromium.googlesource.com/chromiumos/docs/+/master/c...
- deleted 8y ago[deleted]
- dbdjfjrjvebd 8y agoCrouton changes this. Modern Chromebooks with Intel chips make a very reasonable dev environment.
- robgibbons 8y agoThe parent says they can't install a new Linux userspace (unless I misunderstood). I only assume this applies to crouton as well.
- gwilkes 8y agoTechnically, he probably can install crouton but that isn't such a good idea in a school environment as you need to enable developer mode on the device and you lose some of the security features of Chrome OS.
- mav3rick 8y agoChrome OS now supports a fully secure Linux environment. Perfect to play around with.
- murukesh_s 8y agoI have an idea for you. Why don't you setup your own mini-local area network and host an open source solution similar to codepen (search for "open source web-based IDEs")? Then every student can connect to your LAN and access the IDE as well as store the data in your local server (You can back it up to S3 on a daily basis as well). It shouldn't cost much and will solve your connectivity and data privacy concerns.
- oaiey 8y agoI think Eclipse Che is something you should consider. Heavy, but considering that as a teacher you have to reset environments very often (after the kids screwed up), I think a container based runtime platform is sweet.
- z3t4 8y agoThere are some issues, 1) SSL/HTTPS certificates, which is needed for some browser functionality. 2) Access to the IDE when doing homework, etc. Hopefully the LAN and municipal network is reliable enough. I'm currently working on a web IDE, message me if you are interested and I will help set one up on your LAN.
- headmelted 8y agoSadly it depends on your school's policy. 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.
- askvictor 8y agoDoesn't yet work on enterprise enrolled Chromebooks (as most schools use). I'm eagerly awaiting your feature for similar reasons.
- headmelted 8y agoLet me experiment with setting up an enterprise account and getting a look at this. This is the biggest reason for the project to exist so I'd like to find a way around this if I can.
- black-tea 8y agoSounds like you don't really have the tools to do your job. I'm not sure I ever would have started programming if I wasn't able to program my own computer. It's a shame because they'll learn that sshing is some intrinsic part of programming and it's such a barrier to entry. 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.
- afiori 8y ago> Emacs works like a charm over ssh with full syntax highlighting, intuitive UI, and powerful features. 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.
- acidium 8y agoNano has unfriendly keybindings too. 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. [1] https://github.com/darkstego/wakib-keys#ctrl https://github.com/darkstego/wakib-keys#ctrl
- black-tea 8y agoWhy do they need "modern key bindings"? They are children. They don't come with one arbitrary set of bindings pre-learnt.
- afiori 8y agoThe problem with emacs are not the keybindings. One example is that if you move the cursor and then shift-delete it deletes the whole you have moved; that is a not so nice surprise.
- dspillett 8y agoAn alternative to forcing them to the command-line, you could use http://guacamole.apache.org/ http://guacamole.apache.org/ so they could run VSCode on the target machine via VNC or RDP. That way nothing needs to be installed on the chromebook: it is just visiting a web application over HTTP(S). I've used it to gain access to my remote machines from an environment where the only possible outgoing connections were HTTP(S). 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.
- tomaspollak 8y ago+100 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.