15. What is an IDE?#

captioning

15.1. Review your notes#

Important

Do this before proceeding to the next section

Either discuss with peers in class or on the GitHub (asynch) discuss commonalities in your IDE notes.

15.1.1. In person#

  1. What different tasks did all of you use an IDE for?

  2. What features of an IDE did you all use?

  3. Which features were used but not very much?

  4. Share the most helpful IDE feature you use?

Update your individual IDE notes with 1-2 things you learned from your peers.

15.1.2. Asynchronous#

There are questions on the GitHub Discussion. Update your individual IDE notes in your KWL repo with links to your post and replies.

15.2. Learn more#

Note

These are for both in person and async, but how you use them is different

15.2.1. In person#

In class with your peers you can divide these up and read one and then share key points with others.

With your group:

  • build a large list of IDE attributes or features that would be important. Foe example, share your favorite extensions and configurations

  • make a table of how would you evaluate attribute. Which ones would you evaluate by just if it exists or not? Which ones would you evaluate in different degrees, what attributes of them would you evaluate?

  • Discuss how you would rank them. You do not all have to agree on a final ranking, but notice the differences.

vs code is open source

Summarize what you all discussed on GitHub for your classmates. Note the ranking, with any disagreements.

15.2.2. Asynchronous#

After reading the above, also read at least 3 different articles about the “best IDE” for your favorite language or for multiple languages.

Notice what IDE attributes or features the authors think is important, and how they evaluate each criterion. Which ones are evaluted as present/missing? Which ones are evaluated in more detail.

Join the discussion on GitHub summarizing what you found the most important criteria to be and if you personally agree or not.

15.3. Experience Reports#

For today, whether you are in class or asynchronous use the experience report (makeup) action. Use ISO date format: YYYY-MM-DD for the workflow input.

15.4. Prepare for Next Class#

  1. Read the 3 bulleted examples of why use a cluster from HPC carpentry.

  2. Read this discussion of why using a remote server

15.5. Badges#

  1. Try a new IDE and make some notes about how it was to learn in newide.md What is easy? hard? What could you apply from the ones you already use? Were there features you had trouble finding?

  2. Add at least one comment on others’ posts on the GitHub discussions about IDEs.

The first three tasks are the practice task, Option A and Option B are pre-approved explore badges. Hover over one of them on your issue to create an independent issue to track it. Title the new issue Explore: IDE-X where X is A or B based on your choice. On the explore badge, when it is ready for submission, request a review from Dr. Brown.

  1. Examine the IDE you use most and add frequentide.md to your kwl with notes about which features it does/not have based on what you learned in the in-class activity.

  2. Try a new IDE and make some notes about how it was to learn in newide.md What is easy? hard? What could you apply from the ones you already use? Were there features you had trouble finding?

  3. Configure your VS Code preferences to your github account. add settingssync.md with a description of what settings you customized and synced and reflect on why this is an important feature and what prerequisites to it might be.

  4. (explore option A) Compare at least 3 IDEs for working in a single language. Your comparison should be based on first hand experience using each of the IDEs. Complete the same task in each tool. Create favoriteide.md to define and justify your preferred IDE. Describe the procedure you did to compare the IDEs. Include a ranked list of your criteria(which attributes and features) with justification/explanation of your ranking of these criteria. Then describe how each of the three IDEs meets/does not meet those criteria, and a conclusion of which IDE is the best based on your criteria.

  5. (explore option B) Create a small repo owned by compsys named ide-USERNAME where USERNAME is your gh username with some example code, a vscode/codespace devcontainer file that installs CodeTour and your favorite extension(s). Write a CodeTour that walks someone through using your favorite extension to do something with the code. The example code can be any language, can be very simple, can even have a bug in it if that helps your example. You can use an-IDE integrated LLM (eg GitHub Co-pilot, not the chat version) to generate some code for this purpose if you do not have some available to you already, but you cannot share solutions to a course assignment without that instructor’s permission.

15.6. Experience Report Evidence#

15.7. Questions After Today’s Class#