Introduction to Modern Artificial Intelligence

In 2022, OpenAI's ChatGPT and DALL-E captivated the world with the capabilities of so-called "generative artificial intelligence," or "generative AI." When prompted with simple text, AI-powered "chatbots" can now draft essays, summarize research, generate striking imagery and video, and even author and debug code. AI methods are being used to improve quality of life by discovering new drugs for treating disease, but they're also raising questions about the ongoing value of human-driven knowledge work.

AI is used everywhere in our modern tech-rich lives. According to some definitions of AI, even the seemingly simple routine that identifies QR codes with your phone's camera is a form of perceptual AI. And Neflix autmoatically recommends shows just as a (human) friend might have.

But what distinguishes AI from automation or other forms of computation? What kinds of AI are there? Are they all actually useful or mere toys? Should we think of AI methods as tools (implements married to an interaction model) or something more assistive or collaborative? For spatial-minded computational designers, particular aspects of AI are interesting and useful, and other methods serve as representation or novelties.

In addition, concerns around the ethics and governance of AI are evolving as rapidly as the technology. Bias inherent to the Internet, and perhaps inherent to the human condition, pervade AI systems as by default, ML reflects back to us patterns of behavior, good and bad. Governments and communities struggle with how to protect the rights of people, whether that is to continue to benefit from their work (e.g. copyright and creatives) or to be protected from abuse (e.g. deepfakes and disinformation). Concerns around the ownership of AI "models" to a few particular companies raises concerns about corporate misuse and incentives, and so open models are gaining traction and investment from independent developer communities.

This course introduces the state of modern AI concepts, methods, tools, and implementations. It takes the following positions:

  1. Learning how AI really works will help us better use it and ascertain its true capabilities and potential, versus relying on popular opinion or hype.
  2. Learning the history of AI will help us understand why AI is the way it is, and maybe it will help us speculate on where it should go for computational design.
  3. Reviewing code-based methods alongside platform-based ones will ensure we have a full understanding of AI's methods as a medium.
  4. Acknowledging that AI is still rapidly evolving means we haven't seen all that AI can do yet, but we should be aware of and account for its shortcomings before deploying these systems in the real world. I.e. This is a realistic course with a touch of optimism.

It’s worth noting that the world of artificial intelligence is huge; every day, engineers and researchers add to its over 80-year-long history. Thus, this course does not intend to provide a deep-dive into all of artificial intelligence, but serve as a high-level guide to the aforementioned concepts, methods, tools, and implementations, with sets of edited exercises and links to relevant and canonical books, papers, and references.

Sequences and Modules

Most of these modules and exercises are written in JavaScript, even though one could argue the most notable implementations of machine learning and AI use Python. Most of these tutorials can be easily written in Python, however, except for those exercises built specifically for web browsers.

Introduction to Modern AI

  1. What is artificial intelligence?
  2. How does AI work?
  3. Machine Learning with Teachable Machine
  4. Neural Networks
  5. Major AI Platforms and Tools
  6. History of AI
  7. Notable Industry Players
  8. AI Ethics and Governance

AI for Language and Text

  1. Text generation with LLMs
  2. LLM Chat
  3. Code Generation with LLMs
  4. Function calling with LLMs

AI for Vision and Imagery

  1. Computer Vision with MediaPipe
  2. Computer Vision with Hugging Face
  3. Image Generation
[]