CS5914

Spring 2024

Steve Atkinson

CS5914: AI Tools for Software Delivery

Instructor: Steven Atkinson

Course Description

This course is specifically designed for master’s students who have an interest in gaining knowledge about Artificial Intelligence (AI) and Machine Learning (ML) and how they are utilized in software development.

The course covers various subjects related to using AI in software development. These include an introductory overview of AI and its applications, the use of large language models, and the practical applications of AI in areas such as recommendation engines, image classification and natural language processing. Our main emphasis will be on exploring how you can leverage generative AI to enhance the software development process, including generating code, reading and analysing code, as well as testing and documentation.

Course Objectives

This course provides an opportunity to become acquainted with the underlying technology and APIs used to access AI engines. It also offers insights into the influence of AI features on software development.

At the end of the course, you will have built a tool to store and organize prompts for AI engines, populated with a collection of prompts demonstrating software development principles.

Upon completion of the course, students should be able to do the following:

  1. Discuss the history of and differences between AI, machine learning and data science.
  2. Identify key features of AI and ML technologies such as supervised and unsupervised learning, generative text-based large-language models and know when to apply these technologies.
  3. Discuss ethical and social issues related to adoption of AI tools in software development.