Episode #125 of the Stack Overflow podcast is here. We talk Tilde Club and mechanical keyboards. Listen now

Hot answers tagged

23

I find that the best introductory IDE is a lack thereof because, for the most part, the features that an IDE offers (code completion, organization, etc.) are more hurt than help and tend to promote completely unrelated questions, for example, "What is this dropdown under the word I just typed" and other questions about IDE function rather than language ...


15

TL;DR Those two aren't your only options. The main concern is cognitive load: learning to program is difficult enough without adding incidental complexity. We've seen an explosion of hybrids in the last few years with good cross-platform support: Sublime, Atom, VSCode, etc. And while you couldn't pry vim out of my cold dead hands, learning it is easy if ...


11

The latest generation of text editors, e.g. Sublime, Atom, Visual Studio Code, are great, and seem to offer all that one might want from an IDE. I've a soft spot for Atom, but don't rule the others out. Another option might be to try Jupyter Notebooks in the web browser. Not an IDE in the traditional sense, but a good introduction to playing with code and ...


11

Here are my thoughts on this. Editor and Terminal This is most likely the more lightweight solution. Editor and terminal often don't consume much space (or, at least, come bundled with the operating system so it doesn't really matter) and start fast. Using editor and terminal can demonstrate students that writing a program can be done without using a huge ...


11

Of course it depends on your overall goals. For me, however, the answer is clear: Use the most powerful IDE that I can find (Eclipse or NetBeans fit my def). I started programming on primitive equipment (card punch) and came up through every level since. I don't romanticize the old way of work and I wouldn't go back. I wouldn't try to impose primitive ...


9

The real question is this: do you want to teach your students what is actually going on, or teach them which magic buttons to press in an IDE? Of course for professional programming work nobody would NOT use the most functional IDE they could find for the task they were doing. But if you throw a complete beginner into the deep end of a tool like MS Visual ...


9

In my experience, immediate feedback is helpful in speeding along development, but rarely enhances understanding. In fact, I am often frustrated with the immense level of help that is provided to my strugglers, because they wind up moving words around until whatever they've written stops being underlined. The only exception to this has been for norms that ...


9

In the context of front-end development, I suggest looking into CodePen. For each "pen" you can get an instant visual as to how your HTML/CSS/JS affect your page. Additionally, you can immediately begin working in a pen without having to create an account, which may be a factor given the age of your students. At the very least, it might be a good teaching ...


8

IDEs are tools that are designed to solve specific problems. They're great for stuff like: Compiling multiple projects that contain a bunch of classes. Dealing with dependencies on multiple libraries. Handling stuff related to coding, like starting up servers. Packaging and deploying your application. If the students haven't encountered these problems, ...


8

I don't think the tool (or learning the tool) should get in the way of learning the initial core of the subject. If students are already comfortable with NotePad (or TextEdit, et.al.), why add to their cognitive load (7+-2) and the number of steps needed in getting their first few lines of Javascript running? The IDE can come later, when the code no ...


6

Similar to @ncmathsadist, I use both command-line environments and IDEs, and I have only found them enhancing each other. We do most of our work in IDEs, but a few assignments are done in CLIs every year to ensure that students slowly gain some familiarity with those environments. Reasons for IDEs: Convenience Easy integration with GitHub Error ...


5

I like to ease people in. You have mentioned that this is for first year. So, yeah, easing in would really have a positive impact on the overall learning experience. I would like to draw from my own experience between a GUI and command line. When I was introduced to version control, the whole thing was intimidating. I decided to go with the Github Desktop, ...


4

You are correct in considering Sublime text, or atom text editor as they are light weight and more importantly will be hassle free for school kids. But one should also keep in mind considering school kids IDEs are too much to learn or get to know how to work on it therefore at these initial stages text-editors like said above and VScode which at least for ...


4

I go for simple. This year we used either an online editor or the free version of JCreator specifically because they don't have autocomplete. What I noticed last year using NetBeans is that students become dependent on autocomplete. When writing code on paper - I teach mostly AP CompSci so paper is necessary - kids would struggle to remember method names ...


4

For the editor You can use the same editor for every language. You can use the same editor for every system. You can use the same editor every year: I learnt emacs (and vi) in 1991, and still use them. They are much simpler, and pupils need to learn the editor/ide at same time as the language. IDEs can reinforce the separateness of your program: you program ...


4

If you write software you necessarily have a development environment. It might help or hinder you as you work. A development environment consists of some set of tools that you use to develop the program. The tools might be integrated into a single framework (an IDE) or not, but you have some sort of environment. The tools include at least one or more ...


3

I'm not a fan of full IDEs for beginners. A few years ago I switched my first year students (Java) from NetBeans to an online tool without any autocomplete or helpers for most assignments and found that they've gotten way stronger at writing code. I think the automatic stuff that helps out while programming becomes a crutch for newbies. Our intro teacher, ...


3

The simple answer is don't: Keep it simple. The IDE will amplify their productivity and their confusion. Consider the difference between education and training. Are you teaching the IDE, because you need to train them for work, or because it will help with their education. Your role at a university is education, not training. If you educate them (teach ...


3

Maybe I'm misunderstanding the question or maybe I keep skipping over a line, but it seems like the question is more about how to help students figure out how to actually use IDEs (what buttons to click, etc) rather than about how to convince them that IDEs are helpful. How you help students adapt to an IDE depends on which IDE it is, but a "cheat sheet" of ...


3

This reminds me very much of a similar discussion from the distant past. The Meat Human perception is colored by expectations. Transposed letters, misspellings, and wrong punctuation are all easy for a human reader to miss because our perception is geared to fill in for the unexpected. We are all aware of these internet memes that build on the ...


3

Most of the IDEs that have been mentioned are more confusing than just using a basic text editor and the command line. If I were you, my plan would be: Start students with a very basic IDE. Allow students to "graduate" to the command line. Then allow students to further "graduate" to more advanced IDEs, which are what most of the other answers are talking ...


3

Visual Studio Code. Easy to set up and designed to be simple. I used to use PyCharm and PyScripter with good results. VSC is more versatile. Eclipse is a management pig for beginners. You have to learn Eclipse along with learning Python. Eclipse is great for pros.


2

With respect to APCS-A there won't be a difference. Personally, I'm not overly fond of IDEs or one trick pony environments so I've encouraged our students to use an editor. I'm an Emacs wonk but the kids also use Vim, Sublime, DrJava (which is a lightweight IDE) and more. In APCS-A they won't be getting to HUGE programs and to be honest, in my experience, ...


2

Java's core, from my experience, is writing large (or many, or both ;)) classes and files (whilst preserving SOLID principles) and then running a rather complex program, composed of those classes. Due to this, working only with a command-line environment is somewhat losing that part of java, and might damage the students' understanding of Java. This being ...


2

The answer can be very broad because of personal taste :) But you may want to check MS Visual Studio IDE which you can "minimize" for the purpose of education. And then extend if step by step.


2

This is a good opportunity to offer a workshop on using the IDE. The workshop could be useful for multiple courses and classes so that other educators could also benefit from this. On top of it, it could allow the students who already have knowledge with the IDE the opportunity to teach a workshop session and to help other students. The workshop can be ...


2

I have experienced the same problem and I found a pretty easy solution by dividing the lecture into two parts: Theory (usually taught on the board) and Practical Demonstration (on IDE). Now I come to the important point in your question (I had similar views to yours) on: I briefly thought about demoing how to install and use an IDE in class, but that ...


2

My preference might be different from most, but some of the things you seem to be asking for are inconsistent. For me, an "IDE for beginners" is one that doesn't need to be abandoned for a different language. Once you spend the time to learn it, you can adapt it to anything. For me, also, that means a professional level IDE like Eclipse, which I now use for ...


1

Why would you use an IDE anyway ? You can go directly with command line, either with Linux or Windows, you'll just need a text editor and a command line terminal and here you go. (I recommend Sublim Text)


Only top voted, non community-wiki answers of a minimum length are eligible