From 82791122c346074bff512e57ac89a1143b86901f Mon Sep 17 00:00:00 2001 From: Sarah M Brown Date: Thu, 31 Oct 2024 21:21:05 -0400 Subject: [PATCH] notes and bdges --- _practice/2024-10-31.md | 6 ++ _prepare/2024-11-06.md | 1 + _review/2024-10-31.md | 1 + activities/practice.md | 8 ++ activities/prepare.md | 25 ++----- activities/review.md | 8 ++ notes/2024-10-31.md | 157 ++++++++++++++++++++++++++++++++++++++++ 7 files changed, 189 insertions(+), 17 deletions(-) create mode 100644 _practice/2024-10-31.md create mode 100644 _prepare/2024-11-06.md create mode 100644 _review/2024-10-31.md create mode 100644 notes/2024-10-31.md diff --git a/_practice/2024-10-31.md b/_practice/2024-10-31.md new file mode 100644 index 0000000..63ee4e1 --- /dev/null +++ b/_practice/2024-10-31.md @@ -0,0 +1,6 @@ +The first two tasks are the practice task, the thirds is a pre-approved explore badge. Hover it on your issue to create an independent issue to track it. Title the new issue `Explore: IDE`. On the explore badge, when it is ready for submission, request a review from Dr. Brown. + +1. In {index}`bestide.md`, compare two IDEs using your group's table from class, to evaluate each of them. Your review should have an introduction that justifies the ranking and defines the criteria, a section describing each IDE with respect to all of the criteria and your overall experience with that IDE, and a conclusion that explains which of the 3 is the best based on your evaluation. +2. Configure your VS Code preferences to your github account. add {index}`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. +3. (explore badge opportunity) 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](https://docs.github.com/en/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers) that installs [CodeTour](https://marketplace.visualstudio.com/items?itemName=vsls-contrib.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. \ No newline at end of file diff --git a/_prepare/2024-11-06.md b/_prepare/2024-11-06.md new file mode 100644 index 0000000..a142214 --- /dev/null +++ b/_prepare/2024-11-06.md @@ -0,0 +1 @@ +1. Install [nand2tetris](https://www.nand2tetris.org/software) \ No newline at end of file diff --git a/_review/2024-10-31.md b/_review/2024-10-31.md new file mode 100644 index 0000000..e90f079 --- /dev/null +++ b/_review/2024-10-31.md @@ -0,0 +1 @@ +1. Try a new IDE and review it in {index}`newide.md`. Your review should be 3 secictions: Summary, Evaluation, and Reflection. Summary should be 1-3 sentences of your conclusions. Evaluation should be a detailed evaluation according to your group's criteria and one other group's criteria. In Reflection, reflect on your experience: What is easy? hard? What could you apply from the ones you already use? Were there features you had trouble finding? \ No newline at end of file diff --git a/activities/practice.md b/activities/practice.md index b7f00e1..8ad20c2 100644 --- a/activities/practice.md +++ b/activities/practice.md @@ -121,4 +121,12 @@ Activities: Activities: ```{include} ../_practice/2024-10-29.md +``` + +## 2024-10-31 + +[related notes](../notes/2024-10-31) + +Activities: +```{include} ../_practice/2024-10-31.md ``` \ No newline at end of file diff --git a/activities/prepare.md b/activities/prepare.md index 77984f8..ec2bfda 100644 --- a/activities/prepare.md +++ b/activities/prepare.md @@ -19,14 +19,12 @@ The correct answer is not as important for these activities as it is to do them ``` ## 2024-09-17 -[related notes](../notes/2024-09-17) Activities: ```{include} ../_prepare/2024-09-17.md ``` ## 2024-09-17 -[related notes](../notes/2024-09-17) Activities: ```{include} ../_prepare/2024-09-17.md @@ -34,92 +32,85 @@ Activities: (prepare2024-09-19)= ## 2024-09-19 -[related notes](../notes/2024-09-19) Activities: ```{include} ../_prepare/2024-09-19.md ``` ## 2024-09-24 -[related notes](../notes/2024-09-24) Activities: ```{include} ../_prepare/2024-09-24.md ``` ## 2024-09-26 -[related notes](../notes/2024-09-26) Activities: ```{include} ../_prepare/2024-09-26.md ``` ## 2024-10-01 -[related notes](../notes/2024-10-01) Activities: ```{include} ../_prepare/2024-10-01.md ``` ## 2024-10-03 -[related notes](../notes/2024-10-03) Activities: ```{include} ../_prepare/2024-10-03.md ``` ## 2024-10-03 -[related notes](../notes/2024-10-03) Activities: ```{include} ../_prepare/2024-10-03.md ``` ## 2024-10-08 -[related notes](../notes/2024-10-08) Activities: ```{include} ../_prepare/2024-10-08.md ``` ## 2024-10-10 -[related notes](../notes/2024-10-10) Activities: ```{include} ../_prepare/2024-10-10.md ``` ## 2024-10-17 -[related notes](../notes/2024-10-17) Activities: ```{include} ../_prepare/2024-10-17.md ``` ## 2024-10-22 -[related notes](../notes/2024-10-22) Activities: ```{include} ../_prepare/2024-10-22.md ``` ## 2024-10-24 -[related notes](../notes/2024-10-24) Activities: ```{include} ../_prepare/2024-10-24.md ``` ## 2024-10-29 -[related notes](../notes/2024-10-29) - Activities: ```{include} ../_prepare/2024-10-29.md ``` ## 2024-10-31 -[related notes](../notes/2024-10-31) - Activities: ```{include} ../_prepare/2024-10-31.md +``` + +## 2024-11-06 + + + +Activities: +```{include} ../_prepare/2024-11-06.md ``` \ No newline at end of file diff --git a/activities/review.md b/activities/review.md index 66cd9e0..051efc6 100644 --- a/activities/review.md +++ b/activities/review.md @@ -119,4 +119,12 @@ Activities: Activities: ```{include} ../_review/2024-10-29.md +``` + +## 2024-10-31 + +[related notes](../notes/2024-10-31) + +Activities: +```{include} ../_review/2024-10-31.md ``` \ No newline at end of file diff --git a/notes/2024-10-31.md b/notes/2024-10-31.md new file mode 100644 index 0000000..519cd34 --- /dev/null +++ b/notes/2024-10-31.md @@ -0,0 +1,157 @@ +--- +file_format: mystnb +kernelspec: + name: python3 +--- + + + ++++{"lesson_part": "main"} +# What *is* an IDE? + + ++++{"lesson_part": "prismia"} + +[captioning](https://zipcaptions.app/#/) + ++++{"lesson_part": "prismia"} +[quantum available for URI researchers](https://www.mghpcc.org/quantum-computing-comes-to-holyoke/) + ++++{"lesson_part": "main","type":"heading"} + +## Review your notes + ++++{"lesson_part": "site"} + +```{important} +Do this before proceeding to the next section +``` + ++++{"lesson_part": "main"} + +Either discuss with peers in class or on the GitHub (asynch) discuss commonalities in your IDE notes. + ++++{"lesson_part": "main","type":"heading"} + + +### In person + + + +1. What different tasks did all of you use an IDE for? +1. What features of an IDE did you all use? +1. Which features were used but not very much? +1. Share the most helpful IDE feature you use? + + + +Update your individual IDE notes with 1-2 things you learned from your peers. + + + + ++++{"lesson_part": "main","type":"heading"} + +## Learn more + + + + +- [What is an IDE?](https://www.redhat.com/en/topics/middleware/what-is-ide) +- [compare IDEs](https://en.wikipedia.org/wiki/Comparison_of_integrated_development_environments) +- Most popular in [2021](https://insights.stackoverflow.com/survey/2021#section-most-popular-technologies-integrated-development-environment) +- Most popular in [2022](https://survey.stackoverflow.co/2022/#most-popular-technologies-new-collab-tools) + + ++++{"lesson_part": "main","type":"heading"} + + +### 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 list of IDE attributes or features that would be important, and 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? + + +### Group Feature Ranks + +| IDE Feature | Evaluation | Rank | +| --------------------- | ------------------------------------------------------------------------------------------------------ | ---- | +| Code Completion | Suggests method names, variables & libraries as you type. makes it faster to code & mostly error free. | 1 | +| debugger | how clear the debugger is when showing error | 2 | +| extentions | the ide has option for user-created assistance | 3 | +| program runner | runs and compiles program easier than using terminal | 5 | +| sync | allows saving between systems | 6 | +| terminal | allows you to access & run commands from the IDE | 8 | +| non-language specific | allows multiple languages | 4 | +| file storage | programs/files are easy to fine/access | 7 | + +| IDE Feature | Evaluation | Rank | +| -------------- | ----------------------------------------------------- | ---- | +| sync | how many devices can you run it on? | 5 | +| tab completion | how much context is it able to interpret, AI? | 2 | +| side by side | how is the multitasking of different file? | 6 | +| type coloring | are different types highlighted with different color? | 3 | +| hovor info | do I get information from text from hovering | 7 | +| pets | are the pets cute and move around? | 8 | +| debugger | can I set breakpoints, get info from them? | 1 | +| terminal | can I run terminal commands | 4 | + +| IDE Feature | Evaluation | Rank | +| -------------------------- | -------------------------------------------------------------------------- | ---- | +| live server (preview) | how useful is it when creating a web page or when using a markup language? | 5 | +| debugging feature | It is useful to debug in CLion able to jump into lines and see var values. | 1 | +| Keyboard shortcuts | How much customizability is available? | 3 | +| Live Share | Perfect for pair programming or gorup projects | 4 | +| Built-in extention support | Is it available? How many extensions are available? Does yours have pets? | 2 | + + +| IDE Feature | Evaluation | Rank | +| -------------------- | ------------------------------------ | ---- | +| Debugging | How effective is it in conveying UI? | 3 | +| Zen Mode | Does it have this feature? | 8 | +| Ai-assist | Customizable? | 9 | +| C-Make | Efficfiency | 2 | +| Git-Hub integration | Simplicity/Practicality | 5 | +| Auto indent | | 7 | +| Multiselected Lines | | 6 | +| Autofill | | 4 | +| Terminal integration | | 1 | + + ++++{"lesson_part": "main","type":"heading"} + +### Makeup + + +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. + +Add to your experience report, summarizing what you found the most important criteria to be and if you personally agree or not. + + + + +## Prepare for Next Class + +```{include} ../_prepare/2024-11-05.md +``` + +## Badges + +`````{tab-set} +````{tab-item} Review +```{include} ../_review/2024-10-31.md +``` + +```` + +````{tab-item} Practice +```{include} ../_practice/2024-10-31.md +``` + +```` +````` +