AI for Efficient Programming
Harnessing the Power of Large Language Models
December, 2024
About this Course
This course on efficient programming with AI explores the use of AI large language models such as ChatGPT, Bard, and others and their potential benefits and challenges. Through examples and hands-on activities, students will develop an understanding of the ways in which AI can speed up common programming tasks and free up time for more creative and strategic work. By the end of the course, students will be equipped to navigate the rapidly changing landscape of software development and use AI chatbots in a way that maximizes benefits and efficiency while limiting harm as much as possible.
Available course formats
This course is available in multiple formats which allows you to take it in the way that best suits your needs.
- The material for this course can be viewed without login requirement on this Bookdown website. This format might be most appropriate for you if you rely on screen-reader technology.
- This course can be taken for free certification through Leanpub.
- This course can be taken on Coursera for certification here (but it is not available for free on Coursera).
- Our courses are open source, you can find the source material for this course on GitHub.
- The slides for the images in the course can be found here.
Suggested Activity Context
Course Audience
- Professionals looking to improve efficiency
- Students hoping to learn more about programming
- Anyone curious about how AI can be harnessed for technology
Note: Those completely new to programming will find using AI tools to create software solutions challenging at this time. It is helpful to have some fundamental knowledge to write appropriate prompts and to discern when code is not working as expected. We advise novices to seek expert review.
Course Prerequisites
- Some previous exposure to programming recommended.
Assessment Type
- Hands-on activities following each lesson.
Learning Objectives
Learners will be able to:
- Explain the basics of AI and its potential for improving software development workflows
- Implement strategies to write and debug code using AI-based tools
- Describe the benefits of refactoring code using AI-powered techniques, such as making code readable, keeping it brief, and optimizing code
- Apply best practices for annotating code using AI
- Recognize strategies for using AI-based tools to understand and analyze code, such as code comprehension of unfamiliar languages or functions
- Discuss the challenges and ethical implications of using AI for different aspects of programming