Skip to content

Commit

Permalink
add-youtube-videos
Browse files Browse the repository at this point in the history
  • Loading branch information
ehumph committed Nov 9, 2023
1 parent 678e215 commit 61081fb
Show file tree
Hide file tree
Showing 5 changed files with 81 additions and 5 deletions.
19 changes: 18 additions & 1 deletion 03-writing_code.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,15 @@
ottrpal::set_knitr_image_path()
```

# VIDEO: AI Code of Ethics

This video discusses how bias can show up in AI-created code, images, and video, and what you can do to combat it.

<iframe width="560" height="315" src="PUT YOUTUBE LINK HERE" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

You can view and download the Google Slides [here](https://docs.google.com/presentation/d/1WDqxRNLnJ_o0t4qwSohVhEbv7iwnL6jzSIjkSJ4ZGYo/edit).


# Writing Code

## Learning Objectives
Expand Down Expand Up @@ -509,13 +518,21 @@ ottrpal::include_slide("https://docs.google.com/presentation/d/1MCNeSO4aOm1iESWD
```


## Summary

# VIDEO: Summary for Writing Code

<iframe width="560" height="315" src="https://www.youtube.com/watch?v=sh92SPqsjJc&list=PLHIPK1Ozlodx_2S5T-ptkz4e0N4Cq2D10&index=2&pp=iAQB" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

## The Main Points

* Coding has become an essential skill in today's world. AI can increase the efficiency of planning, writing, and debugging code, as well as make coding more accessible for beginners.
* Querying AI on code writing tasks requires patience. AI cannot read your mind, and users need to be both specific and patient when asking for coding help.
* It is essential to test all AI-written code while in development, since inadequate testing could lead to low quality, buggy code.
* A programmer is responsible for what they create while coding with AI, even if AI writes the actual code.

You can view and download the Google Slides [here](https://docs.google.com/presentation/d/1NAfXSgHP5hFi7Z9gwHGS77_CFTX8J2vYZNBj15SkzJ4/edit#slide=id.g2984ab3ff3d_0_188).





Expand Down
19 changes: 18 additions & 1 deletion 04-refactoring.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,15 @@ use_python("/usr/bin/python3")
ottrpal::set_knitr_image_path()
```

# VIDEO: Refactoring with AI

This video discusses how AI can help with refactoring your code.

<iframe width="560" height="315" src="https://www.youtube.com/watch?v=tcrvwyswExo&list=PLHIPK1Ozlodx_2S5T-ptkz4e0N4Cq2D10&index=6&pp=iAQB" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

You can view and download the Google Slides [here](https://docs.google.com/presentation/d/1RHf5p7504GOhazt_xDshRyMo5mnG_5kH2lOLx18bWjg/edit#slide=id.p).


# Refactoring Code

## Learning Objectives
Expand All @@ -32,6 +41,8 @@ ottrpal::include_slide("https://docs.google.com/presentation/d/1MCNeSO4aOm1iESWD

## AI in Code Refactoring

[This information is also covered the the introductory video for this section.]

Code refactoring has historically been done manually by developers. This involves reviewing code and identifying areas that could be improved or optimized, and then making changes to the codebase accordingly. Though important, this is process is time-consuming and labor-intensive, as it requires developers to carefully review every line of code to identify potential issues or areas for improvement. Additionally, manual code refactoring is error-prone, as developers can accidentally introduce bugs or errors into the codebase while making changes.

However, AI has significant potential to help with code refactoring. AI can use machine learning algorithms to analyze large amounts of code and identify patterns or areas that could be improved. For example, they can identify sections of code that are redundant, overly complex, or difficult to maintain, and suggest changes that could be made to improve the codebase. Machine learning algorithms can also help to identify potential bugs or security issues in the codebase, which can help to improve the overall quality and stability of the software.
Expand Down Expand Up @@ -519,8 +530,11 @@ Because AI models are created by humans, they can be biased. This means they may

When using AI to refactor code, the code itself is often sent to an external service or platform for analysis and transformation. This can raise concerns about the security of the code, especially if it contains sensitive information such as trade secrets, proprietary algorithms, or personal data. If your code is sensitive, it's important to carefully vet any third-party AI tools or services used in the refactoring process.

# VIDEO: Summary for Refactoring Code

<iframe width="560" height="315" src="https://www.youtube.com/watch?v=uKVQAtQ-w0I&list=PLHIPK1Ozlodx_2S5T-ptkz4e0N4Cq2D10&index=4&pp=iAQB" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

## Summary
## The Main Points

- Code refactoring is the process of improving code quality without changing its functionality. It is crucial in software development to maintain a manageable and adaptable codebase.

Expand All @@ -529,3 +543,6 @@ When using AI to refactor code, the code itself is often sent to an external ser
- Examples of using AI for code refactoring include correcting syntax, adhering to styling and convention, visual styling, avoiding repetition, removing dead code, and improving both readability and speed of execution (optimization).

- The use of AI for code refactoring raises ethical concerns and is not perfect. It is important for the developer to consider security needs of their code, as well as test out their code.

You can view and download the Google Slides [here](https://docs.google.com/presentation/d/12kBb3mQIWOmn44JsjDcXU8e5dhLAf0xAwkoC5FASRrU/edit#slide=id.p).

20 changes: 19 additions & 1 deletion 05-annotation.Rmd
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
# VIDEO: Annotating Code with AI

This video discusses why AI is a good tool to help with code annotation.

<iframe width="560" height="315" src="https://www.youtube.com/watch?v=XuHVtnED2zQ&list=PLHIPK1Ozlodx_2S5T-ptkz4e0N4Cq2D10&index=7&t=44s&pp=iAQB" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

You can view and download the Google Slides [here](https://docs.google.com/presentation/d/1ufNeULKBS4gMd7KQECsfFVxlRefWVs2pvjwRc5r8EBA/edit#slide=id.p).


# Annotating Your Code

## Learning Objectives
Expand Down Expand Up @@ -212,6 +221,7 @@ visualize_data(analyzed_data)

## AI in Code Annotation

[This information is also covered the the introductory video for this section.]

We've discussed why code annotation and documentation are important, but when and why would you use AI for code annotation? AI can be a nice tool to supplement the annotation of your code. It should not be the only source of annotation for your code, because as the code author, you need to verify that what AI has annotated is consistent with your knowledge and history of development of the code.

Expand Down Expand Up @@ -369,12 +379,20 @@ I hope this helps!

This was a nice tool to recommend, however it still told me I should add my own annotations at the end of this.

## Summary
# VIDEO: Summary for Annotating Your Code

<iframe width="560" height="315" src="https://www.youtube.com/watch?v=oX61I1NDOFI&list=PLHIPK1Ozlodx_2S5T-ptkz4e0N4Cq2D10&index=1&pp=iAQB" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

## The Main Points

- Code annotation is important for readability, maintainability, and overall quality of code
- AI can be a helpful tool for supplementing annotations or creating annotation for poorly annotated code.
- Ultimately the code author who uses AI as a tool for annotation is still responsible for verifying that the annotations are consistent with their knowledge of the code.

You can view and download the Google Slides [here](https://docs.google.com/presentation/d/10_hzwnNx11xafpmHbV6H9XJ4BHPAjMzFvgxlAnrD5hY/edit#slide=id.g29847d27b96_0_188).




```{r}
devtools::session_info()
Expand Down
17 changes: 16 additions & 1 deletion 06-understanding_other_ppl_code.Rmd
Original file line number Diff line number Diff line change
@@ -1,3 +1,11 @@
# VIDEO: Annotating Code with AI

This video discusses how AI can be useful when understanding code written by someone else.

<iframe width="560" height="315" src="https://www.youtube.com/watch?v=DIlpCC4yUtw&list=PLHIPK1Ozlodx_2S5T-ptkz4e0N4Cq2D10&index=9&pp=iAQB" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

You can view and download the Google Slides [here](https://docs.google.com/presentation/d/1gYxHub8Vuf8uY8xI65R5HL0R31rETtxkQDLiBgb820U/edit#slide=id.g29860008570_0_387).

# Understanding Unfamiliar Code

## Learning Objectives
Expand All @@ -23,6 +31,8 @@ In the end, with patience, persistence, and a willingness to learn, you can succ

## AI in Reading Code

[This information is also covered the the introductory video for this section.]

```{r, fig.align='center', out.width="100%", echo = FALSE, fig.alt= "The dinosaur cartoon says in a speech bubble, 'It’s like having a paired programmer explain things to you.'."}
ottrpal::include_slide("https://docs.google.com/presentation/d/1MCNeSO4aOm1iESWDLOGTcx3aLEbnu8UttV0QGVAeafE/edit#slide=id.g22e15d27e55_4_0")
```
Expand Down Expand Up @@ -293,10 +303,15 @@ Although we can't truly understand some of this information, it is however possi
Chatbot tools are also limited in terms of how up-to-date their training data is to know about current possible issues with code.


## Summary
# VIDEO: Summary for Understanding Unfamiliar Code

<iframe width="560" height="315" src="https://www.youtube.com/watch?v=6Mxtp2kOjV0&list=PLHIPK1Ozlodx_2S5T-ptkz4e0N4Cq2D10&index=8&pp=iAQB" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

## The Main Points

* Understanding code written by someone else can be made easier by using AI
* AI chatbots can summarize the code and the dataset used, as well as clarify functions and expressions that are confusing
* AI chatbots can also identify the coding language and version used in legacy code
* Be mindful of who owns the code and what the summary will be used for when using AI to summarize someone else's code

You can view and download the Google Slides [here](https://docs.google.com/presentation/d/1ygsb4nNLEsHugrXqbeiWUm9IrfvK4Y4f8teZlQAMWNM/edit#slide=id.g29848e7ae84_1_188).
11 changes: 10 additions & 1 deletion 07-bio_code.Rmd
Original file line number Diff line number Diff line change
Expand Up @@ -54,8 +54,17 @@ When using AI to help generate code examples, perform refactoring, understand co
:::


## Summary
# VIDEO: Summary for AI for Bioinformatics

<iframe width="560" height="315" src="https://www.youtube.com/watch?v=P5_sZlQKTEE&list=PLHIPK1Ozlodx_2S5T-ptkz4e0N4Cq2D10&index=3&pp=iAQB" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>

## The Main Points

- Like other types of software, bioinformatics software and tools can benefit from AI assistance for writing, refactoring, annotating, and understanding code.
- Biological data and workflows can be complex. AI does not replace a thorough understanding of biological processes at play.
- **NEVER** submit any protected or sensitive data to AI applications. This can constitute a serious, often illegal breach of subject privacy if you are dealing with data from people.

You can view and download the Google Slides [here](https://docs.google.com/presentation/d/1bvd0X57ukyS6l2uffQscXRBHxWc8y9-UZFZe39BETDs/edit#slide=id.g2983f25f381_0_188).



0 comments on commit 61081fb

Please sign in to comment.