Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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)

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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

Slide 18

Slide 18 text

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

Slide 19

Slide 19 text

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/

Slide 20

Slide 20 text

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