PRAISE - Professional Master in AI and Software Engineering

The core focus of the PRAISE program is software engineering (SE), encompassing the ideation, development, commissioning, evolution, and maintenance of software-intensive products and services (SIPS). SIPS is not merely “software”. Rather, every domain and area (telecom, automotive, defence, health, farming, to mention a few) either offers products that contain software, or their products/services are enabled by software. Hence, SIPS and software engineering as such is critical for companies and the public sector in two main ways. First, the products and services offered must be effective (good/competitive). Second, the SIPS must be developed/maintained/evolved in an as efficient manner as possible (fast, high quality, costeffective). Therefore, as software now underpins products, services, operations, and innovation as indispensably as electricity, excellence in software engineering profoundly impacts nearly every organization in every industrial sector.

PRAISE responds to a fundamental transformation in software engineering driven by the advent of AI in the contexts of AI for Software Engineering (AI4SE) and Software Engineering for AI (SE4AI). In principle, AI4SE denotes how AI can be used to improve the effectiveness and efficiency in the engineering of SIPS. SE4AI, in turn, denotes what software engineering principles and practices need to be in place to engineer software that contains “AI components” and how this changes the main and sub-process areas of the engineering discipline. Although SE4AI and AI4SE are different perspectives, they are complementary by nature.

Under PRAISE, we culminate research expertise and experiences in both areas required to develop “AI-enabled Software Engineering” as a basis for substantial competence enhancement for professionals. PRAISE constitutes the main educational effort of this change, backed up by current and future research efforts.

The PRAISE program will yield ten completely new courses, co-developed with industrial partners, to ensure the delivery of cutting-edge, research-based content.

Course Catalogue

Applied AI for Software Engineering 6 credits

This course provides software engineers with the skills and knowledge to effectively leverage cutting-edge AI tools, including generative AI, in their engineering workflows and to seamlessly integrate these technologies into software-intensive products and systems. Participants will gain a comprehensive understanding of AI fundamentals, enabling them to evaluate, compare, and select the most appropriate AI solutions for specific challenges. Through a blend of theoretical foundations and hands-on practical applications, the course immerses participants in the use of generative AI, ensuring they are equipped to navigate and innovate within the AI-driven landscape of modern software development.

Module 1 – Introduction to AI and Generative AI

An overview of AI and GenAI history, key terminology, and demystify LLMs as functional systems rather than “magic boxes.” It also compares closed vs. open-source models and explores local vs. cloud hosting options.

Module 2  – How to choose the right AI tool for an SE task

A summary of AI tools suitable for specific software engineering (SE) tasks, addressing challenges, opportunities, and regulations. It covers privacy, financial implications, hardware requirements, and associated constraints and concerns.

Module 3 – How to use it correctly

Guidance on managing hallucinations in AI models, with example workflows for practical implementation, and an exploration of concept drift—how models adapt to changes in data over time.

Module 4 – Hands-on Session: Using GenAI4SE

Engage students in a live, interactive session where students collaboratively brainstorm and build a small app using GenAI. Incorporate one or two additional features to extend functionality, and address development challenges in real-time. The session emphasizes hands-on coding, problem-solving, and tackling obstacles during the software engineering process using GenAI.

 Module 5 – Integration of AI tools in Production Systems

Learn how to select the right GenAI tool for your specific use case and integrate it into a project or service, such as implementing a chatbot on a website.

Module 6 – Keeping up with Future AI Development

How to stay informed about the evolution of AI4SE and SE4AI, identifying relevant and up-to-date sources of information on new models and approaches. “Future-proofing” your career.

Course team: Martin Boldt, Anton Borg, Niklas Lavesson, Nauman Bin Ali

This course introduce requirements engineering and product management, but with focus on both the utilization of “AI” – in order to elicit, analyze, specify, and manage requirements – as well as product management tasks involved with product planning and evolution decisions over time. In addition, the course goes through what implications AI-intensive products and services will have on the product management requirements engineering work.

Module 1 – Introduction

Introduction of requirements engineering (RE) and product management (PM) (agile/lean based, IREB, ISPMA).

Module 2 – Introduction to AI in RE/PM Context

Introduction to GenAI, weaknesses, benefits, potential, quality assurance, practical use-cases with RE/PM. Tools, AI interfaces and different models.

Module 3 – Elicitation and Documentation

Introduction of  documentation standards  for requirements and exploration how GenAI can be used to generate requirements from e.g. regulatory documents or stakeholder interviews

Module 4 – Analysis – Negotiation

Analyse e.g. competitor systems or legacy systems to enable requirement gap identification, also supported by GenAI. Conduct impact analyses and gap analysis with respect to regulations and standards utilising GenAI. Use GenAI to review requirements, e.g. non-functional quality requirements to guide their refinement to  testable metrics. Explore the use of AI to automatically generate test cases out of requirements.

Module 5 – Requirements Management

Effectively manage evolution and control of requirements over time as product development and system evolve.

Module 6 –

Impact on AI-intensive Products and Services

Detailing on new aspects that need to be taken into consideration given that a product/service contains “AI” components. We will elaborate on a perspective-based specification of requirements for AI-intensive products and services (e.g. data needs). and conclude also with compliance and ethical considerations.

Course Team: Daniel Mendez, Julian Frattini, Tony Gorschek

 

 

Software architecture (SA) enables solution architects to design complex software systems to meet evolving business and technical needs while delivering scalable and maintainable systems. Increased demand for integrating AI-enabled components and systems poses unique challenges, requiring additional knowledge and skills.

In this course, students will learn the fundamentals of SA, use AI-enabled tools to perform architecture design activities, and apply traditional and emerging SA design techniques to integrate large-scale, compute-intensive AI components in complex software systems.

Module 1 – Fundamentals of Software Architecture (SA)

Module covers the fundamentals of Software Architecture (SA), including identifying architectural requirements, designing software architectures, documenting and evaluating them.

Module 2 – Introduction to applying AI in SA

Module introduces AI, exploring its strengths and limitations, and potential quality assurance challenges in its application to Software Architecture (SA). Discussion includes practical use cases of generative AI tools and models in SA context.

Module 3 – Architectural requirements with AI

Module focuses on using Generative AI (GenAI) to identify architectural drivers, such as quality attributes and primary functionality. It will include GenAI-based exercises to elicit, analyze, prioritize, and establish architectural drivers for a system.

Module 4 – Designing Software architecture with AI

Module explores use of AI in designing architectures and the application of AI tools for i.e. selecting design patterns and tactics based on system requirements to ensure alignment with architectural goals.

Module 5 – Architectural evaluation with AI

Module focuses on AI-enabled trade-off analysis for evaluating software architectures and their fitness for purpose. It will explore how AI can assist in assessing architectural design decisions to ensure alignment with quality requirements.

Module 6 – Architecture of AI-intensive SIPS

Module covers the application of traditional and AI-centric architectural patterns, standards, and tactics to design modifiable, reliable, efficient, and scalable AI-intensive systems supporting continual learning.

This course discuss the contribution of AI tools in object-oriented design and modeling through a combination of a theoretical foundation and practical exercises. Grounded in fundamental principles of object-oriented design, the course explores how AI tools can be used to generate software designs or improve existing designs. With AI tools, the dream of round trip engineering, from requirement  via design  to code, and back again, comes one step closer.   A particular focus will be on both the utilization of “AI” to build and validate models, e.g. on the basis of natural language requirements, as well as design practices for AI-intensive products and services.

Module 1 – Introduction

Introduction of object-oriented design and software modeling. Case Studies on how AI has been used for design, and its benefits and limitations, with a focus on responsible application of AI in the software development life cycle.

Module 2 – AI for requirements analysis and design generation

AI-based approaches, such as Natural Language Processing, for transforming requirements into object-oriented designs and analyzing requirements to identify inconsistencies, ambiguities, or missing details.

Module 3 – Design Principles and Design Patterns

Fundamental design principles, such as low coupling, high cohesion, Don’t Repeat, Yourself, etc. Design Patterns such as Strategy, Factory, Observer, etc. in order to recognize the limitations of AI generated designs.

Module 4 – AI for Optimization and Refactoring

Using AI for identifying fundamental design principles and design patterns in an existing design and/or code and improve them according to SOLID, DRY, and KISS principles.

Module 5 – Round Trip Engineering

Effectively manage the continuous evolution and changes to the system over time. Aligning/synchronize the initial design documents and models with the actual state of the system.

Module 6 – Implications on and for AI-intensive Modelling and Design

Principles and challenges when interfacing with and integrating AI components in a software system, where e.g., output may be non-deterministic. This includes ethical considerations with respect to AI generated contents as well as conformance and compliance considerations.

Course Team: Mikael Svahnberg, Andreas Baur, Liang Yu

 

 

This course teaches students to leverage AI/LLMs to enhance programming productivity and problem-solving. It covers using AI tools for generating code, debugging, documentation, and learning new programming concepts while emphasizing critical thinking and ethical use. Students will gain practical skills to integrate AI/LLMs into modern software development workflows. By the end, they will confidently use AI/LLMs as effective tools for learning and creating software solutions.

Module 1 – Introduction

Identify use cases for AI/LLM assisted programming. Understand the capabilities and limitations of AI/LLMs in programming tasks. Get an overview of existing tools and assistants for specific tasks.

Module 2 – Problem solving with AI/LLMs

Use AI/LLMs to improve developers’ domain understanding. Learn how to break down complex requirements or complement incomplete requirements. Find entry points for code changes and get algorithm suggestions.

Module 3 –

Write code with AI/LLMs

Write effective prompts to generate quality code (software and testware). How to judge the quality of generated code. How to mitigate risks of over-reliance on generated material. 

Module 4 –

Read and understand generated code

Teach strategies to quickly grasp code to understand its functionality and adapt it to the requirements.

Module 5 – Documentation with AI/LLMs

Judge readability and correctness of comments, documentation, tutorials and instructions generated by AI/LLMs.

Module 6 –

Learning new programming concepts

Efficiently and effectively gain new knowledge related to programming paradigms, development environments and frameworks, programming languages. Know how to ask the right questions to acquire new knowledge about new topics.

 

This course introduce testing of software intensive software and services (SIPS) that contain AI (Testing4AI) as well as testing SIPS with AI-driven tools (AI4Testing). The course will give a theoretical framework for the challenges, solutions and ways-of-working with GenAI testing but also practical experiences of methods, practices and tools that can be applied for/with testing of SIPS.

This course is primarily aimed towards Testers and Quality Managers/Engineers.

Module 1 – Introduction to GenAI in Testing 

Introduction to key concepts of traditional quality assurance, emphasizing the challenges and differences required for quality assurance  with GenAI or of systems with GenAI and its concurrent capabilities.

Module 2 – Theory of Testing SIPS with GenAI

Introduction to the core concepts required to test software with GenAI components, including quality assurance, manual and automated testing and quality metrics.

Module 3 – Practice of Testing SIPS with GenAI

Practical demonstration and exercises in the use of methods, practices and tools for testing SIPS that contain generative AI.

Module 4 – Theory of GenAI-driven Testing

Introduction to the core concepts of GenAI-driven testing, including methods, practices, and tools that are available for traditional testing as well as SIPS with GenAI. This includes how to reason, measure and assure quality and compliance to key standards (e.g. EU AI ACT).

Module 5 – Practice of GenAI-driven Testing

Practical demonstration and exercises in the use of methods practices and tools that contain Generative AI, from unit testing to system testing on a Graphical user level of abstraction.

Module 6 – Impact on GenAI on SIPS

Detailing on new aspects of testing and quality assurance of software systems that need to be taken into consideration given that a product/service contains “AI” components. We will elaborate on current and future strengths, weaknesses, threats and opportunities of testing SIPS that contain  GenAI, and testing with GenAI of SIPS.

As Generative AI (GenAI), such as Large Language Models (LLMs), integrate deeply into modern software applications, securing these systems becomes critical. This course equips developers, engineers, and security professionals with the knowledge to identify, mitigate, and manage risks specific to LLM-based applications. Specifically focusing on threat modeling and security testing, participants will learn to navigate challenges such as data poisoning, prompt injections, and emerging risks outlined in frameworks like OWASP Top 10 for LLMs and MITRE ATLAS.

Module 1 – Introduction

This module introduces foundational concepts in AI security, emphasizing the unique risks posed by Generative AI and LLMs in modern applications. It covers the evolution of AI threats and their implications for privacy and system integrity.

  1. Why is security important in the context of SE?

      Examples of attacks on GenAI-powered applications.

  1. Overview of Generative AI and LLM integration in software

  3.Security challenges unique to LLMs and GenAI

Module 2 – Threat landscape and models

Focus on LLM-specific threats represented in OWASP Top10 LLM, MITRE ATLAS frameworks.

Module 3 – Threat Modeling

Dive into threat modeling specific to LLMs using frameworks like MITRE ATLAS and real-world scenarios.

  1. Introduction to threat modeling concepts
  2. Mapping threats with OWASP and MITRE ATLAS
  3. Case studies on LLM01 (Prompt Injection) and LLM02 (Sensitive Information Disclosure)
  4. Threat modeling exercises for LLM-based architectures

Module 4 – Security Testing

Hands-on guidance on testing LLMs for vulnerabilities and implementing secure development practices.

  1. Security testing methodologies for AI systems
  2. Adversarial testing and red-teaming techniques
  3. Tools and techniques for detecting vulnerabilities
  4. Exercises on identifying and mitigating issues like prompt injections and output manipulation

Module 5 – Incident Response and Maintenance

How to maintain GenAI-powered applications and perform monitoring and incident response.

Course Team: Alex Adamov, Michel Nass, Feliz Jedrzejewski

This course explores how AI transforms software maintenance and evolution, combining AI for Software Engineering (AI4SE) and Software Engineering for AI-intensive Systems (SE4AI). It covers AI-driven tools for automating maintenance tasks, managing evolving AI components, and addressing challenges like model drift and dependency management. Participants will also learn AI-augmented strategies for project management and testing, preparing them to navigate the complexities of modern, AI-enhanced software systems.

Module 1 – Introduction to software maintenance with/for AI

– Introduction to maintenance for and with AI

– Maintenance categories (corrective, adaptive, perfective, preventive)

– Integration of AI4SE and SE4AI concepts in modern maintenance practices

Module 2 – AI-Driven Maintenance Tools and Techniques

– AI- driven program comprehension and analysis

– Automated detection of code smells, anti-patterns, and design flaws

– Code refactoring with LLMs

Module 3 – Integrating AI and Traditional Maintenance Practices

– Harmonizing updates to AI and non-AI components.

– Dependency analysis between AI models and traditional code.

– Strategies for managing technical debt in AI-enhanced systems

Module 4 –

Proactive and Scalable Maintenance Strategies

– Predictive maintenance using AI to identify future system needs.

– Scalable management of evolving software and AI components.

– Developing robust and reliable maintenance strategies for complex systems.

Module 5 –

Evolution and Maintenance of AI Systems

– Continuous monitoring of model performance, detecting data or concept drift, and maintaining data quality through regular evaluation and updates.

– Implement scalable, secure, and automated pipelines for retraining, deployment, and system integration while ensuring low latency and fault tolerance

Module 6 –

AI-Augmented Project Management and Testing

– AI for project planning, maintenance prediction, and resource estimation.

– AI-driven testing techniques, including test case generation and prioritization

This course prepares managers and engineers to address ethical, legal, and compliance challenges arising in the development of AI-intensive software products and services. Participants will explore regulatory frameworks, ethical principles, and best practices for ensuring fairness, accountability, and transparency in AI systems. Through theoretical insights and practical case studies, learners will develop strategies to navigate the evolving landscape of AI regulation and responsibility.

Module 1 -Laws and Regulations

An introduction to key legal frameworks such as GDPR and the EU AI Act. Participants will learn about risk levels defined in the EU AI Act, methods for applying regulations, and the implications of transparency requirements on global competitiveness.

Module 2 -Ensuring Ethical AI In Models and Data

This module deals with data quality and bias mitigation in AI training data. It explores strategies for identifying and addressing ethical issues, such as bias, fairness, and representativeness, throughout the AI model lifecycle.

Module 3 -Compliance in the Software Development Lifecycle

Focuses on integrating compliance checks into software development. Topics include lifecycle management of AI models, data lineage tracking, auditing decision-making processes, and implementing traceability systems to ensure adherence to regulations.

Module 4 – Operation and Monitoring for AI Compliance

Examines operational challenges such as preventing unauthorized data access, detecting sensitive data leaks, and ensuring secure usage of AI systems. Participants will explore tools and practices for monitoring compliance in deployed AI systems.

Module 5 -Leveraging AI for Compliance Management

Explores the potential of AI tools, including large language models (LLMs), to support compliance. Topics include automating documentation, monitoring development processes for regulatory violations, and interpreting new legal standards to forecast compliance risks.

Module 6 – Case Studies and Practical Applications

Learners will analyze real-world scenarios to apply ethical and compliance principles. This module emphasizes balancing ethical obligations, legal constraints, and business goals in AI-intensive software systems.

Use of AI-tools  to support more efficient and effective software development processes. An example of processes are Agile, Lean,  CI/CD or DevOps. AI can be utilized as a process analytics engineer to suggest SPI improvement areas. Organizations can decide if suggested improvement should be automated (executed by AI) or performed by humans.  AI can also be applied to support more efficient project management and team composition. 

Module 1 – Introduction

The course focuses on utilizing AI technologies to analyze and improve continuous software development processes, software project management and team composition.

Module 2 – Using AI for SPI

Use of AI-tools for identifying SPI areas and how current SPI methods (SPICE, iFLAP, CMMI, SAFe)  can be enriched with the help of AI.

Module 3 – Using AI to support  team level processes

Introduction of  how AI can be used to improve team level processes. For example, the use of AI in inform planning processes or backlog management.

Module 4 – Using AI to support organization level processes

AI-enabled methods for team composition leads to better execution of software processes and methodologies. This includes identifying what responsibilities can be outsourced to AI and how humans and AI synchronize in the processes. AI-enabled organizational knowledge analysis  use AI to generate knowledge maps for a given software engineering organization to identify the needs for complementary human capital (e.g., hiring new experts in the area that are emerging).

Module 5 – AI-enabled project management processes

Use of AI tools for project management, including risk management, task dependencies, effort estimation and project burndown charts. AI enables automated comparing with previous projects within the organization.

Module 6 -Managing AI components in software development processes

Integrating ML components into software development processes requires AI-specific practices, e.g. MLOps. For example, in the CI/CD pipeline, there is an AI component that needs to be retrained or fine tuned depending on the changing data or environment.