At the end of Session 2, I posted a bunch of resources for topics that interested people. It’s only fair that I post these for you all as well.


  • “Where Am I” by Daniel Dennett
  • “Three Arguments Against the Singularity” by Charlie Stross
  • “The Coming Technological Singularity: How to Survive in the Post-Human Era.” by Vernor Vinge (original coining of the “Singularity.”)
  • “The Singularity is Near” by Ray Kurzweil (The book that popularized the concept)
  • (Lots of papers on simulation and mind uploading)
  • (More resources in uploading)
Also, an interesting quote related to the singularity is Edsger Dijkstra’s quote, “The question of whether Machines can think[. . .]is about as relevant as the question of whether submarines can swim.”
Women and Minorities in Computer Science
Learning more about CS
    • I’d highly recommend taking CS106A, B, and CS107 before trying any of the other Stanford or MIT courses. They are, in my opinion, the best introduction to programming anywhere, going pretty deep into programming fundamentals, as well as enough of computer science fundamental concepts to understand deeply what you are trying to do.
    • CS106A (!)
    • CS106B (!)
    • CS107 (Nicknamed the “Programming Maturity” class at Stanford, CS107 solidifies lots of important skills in computer science and programming.)
    • CS229 (Machine Learning)
    • 6.005
    • 6.034 (AI)
  • Graham, Knuth, Patashnik: “Concrete Mathematics” (My favorite discrete math textbook)
  • Knuth: The Art of Computer Programming (THE tomes on theoretical CS–very theoretical, and definitely requires knowledge of the above textbook or similar before approaching)
  • Project Euler ( — algorithm puzzles; I love using these puzzles to learn new programming languages. After you solve a problem, the forums have a great community to learn about other solutions, and swap ideas)
  • Khan Academy (Free lectures for lots of topics. Perhaps not the best for a very complete and deep understanding, but excellent for wanting to learning general math, science, and engineering)
  • TopCoder (Programming competitions–note, this is usually a good site, but as a competitive site, people tend to be a bit edgier than on some other sites)
  • StackOverflow (Q&A — pretty good community)
  • Kaggle (Machine Learning/Data Mining competitions)

Submissions: Anish

minimax algorithm






So i was going to submit pathfinder, but that was before i lost the flashdrive containing it…hehe. Attached to this post are various pieces of code and notes related to my final project, and one besides(a tic tac toe game that a never got the ai to work).


Thank you!

A little code…

Hi, just some code I wrote.


Final Project : Sam Crow : Autonomous Vehicle Simulation

My final project involves a two-dimensional autonomous vehicle simulation. It exists at

Important readme information: The current version will display a message when it first opens. Simply click anywhere in the window to dismiss the message and start the simulation.


Some of the resources I mentioned in class:

Visualizing how Haar features work in detecting a face:

See previous posts for “Who Am I” by Daniel Dennett and “Three Arguments Against the Singularity” by Charlie Stross.

For the pages on Singularity:

  • The original paper: “The Coming Technological Singularity: How to Survive in the Post-Human Era.”
  • And popularizing it: “The Singularity is Near” by Ray Kurzweil
  • Lots of papers and essays on Simulation and Mind Upload:
  • More information on uploading:

And finally, the Stanford Engineering Everywhere web site is

Functional Programming

Hey all!

If you’d like to try out functional programming in a fun, online environment, this web site has an online Clojure interpreter and also an awesome live tutorial you can follow along.

Clojure is a modern functional programming language based on Lisp, but also with some object-oriented components, and runs on the Java Virtual Machine.

Autonomous Helicopter

The page of videos that I showed in class are here. The page also has the publications that go into more detail about how the helicopters were trained.

Go watch and read these in your free time!

Lab 12: :)

Part I: Project

Work on your project!

Part II: Project

Work on your project some more! By now, you should be able to thoroughly explain to me what your topic is about and how it works if I were to sit down and talk with you for half an hour.

Part III: Project

Work on it some more! If you think you have a good handle on your topic, go explore more! Will you be able to answer any question that comes up? Would you feel comfortable presenting this to a group of people who know about AI?

It’s a Project Scope

Developed at Stanford University by Larry Page and Sergey Brin, PageRank is a link analysis algorithm that started in 1998, back when search engines still had trouble returning relevant results to end users. Influenced in its early days by citation analysis and the Hyperlink-Induced Topic Search (HITS) algorithm, Google’s PageRank judges the importance of a given website by giving it a score based on the number of other websites that have links to it, and the importance of those sites. The formula for calculating PageRank – as far as the public knows – is: 

PR(A) = (1-d) + d (PR(T1)/C(T1) + … + PR(Tn)/C(Tn))


·      PR(A) – PageRank of the page

·      d – Damping Factor, or the probability that a user will keep clicking on links, which is generally assumed to be 0.85

·      Tn – Page with a link to A, where n is the page that has the link on it

·      C – How many links page Tn has on it

In English, the PageRank of a page is the sum of each page’s PageRank divided by their outbound links, multiplied by d, with 1-d added afterwards. So, if d is still assumed to be 0.85, then a page without anything linking to it should have a PageRank of 0.15 (which is really low, as big websites have at least thousands of points).

In Internet marketing, an entire field is dedicated to making webpages appear at the top of search engine results. This field is SEO, or Search Engine Optimization, and requires extensive knowledge of ranking algorithms such as Google’s PageRank. Because many people use search engines to find information, good optimizers can find themselves in demand by companies that want to get their brand off the ground.

Even though PageRank is just an algorithm, it changed the Internet by changing the way people found information. However, the algorithm is capable of more than just ranking pages. Today, similar weighting methods can be found as a driving force behind road planning, social networking, and data analysis in biology.

Taking a step back, PageRank and classifiers like it can be considered part of link analysis – itself a part of networking theory. Link analysis is a field in which the associations between objects are explored. Employed whenever relationships between many different objects need to be analyzed, link analysis finds use in fraud detection, epidemiology, law enforcement investigations, and, of course, search engines.

Final Project Times!


9:00 – Josh/Malachi – Bayesian Networks
9:30 - Alex/Anish – AI in Chess
10:00 – Kwisoo/Fenchao/Hari – Web data mining
10:45 – Sam – Robot Perception
11:00 – Hunter/Kendrick – SLAM Robotic localization


12:30 - Tommy – Question Answering
12:45 – Martin/Mike – Genetic Algorithms
1:15 – Pratul – NLP, parsing
1:30 – DJ – Generalized Mastermind
1:45 – Melissa – LAGR robotic navigation
2:00 – Paul/Max – Handwriting recognition
2:30 - Vincent/Andy – Swarm Intelligence
3:00 - Kacie – Neural Networks