Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Generative AI for Teaching Software Development 101

Stephen Howell
September 20, 2023

Generative AI for Teaching Software Development 101

Teaching Software Development 101 / Foundational Programming
Introducing Amazon CodeWhisperer
Live Coding Assistance
Automated Code Analysis and Translation
Identifying Vulnerabilities
Preparing Students for an AI-Driven Future
Discussion

Stephen Howell

September 20, 2023
Tweet

Other Decks in Education

Transcript

  1. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Generative AI for Teaching Software Development 101 Stephen Howell Academic Developer Advocate Amazon Web Services
  2. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. Agenda 1. Teaching Software Development 101 / Foundational Programming 2. Introducing Amazon CodeWhisperer 3. Live Coding Assistance 4. Automated Code Analysis and Translation 5. Identifying Vulnerabilities 6. Preparing Students for an AI-Driven Future 7. Discussion 2
  3. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Teaching Software Development 101 3
  4. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. Common Teaching & Learning Frustrations PEBKAC/PICNIC 1. Syntax errors 2. Multiple languages confusion 3. Low interest – mandatory module 4. Weak problem solving skills Pitfalls 1. Logical Errors 2. Environment 3. Running before walking 4. SDev 2/3/4… will cover it 5. “A different language/IDE/OS will make this easier to teach” Paradigms 1. Imperative Vs Declarative? 2. Procedural, Functional, or Object-oriented? 3. Not differentiating 4. Trying to fit too much into a semester/term 5. Poor alignment on independent modules Practice 1. Never seeing tutor live-code (slideitis) 2. Underestimation of hours needed on the keyboard 3. Always more practice questions wanted 4
  5. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Introducing Amazon CodeWhisperer 5
  6. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. Amazon CodeWhisperer AI coding companion • trained on billions of lines of code • can generate code suggestions ranging from snippets to full functions • Bypass time- consuming coding tasks • accelerate building with unfamiliar APIs Code with confidence • flag or filter code suggestions that resemble open- source training data. • Get the associated open-source project’s repository URL and license • easily review them and add attribution. Use your tools • 15 programming languages, including Python, Java, C#, JavaScript • IDEs: VS Code, IntelliJ IDEA, AWS Cloud9, AWS Lambda console, JupyterLab and Amazon SageMaker Studio Individual Tier 6 • Free for individual use • Unlimited code suggestions • Reference tracking • 50 security scans (per user, per month)
  7. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Live Coding Assistance 7
  8. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. Getting Started (examples in Python) 8 Lines 1, 5, 10, 14 are human
  9. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. Problem Solving Steps 9
  10. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. General Knowledge Examples 10
  11. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. Paradigm Examples 11
  12. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Automated Code Analysis and Translation 12
  13. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. Switching Languages / Stack / Versions 13
  14. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Identifying Vulnerabilities 14
  15. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. Detecting Security Errors • Outrageous (fake) keys on lines 6 and 7! • CWE-798 - Hardcoded credentials: Access credentials, such as passwords and access keys, should not be hardcoded in source code. Hardcoding credentials may cause leaks even after removing them. This is because version control systems might retain older versions of the code. Credentials should be stored securely and obtained from the runtime environment. 15
  16. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Preparing Students for an AI-Driven Future 16
  17. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. AWS Academy https://aws.amazon.com/training/awsacademy/faq/ AWS Academy provides higher education institutions with a free, ready-to-teach cloud computing curriculum that prepares students to pursue industry-recognized credentials and in-demand jobs. Our curriculum helps educators stay at the forefront of AWS Cloud innovation so that they can equip students with the skills they need to get hired in one of the fastest-growing industries. 17
  18. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. AWS Cloud Clubs https://s12d.com/students 18
  19. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. Thank you! © 2023, Amazon Web Services, Inc. or its affiliates. All rights reserved. Stephen Howell [email protected] twitter.com/howell_cloud instagram.com/howell_cloud/
  20. GENERATIVE AI FOR TEACHING SOFTWARE DEVELOPMENT 101 © 2023, Amazon

    Web Services, Inc. or its affiliates. All rights reserved. About the Speaker Stephen Howell is a technologist and educator with over 25 years of experience in software engineering, lecturing, program management, and education. As a software engineer, he worked on diverse projects involving technologies from finance to IoT systems. For over a decade, he was a computing lecturer at universities including Dublin City University and Institute of Technology Tallaght (now Technological University Dublin). He taught modules covering algorithms, data structures, object- oriented programming, software engineering, cloud computing, computer graphics, visual design, and interactive media. Currently at Amazon Web Services, Stephen is an Academic Developer Advocate supporting students and faculty in building cloud and AI skills. 20