Sherol Chen: firstname.lastname@example.org
Key Terms: History of AI, Foundations of Computing, Ethics, Graphical User Interfaces, Android Development, Data Structures, Algorithms, Animation, Recursion, AI Communities, Procedural Literacy, Turing Test, Wordpress, Java, Processing, NP-Complete, Big O, IDE, SDK, Declarative, Imperative, Functional Programming, Lisp, Assembly, Compilers, Machine Code, Logic Gates, Binary, Logic, Command Line, Debugger, iterator, Procedural Literacy, Binary Trees
Key Terms: Finite State Machines, Recurrence Relations, Traveling Sales Person, Induction, Graph Theory, Adjacency Matrix, A*, Search, Bayes Rule, Probabilities, Cascading Information, Nash Equilibrium, Bayes Nets, Markov Chains, Directed Graph, Dominant Strategy, Pareto Optimal, Socially Optimal, Decision Tree, Logic, Boolean Algebra, Implication, Demorgans Law, Deductive Reasoning, Inductive Reasoning, Abductive Reasoning, Prolog, Answerset Programming, Drama Management, Neural Nets, Expectimax Search, PageRank, kNN, kD Trees, Monty Hall, Paper Prototyping, Scientific Research
Key Terms: Event Calculus, Operating Systems, SQL, Blocks World, Planning, Hierarchical Task Networks, STRIPS, True Negation, Frame Problem, Fluents, Modus Ponens, Reinforcement Learning, Supervised Learning, Unsupervised Learning, Natural Language Generation, Natural Language Processing, ABL (A Believable Language), Models of Motivation, Flocking, Robotics, Haptics, Predicates, Propositional Logic, First Order Logic, Situation Calculus
If there's time: Information Retrieval, Recommendation Systems, Alpha/Beta Pruning
The EPGY Summer Institutes course in Computer Programming introduced students to foundational concepts of Computer Science, Artificial Intelligence, and an expansive spread of current applications. The topics covered included: data structures, algorithms, searching heuristics, game theory, Bayesian statistics, machine learning, logic programming, and planning. Students kept journals about their exploration with focus on their personal interests, the culture around technology, the history of computing, and the ethics of Artificial Intelligence.
In addition to using Java as the primary programming language, students were required to program in LaTeX, Processing, Lisp, and ASP (Answer Set Programming). Most student projects were done in Java; however, some chose to build prototypes with Processing and SQL as well. The notable projects assigned for the course were: a visual sorting program, traveling sales person solver, Black Jack AI, spatial data classifier, pixel clustering image recognizer, and Markov chain driven Natural Language Generator. In addition to the heavy assignment load, they worked on a final project of their own choosing. They were required to write a report on their topic as a formal research proposal and were each allotted funds to purchase books on their subject matter.
As each student picked their topic, professors, professionals, and experts were invited to give guest lectures and Q/A for the students. We had professionals working in bioinformatics, statistics/ML, story generation, player modeling, natural language, social simulations, algorithms, logic, programming languages, surgical robotics, and many other topics from the 21 guest speakers. Speakers also came from local well known companies such as Google and Facebook, and, through Skype, from locations all over the world: University of Washington, Georgia Tech, University of Alberta (Canada), University of Malta, and MIT. One of the most notable academics was Dr. David Cope, leading expert in algorithmic music composition.
The students also interacted with very accomplished industry veterans and authors: 25 year technology revolutionary Lloyd Tabb, who helped define the creation of Mozilla.org, currently transforming the world of big data, Damian Isla, former lead AI developer for the Halo series, AAA titled games awarded with being “top Xbox game of all time” and “game of the year” multiple times, and Craig Reynolds, famous graphics and artificial life researcher, known for his Boids approach in simulated flocking. Each speaker tied into the interests and the projects of the students.
In addition to lectures, guest speakers, tech blogging, programming assignments, final project proposals, and presentations, the students had two Bay Area field trip opportunities. For their first trip, they visited the Academy of Sciences in San Francisco, and later, they took a trip to the Computer History Museum in Mountain View. Each student was encouraged to write and publish (online) their experiences, projects, and conclusions into technical articles and portfolios, maintaining professional web presence while at Stanford.
Thanks for speaking this summer for my AI class at Stanford. It was a great success & this small gift is a token of my appreciation. http://epgy.sherolchen.com