A Gentle Introduction to Computer Science for Artificial Intelligence

by

David Nader P.

2023

Main Concepts in CS: Algorithms, Machines, and Systems

Milestones in Computer Science

Active (inter-disciplinary) fields

Artificial Intelligence

Computer Science Influencers

Main Concepts in CS: Machines, Systems, and Algorithms

Main Concepts in CS

Etymology: Computer -> Computation -> Counting

Ref: https://en.wikipedia.org/wiki/Abacus#/media/File:Boulier1.JPG

Abacus: 2700–2300 BCE in Sumer

Quipu: First Millenium CE in the Andes

Main Concepts in CS

Computer Science is:

  • theory
  • engineering
  • experimentation

of Machines! 

Main Concepts in CS

1) Machine: Enabling computations 

Ref: https://en.wikipedia.org/wiki/Turing_machine_gallery#/media/File:Turing_machine_1.JPG

Main Concepts in CS

2) System: components and subcomponents interacting each other for a goal

Main Concepts in CS

Computer Science is:

  • theory
  • engineering
  • experimentation

of Machines! 

Main Concepts in CS

3) Algorithm: Muhammad ibn Musa al-Khwarizmi

What should I do to withdraw money from an ATM?

  1. Look for an ATM
  2. Identify the card input
  3. ...
  4. ...
    1. 1 Select the amount...

Main Concepts in CS

Computer Science Influencers

Computer Science Influencers

Ada Lovelace and Charles Babbage

Analytical Engine - 1810s

Bernulli Numbers Program - 1840s

Can Machines Think?

A.M Turing - 1950

Computer Science Influencers

Alan Turing

  • Cryptoanalysis
  • Computational Biology
  • Turing Test
  • Artificial Machines 

Computer Science Influencers

Konrad Zuse and Akira Nakashima (switching circuit theory)

Zuse-z3: First Fully Automatic Digital Computer (1949)

Computer Science Influencers

John von Neumann and the von Neumann architecture

  • Game Theory
  • Set theory
  • Lattice Theory
  • Math formulation of Quantum Mechanics
  • Entropy
  • Mathematical Economics
  • Fluid Dynamics
  • Cellular Automaton, DNA and Universal Constructor

Computer Science Influencers

Computer Science Influencers

Computer Science Influencers

"Programming a Computer for Playing Chess" -Shannon

50

"Computing Machinary and Intelligence" -Turing

55

"Artificial Intelligence" workshop -McCarthy

"Logic Theorist" first AI program -Newell, Simon, & Shaw

59

"Machine Learning"-Samuel

84

97

09

11

17

18

Computer Science Influencers

"Programming a Computer for Playing Chess" -Shannon

50

"Computing Machinary and Intelligence" -Turing

55

"Artificial Intelligence" workshop -McCarthy

"Logic Theorist" first AI program -Newell, Simon, & Shaw

59

"Machine Learning"-Samuel

65

-Weizenbaum

84

"AI winter"-Shanck & Minsky

DeepBlue vs Kasparov

97

09

11

17

18

Computer Science Influencers

"Programming a Computer for Playing Chess" -Shannon

50

"Computing Machinary and Intelligence" -Turing

55

"Artificial Intelligence" workshop -McCarthy

"Logic Theorist" first AI program -Newell, Simon, & Shaw

59

"Machine Learning"-Samuel

65

-Weizenbaum

84

"AI winter"-Shanck & Minsky

DeepBlue vs Kasparov

97

09

Driverless Car by Google

11

Virtual Assistant -Siri by Apple

17

AlphaGo by

DeepMind

Dialog Agents (learning how to negotiate)

18

Turing Award to Deep Learning work

Computer Science Influencers

ACM Turing Award 2018: For conceptual and engineering breakthroughs that have made deep neural networks a critical component of computing

Yoshua Bengio

Geoffrey Hinton

Yann LeCun

Computer Science Influencers

50

17

18

19

20

21

22

Generative Pre-trained Transformer (GPT)

(by Open AI)

Attention Is All you Need (by Google)

Transformers

GPT-3

LLM

DeepMind's AlphaFold

DALL-E

23

ChatGPT (GPT 3.5)

GPT-4 (multimodal)

Milestones in Computer Science

Analytical engine

Ref: https://en.wikipedia.org/wiki/Analytical_Engine#/media/File:AnalyticalMachine_Babbage_London.jpg

Milestones in Computer Science

Binary Logic

  • 1854: Boolean Algebra

Ref: https://en.wikipedia.org/wiki/George_Boole

Milestones in Computer Science

Enigma

  • Crypto machine of German military during WW2

Ref: https://en.wikipedia.org/wiki/File:Enigma.jpg

Milestones in Computer Science

Digital Revolution

  • 50. - 70s: Third Industrial Revolution
  • Internet users: 3.9 billion (49.5% of world population in 2016)

Ref: https://en.wikipedia.org/wiki/File:Internet_map_1024.jpg

Milestones in Computer Science

Programming Languages

  • Punched cards (40s)
  • Machine Language (1000111)
  • High-Level Language (e.g., java, c, c++, cobol, scala)

Milestones in Computer Science

Computer Graphics

  • 60s: Verne Hudson and William Fetter of Boeing
  • Computer-generated imaginary (CGI)

Ref: https://en.wikipedia.org/wiki/Computer_graphics#/media/File:Blender_2.45_screenshot.jpg

Milestones in Computer Science

Artificial Intelligence

  • 50s: Newell, Simon, McCarthy, Minsky, Samual
  • Intelligence demonstrated by Machines

Milestones in Computer Science

Object Recognition

CNNs-2012

Artificial Intelligence

Artificial Intelligence

Machine Learning

Deep Learning

LLM

Analytical Programming

Having the inputs, outputs, and the conditions to compute them

Artificial Intelligence 

Having the inputs and outputs, but the conditions are unknown  

Analytical Programming

Cats

Dogs

f(x)

George

Processing Features

Identify light/dark pixels

Identify edges

Identify combinations of edges

Identify facial

features

Recognition

Coding Features

Cats

Dogs

f(x)

George

Image Processing

f(x)

Cats

Dogs

George

Problem:

Manual

Feature Extraction

Solution:

Represenational Learning

Universal Approximation Theorem

f(x)
\approx

Neural Networks + Gradient Descent + GPU

p(x|y,\theta)

Deep Learning (classifier)

Cats

Dogs

f(x)

Deep Learning (training)

Cats

Dogs

f(x)

Dogs

Backpropagation

Deep Learning (inference)

Cats: 5%

f(x)

Dogs: 95%

"DL is essentially a new style of programming -differentiable programming- and the field is trying to work out the reusable constructs in this style. We have some: convolution, pooling, LSTM, GAN, VAE, etc" -- Thomas G. Dietterich 

DL Applications

Image Generation

Face2Face or Facial Reenactment 

Video Generation

Facial Recognition 

Object Detection

Sentiment Analysis

Self-Play

Image Classification

Driverless Cars (Planes, Boats, Drones....)

Natural Language Processing

Neural Machine Translation

Text Generation

Limits of AI (approach)

Adversarial Attacks

"The Book of Why" -Judea Pearl (2018)

Main AI Techniques

"The Book of Why" -Judea Pearl (2018)

Judea Pearl (2018)

Reinforcement Learning

Judea Pearl (2018)

Machines are not able to compute retrospections (yet!)

"General Artificial Intelligence"

Neural Nets are Complex Systems

  • Interpretability: Why is NN producing those results?
  • Understandability: Why does deep learning work so well?
  • Towards Biologically Plausible Deep Learning

Limits of AI (ethics)

Job Automation: Amazon Go

Self-awareness

Autonomous

Weapons

AI- Bias

No privacy and Total Surveillance

Active (inter-disciplinary) fields

Active (inter-disciplinary) fields

Medicine

Computer vision identifies signs of early Alzheimer's up to 6 years before clinical diagnosis

Active (inter-disciplinary) fields

Chemistry

"(...) predicting the material properties for new material candidates ... undiscovered compounds (...)"

Active (inter-disciplinary) fields

Physics

Finding patterns on LHC data

Determining particle properties (Higgs boson)

Active (inter-disciplinary) fields

History

"(...) humanity researchers can use these AI-parsed texts to search for specific words in a book, see how a popular narrative changed over time, analyze the evolution of the language ... (...)" 

Active (inter-disciplinary) fields

Arts

Active (inter-disciplinary) fields

Arts

Edmond de Belamy, from La Famille de Belamy
generative Adversarial Network print, on canvas, 2018, signed with GAN model loss function in ink by the publisher, from a series of eleven unique images, published by Obvious Art, Paris, with original gilded wood frame
S. 27 ½ x 27 ½ in (700 x 700 mm.)

Deep Learning

for Software Engineering

f(x)

Dogs

Deep Learning (generator)

f(x)

Learning How to Generate Source Code

f(x)

Software Engineering Automation

Summary

Embrace Computer Science

Embrace Computer Science

Enable Computational Thinking

Embrace Computer Science and AI

Enable Computational Thinking

Look for opportunities to apply AI

Embrace Computer Science and AI

Enable Computational Thinking

Look for opportunities to apply AI

Preserve Ethical Behavior

Thanks!

(?)

here books recommendations: