Motivation and Overview

We live in challenging times, and increasingly AI is being used to address these challenges, even as it contributes to societal problems as well. AI is being used, for example, to effectively address problems of environmental, economic, and societal sustainability. In contrast, poorly fitted AIs are contributing to inequities in areas such as law enforcement and human resource management. AI is a critical technology, with significant impact on our lives.

One criterion for the course project is that it have potential societal and ethical implications that can be explored as part of class.

Catalog Description

CS 4269. Project in Artificial Intelligence. [Formerly CS 269] Students
work in small groups on the specification, design, implementation,
and testing of a sizeable AI software project. Projects (e.g., an
“intelligent” game player) require that students address a variety of AI
subject areas, notably heuristic search, uncertain reasoning, planning,
knowledge representation, and learning. Class discussion highlights
student progress, elaborates topics under investigation, and identifies
other relevant topics (e.g., vision) that the project does not explore in
depth. Prerequisite: CS 4260. SPRING. [3]

Consistent with the catalog description and other curriculum requirements (see below), this course requires that teams design, implement, and evaluate a systems-level project that integrates multiple AI functionalities from an ill-defined specification, and that the project points to societal implications. More particularly, small groups will flesh out a specification for a social simulation of virtual nations that have virtual resources and incentives to cooperate and compete. These same small teams will design and implement an AI that carries out the simulation. Teams will evaluate their implementations along dimensions that they deem important — this choice of evaluation criteria and methodology is itself part of the specification too.

The  teams will also interact in a loosely collaborative manner, with teams being able to hear and adapt the spec, design, implementation, and evaluation choices of other teams. There will also be individual quizzes that will take material from in-class presentations and discussions, Piazza posts, and from occasional required readings. During the first half of the semester teams will work on a somewhat well specified AI system that explores various virtual world trajectories and possible futures, but with certain factors and world-health metrics left to be defined and evaluated by individual teams. In the second half of the semester, teams will expand their systems in directions more to their choosing (learning, game play, modeling war, uncertain reasoning, etc).

There are other sources that reinforce the needed aspects of the course project, notably ABET criteria and the IEEE Code of Conduct.

Criteria for Accrediting Computing Programs, 2019 – 2020

Student Outcomes

Graduates of the program will have an ability to:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions. [CS]

CS 4269 should significantly contribute to all of these student outcomes.

Curriculum requirements

The curriculum requirements specify topics, but do not prescribe specific courses. CS4269 formally and uniquely satisfies requirement 8, but contributes to the satisfaction of some of the other curricular requirements (1,4, 5, 7), though I have highlighted number 3 as of particular interest and importance.

These requirements are:

  1. Techniques, skills, and tools necessary for computing practice.
  2. Principles and practices for secure computing.
  3. Local and global impacts of computing solutions on individuals, organizations, and society.
  4. Substantial coverage of algorithms and complexity, computer science theory, concepts of programming languages, and software development.
  5. Substantial coverage of at least one general-purpose programming language.
  6. Exposure to computer architecture and organization, information management, networking and communication, operating systems, and parallel and distributed
  7. The study of computing-based systems at varying levels of abstraction.
  8. A major project that requires integration and application of knowledge and skills acquired in earlier course work

Importantly, the earlier course work reference above will obviously include earlier AI and computer science course work, but the fact that we will be addressing societal implications suggests that you use knowledge obtained in other fields as well, such as economics, history, and social and behavioral sciences.

We will practice various tenets of the IEEE Code of Conduct as well, mainly through the collaborative work processes of the course. All the tenets are relevant, with three called out as especially relevant.

IEEE Code of Conduct

1. to accept responsibility in making engineering decisions consistent with the safety, health and welfare of the public, and to disclose promptly factors that might endanger the public or the environment;

2. to avoid real or perceived conflicts of interest whenever possible, and to disclose them to affected parties when they do exist;

3. to be honest and realistic in stating claims or estimates based on available data;

4. to reject bribery in all its forms;

5. to improve the understanding of technology, its appropriate application, and potential consequences;

6. to maintain and improve our technical competence and to undertake technological tasks for others only if qualified by training or experience, or after full disclosure of pertinent limitations;

7. to seek, accept, and offer honest criticism of technical work, to acknowledge and correct errors, and to credit properly the contributions of others;

8. to treat fairly all persons regardless of such factors as race, religion, gender, disability, age, or national origin;

9. to avoid injuring others, their property, reputation, or employment by false or malicious action;

10. to assist colleagues and co-workers in their professional development and support them in following this code of ethics.

http://www.ieee.org