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.

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.

For individuals who: develop software or want to start, are interested in using large language model AI tools to help you with your work, want to use AI tools responsibly

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

Concepts discussed in the Ai for Software Development course: Introduction to large language AI tools, ethics of AI tool use for software development, using AI tools to write code from scratch, using AI tools to refactor code, Using AI to annotate code, and Using AI to understand unfamiliar code