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
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
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
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)
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
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
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