Skip to main content Skip to navigation

WM9QF-15 Programming for Artificial Intelligence

Department
WMG
Level
Taught Postgraduate Level
Module leader
Awinder Kaur
Credit value
15
Module duration
4 weeks
Assessment
100% coursework
Study location
University of Warwick main campus, Coventry

Introductory description

This module is designed to equip students with practical programming skills for Artificial Intelligence applications. This module provides a strong foundation in Python programming, object-oriented programming, fundamental algorithms, and data structures and a practical understanding of SQL databases. The module emphasises hands-on programming in a high-level object-oriented language and equips students with the required skills to develop, implement, and present programming solutions using single-board computers (e.g., Raspberry Pi), along with sensors and databases.

Module aims

This module aims to provide students with comprehensive programming skills specifically for artificial intelligence applications. It focuses on building a solid foundation in Python programming, core algorithms, and data structures and a practical understanding of SQL databases. The module is designed to enhance students' abilities to develop and implement effective programming solutions, emphasising hands-on experience with Python programming languages. Additionally, it prepares students to creatively utilise single-board computers in conjunction with sensors and databases, to design, execute, and present sophisticated software applications.

Outline syllabus

This is an indicative module outline only to give an indication of the sort of topics that may be covered. Actual sessions held may differ.

Fundamentals of Programming in Python: data types, data structures (e.g. array, stack, queue), some fundamental algorithms (e.g. sorting algorithms), loops, conditions, arithmetic operations, exception handling, functions, file operations, etc.

Core concepts of Object-Oriented programming: Classes, objects, inheritance, polymorphism, encapsulation, abstraction.

SQL and Databases Fundamentals: Introduction to SQL, Basic Queries, Joins, Database Design, Implementing CRUD Operations in Python

Single-Board Computing and Sensor Integration: Introduction to Raspberry Pi and its Ecosystem, Interfacing Sensors with Raspberry Pi, Reading and Processing Sensor Data

Introduction to machine learning libraries

Learning outcomes

By the end of the module, students should be able to:

  • Synthesize the theories and concepts of object-oriented programming, along with fundamental algorithms and data structures in Python
  • Develop effective and independent solutions in the Python programming language at an intermediate level
  • Develop a practical understanding of SQL language and databases and implement computer programs to store and retrieve data from a database for a practical application.
  • Collaboratively design, implement and present software applications/solutions using a Single-board Computer, sensors and database.
  • Apply problem-solving skills and interdisciplinary knowledge to develop an innovative solution using a Raspberry Pi and the Python programming language.

Indicative reading list

Matthes, E. 2023, Python crash course: a hands-on, project-based introduction to programming, 3rd edn, No Starch Press, San Francisco, CA.

Cox, T. & Fernandes, S.L. 2018, Raspberry Pi 3 cookbook for Python programmers: unleash the potential of Raspberry Pi 3 with over 100 recipes, Third edn, Packt, Birmingham.

Solomon, F., Jayaram, P. & Saqqa, A. 2019, The SQL workshop: a new, interactive approach to learning SQL, Packt, Mumbai;Birmingham, England;.

International

Topics are of high international demand

Subject specific skills

Programming skills

Transferable skills

Technology literacy, teamwork, logical and algorithmic thinking

Study time

Type Required
Lectures 10 sessions of 1 hour (7%)
Seminars 10 sessions of 1 hour (7%)
Practical classes 10 sessions of 1 hour (7%)
Online learning (independent) 60 sessions of 1 hour (40%)
Assessment 60 hours (40%)
Total 150 hours

Private study description

No private study requirements defined for this module.

Costs

No further costs have been identified for this module.

You must pass all assessment components to pass the module.

Assessment group A
Weighting Study time Eligible for self-certification
Group Assessment 30% 18 hours No

In teams, participants create an applied solution using Raspberry Pi and Python programming language.

Peer Marking Process will be adopted in this assessment.

Assignment 70% 42 hours Yes (extension)

A programming application with a reflective report outlining motivation and solution.

Feedback on assessment

Verbal feedback for group assessment. Written feedback for assignment.

There is currently no information about the courses for which this module is core or optional.