Back to Modules
SE201

AI-Driven Software Engineering

1 CreditsBoth

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

Upon completion of the course, students will be able to: Understand and explain the core concepts of Gen AI: embeddings, architectures, training, and inference used by large language models (LLMs). Analyse the capabilities and limitations of Gen AI technologies across domains. Use Gen AI as a tool to efficiently and responsibly engineer software, from eliciting user requirements to drafting design documents, code generation, maintenance, and optimization. Integrate Gen AI as part of the DevSecOps pipeline, including automated code review and documentation, unit test generation, and security auditing. Design, develop, and evaluate AI solutions using techniques such as retrieval-augmented generation (RAG) and prompt engineering. Implement generative AI workflows using contemporary tools and platforms, open-source frameworks, and APIs, such as HuggingFace, OpenAI, and Google Vertex. Design, develop, and evaluate Gen AI solutions that work efficiently with practical data centre architectures. Identify ethical challenges associated with Gen AI and develop strategies to mitigate risks in real-world applications.

Graduate Learning Outcomes

Disciplinary knowledge, Ethics and social responsibility

Competencies

Applications Development, Design algorithmic logic for web application interactions, Software development for web applications