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 based on software engineering principles.
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 familiarises students with some of the software engineering concepts and best practices.
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 (e.g., 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 (e.g., classes, objects, inheritance, polymorphism, encapsulation or abstraction)
SQL and Databases Fundamentals (e.g., Introduction to SQL, Basic Queries, Joins, Database Design, ER diagrams, Implementing CRUD Operations in Python )
Software Engineering Fundamentals (e.g., Software Development Lifecycle (SDLC), requirement analysis, FURPS+, UML Diagrams or Git and Version Control)
Introduction to Python programming for data analysis (e.g., introduction to Data Science and machine learning libraries or introduction to CUDA programming)
Learning outcomes
By the end of the module, students should be able to:
- Synthesize the theories and concepts of software engineering and object-oriented programming, along with fundamental algorithms and data structures in Python
- Develop effective and independent software 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 develop and present software applications/solutions using Python and databases
- Critically evaluate software development lifecycle practices and design conceptual and practical solutions
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.
Solomon, F., Jayaram, P. & Saqqa, A. 2019, The SQL workshop: a new, interactive approach to learning SQL, Packt, Mumbai;Birmingham, England;
Sommerville, Ian. Software Engineering, Global Edition, Pearson Education, Limited, 2015. ProQuest Ebook Central
View reading list on Talis Aspire
International
Topics are of high international demand
Subject specific skills
Python programming skills; Software Engineering, Requirement Analysis, Database Design and SQL
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) | 30 sessions of 1 hour (20%) |
Private study | 30 hours (20%) |
Assessment | 60 hours (40%) |
Total | 150 hours |
Private study description
Combination of the following: -Independent learning materials and activities for programming or software development, -Reading list, book chapters and articles
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 | |
---|---|---|---|
Assessment component |
|||
Group Assessment | 30% | 18 hours | No |
In teams, participants implement a software project(using Python and database) and present their approach and solution. |
|||
Reassessment component |
|||
Individual Presentation with Group Reflection | Yes (extension) | ||
Implement a software solution(using Python and database) and and present their approach and solution in a recorded video. |
|||
Assessment component |
|||
Assignment | 70% | 42 hours | Yes (extension) |
Software development or Programming task(s) with a reflective report. |
|||
Reassessment component is the same |
Feedback on assessment
Verbal feedback for group assessment. Written feedback for assignment.
Courses
This module is Core for:
- Year 1 of TWMS-H60X MSc Applied Artificial Intelligence (Full Time)