Skip to main content Skip to navigation

WM9QF-15 Programming for Artificial Intelligence

Department
WMG
Level
Taught Postgraduate Level
Module leader
Amir Kayhani
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 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.
Peer Marking Process will be adopted in this assessment.

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)