WM9QF-15 Programming for Artificial Intelligence
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.