4 ms·
My students next semester are going to each create a VS Code or Atom plug-in as their course project. I’ll definitely be showing them this!
by azhenley 8y ago
My students next semester are going to each create a VS Code or Atom plug-in as their course project. I’ll definitely be showing them this!
- snek 8y agowhat if they prefer ecmacs or vim or sublime or etc, they all have plugin ecosystems as well
- azhenley 8y agoI can’t teach them all.
- gdfasfklshg4 8y agoBut why force your students to use a specific tool? How is this different to writing an Excel macro?
- guardian5x 8y agoYou can learn a lot from using a specific tool. And hopefully transfer that knowledge to the tool you like.
- gdfasfklshg4 8y agoI assume that the OP is teaching at University level. From experience I know that time is very limited in that environment. Everything done with the students should be well justified. Building an editor add on seems like something I would question strongly. What concepts is the OP aiming to introduce the students to? And is this the best way to introduce those concepts?
- azhenley 8y agoI want them to practice concepts behind designing, building, and evaluating usable dev tools. Not just reading about them. The course is a special topics on dev tools.
- SmellyGeekBoy 8y agoWhy teach C in University when students might prefer Python or Java? The specific implementation isn't important, it's the overarching concepts that matter.
- gdfasfklshg4 8y agoI would argue that a programming course might want to teach all three of those. They are quite different languages which could be used to teach different underlying concepts (C for pointers and low level stuff (and maybe combined with some assembler), Java for object orientation and Python for dynamic typing). Python vs PHP vs JavaScript would be another matter. I would say it doesn't matter so much which of those you teach. Same with e.g. Java vs C# vs C++. The question remains why build an Atom plugin over an Excel macro? And what underlying concepts would you hope to teach students by doing this? And is this the best way to introduce those concepts?
- jeeva 8y agoIs your argument really "why teach them to do something specific"? Why teach C++? Some students might not prefer that to C#. My problem at school was always "how do I apply this lesson to an actual problem?" Picking _something_ (anything!) to teach is great (to me), because canny students can go off and use the lesson to do _anything_ else.
- gdfasfklshg4 8y ago> Why teach C++? Some students might not prefer that to C#. Between these two there is very little to choose in terms of concepts the students would be exposed to. I would assume that teaching either of those would aim to teach the underlying concepts of object orientated programming. The questions that need to be asked instead are: What concepts would building an editor plugin expose students too? And is this the best way to introduce those concepts? (NB I am assuming University level where contact time for taught material is only really enough to introduce concepts not to really go into details.)
- ncallaway 8y agoThen it sounds like a great opportunity for self-learning. One class can't teach everything. If people have preferences in their tooling, then that's a great opportunity to generalize the lessons they are taught about VS Code.
- philliphaydon 8y agoI actually enjoy digging through plugin code. I was using brackets for a while and found some minor bug where the git plugin wasn't hiding folders correctly. Raised a bug, then downloaded the code and dug through it for a while and figure out a way to fix it, got merged. Made me feel super happy. https://github.com/brackets-userland/brackets-git/pull/1039 https://github.com/brackets-userland/brackets-git/pull/1039 If people are wanting to contribute to OSS i highly recommend finding plugins in your favourite editor to contribute to.
- quickthrower2 8y agoThat's optional additional homework.
- deleted 8y ago[deleted]
- qubax 8y agoIsn't that a step down from teaching people VBA macros? I hope it isn't for a CS class. They should be learning principles rather than creating toy plug-ins which is something anyone can do for a hobby if they wanted.
- azhenley 8y agoCreating a plugin allows them to practice the principles that they learn in the course.
- gdfasfklshg4 8y agoThere is a vast amount of material to cover in a University course and very limited time to do so. There is only really time to introduce concepts if enough material is to be covered.
- azhenley 8y agoIn my experience as a student (and as a prof), being taught concepts without an opportunity to apply them is virtually useless. The course is a special topics on dev tools.
- gdfasfklshg4 8y agoMay I ask the degree field?
- azhenley 8y agoComputer science for upper-level undergrads or grads.
- meowface 8y agoIgnore what these negative commenters are saying. That's a perfectly good idea for a student project, and I would've loved to have a project like that in my university courses. But I would agree that if someone uses something else like vim or emacs as their primary editor, they should have the option of writing a plugin for their editor of choice. (As long as they accept that the rest of the class will be taught how to write Atom/VS Code extensions and they'll have to do most of the learning on their own.)
- fabiospampinato 8y agoVery flattering, thank you!