AI-Driven Software Engineering
Description
This course on Generative AI will provide software engineering students with a deep yet accessible understanding of how large language models (LLMs) work, their applications, and how to use them as a tool to design and deploy software efficiently. No prior knowledge of linear algebra, calculus, or machine learning is required.The first part of the course focuses on the foundations of LLMs, covering embeddings, transformer architectures, attention mechanisms, training and inference dynamics, and model behaviour. We will discuss retrieval-augmented generation (RAG) and advanced LLM architectures, as well as the associated use cases that students are likely to encounter in practice.The second part of the course focuses on the responsible use of LLMs as a tool for software engineering. We will investigate the use of AI in eliciting user requirements, generating design documents, and code generation. As part of the DevSecOps pipeline, we will explore how AI can automate documentation tasks, code reviews, unit and integration testing, security auditing, risk assessment, and threat monitoring. Finally, we will investigate autonomous coding agents for code maintenance and optimization. Case studies, practical exercises, and an emphasis on responsible and ethical use of AI accompany these topics.Throughout the course, students will learn the practical impact of cluster and GPU architectures on the design of efficient systems. Students will explore both cloud and self-managed environments, containerization, and modern development tools and frameworks like Triton, TensorFlow, and PyTorch, along with APIs for pre-trained models from various sources.With a mix of theory, hands-on labs, and projects, students will leave the course equipped to critically evaluate and effectively use Gen AI as both a tool and a product of software engineering.
Requisites
Prerequisites: Pre-req: IS111/COR-IS1704/CS101
Co-requisites: None
Anti-requisites: Mutually Exclusive to IS469
Attributes
Department: SCIS
Course Level: Undergraduate
Tracks: IS/T4BS: Business Analytics Track IS/T4BS: Product Development Track
Areas: Data Science and Analytics Electives Digital Business Electives IT Solution Development Electives
Learning Outcomes
Graduate Learning Outcomes
Disciplinary knowledge, Ethics and social responsibility
Competencies
Applications Development, Design algorithmic logic for web application interactions, Software development for web applications