The University of Sheffield
Department of Computer Science

COM1005 Machines and Intelligence

Summary This module provides an introduction to Artificial Intelligence, and to key concepts and problems in the field, such as whether a computer is capable of understanding, and whether humans should themselves be viewed as machines. It also provides a brief historical overview of the subject and reviews the state-of-the-art and open questions in some of the major sub-areas of AI, pointing out connections to research work in the Department. As well as providing a first encounter with the main issues that underlie attempts to create Artificial Intelligence, the module also has a more practical component that introduces algorithms and data structures for AI problem solving through practical programming examples, as well as hands-on experience with simple programming of robots. The emphasis here is on identifying the abstract nature of the problem which is to be solved, matching this to an appropriate algorithm or technique and implementing a solution. It also serves as an introduction to programming for research rather than for software engineering.
Session Academic Year 2023/24
Credits 20
Assessment
  • Blackboard quizzes
  • Group assignment
Lecturer(s) Prof. Rob Gaizauskas, Prof. Tony Prescott, Mr Alex Lucas, Ms Varvara Papazoglou & Prof. Heidi Christensen
Resources
Aims The aims of the module are
  • to provide students with the historical and cultural context of modern day research into artificial intelligence
  • to introduce the student to the AI research carried out in the Department.
  • to introduce a number of classic AI problem-solving algorithms and data structures
  • to develop an ability to select appropriate techniques to address particular problems.
  • to develop the technical knowledge necessary to implement AI problem solving
  • to provide experience of scientific programming as opposed to software engineering.
Learning Outcomes  By the end of the module the student should be able to:
  • Discuss the main issues involved in defining intelligence, including the similarities and differences between human and artificial intelligence.
  • Explain representative AI programs that are introduced in the module, including significant programs from the earlier stages of AI, and contemporary uses in robotics and machine vision.
  • Explore how AI is being used to create autonomous agents such as robots, including how data-driven and hypothesis-driven approaches are being applied in machine perception.
  • Select and implement appropriate AI techniques to address particular problems
  • Apply simple AI programs in a number of applications including robotics
Content

In this module you will explore the foundational questions in AI about the nature and possibility of artificial intelligence, provide a brief historical overview of the subject and review the state-of-the-art and open questions in some of the major sub-areas of AI. In addition, you will gain knowledge and experience of AI programming by implementing classic symbolic problem-solving paradigms. You will also gain experience of programming for scientific research in contrast with software engineering. 

You will use both physical and simulated robots, as well as an established code-base with implementations of core AI algorithms, as an introduction to programming for research. 

Teaching Method Lecture based with assessments and lab classes across the two semesters.
Feedback Semester 1: The group-based assignment will be marked using published criteria and returned within 3 (in semester) weeks of submission. Other feedback will be given during labs and in lectures
Semester 2: Feedback on labs during the sessions as well as in lectures. Assessments will be marked using published criteria and the submissions commented. They will be returned within 3 weeks of submission.