Thu -- 6:00pm-9:00pm
A longstanding goal in computer science has been to build machines capable of automatically improving based on their experience and size. In his 1968 paper, 'Memo' Functions and Machine Learning (Nature, Apr. '68), Donald Michie challenged computer scientists with the following goal:
"It would be useful if computers could learn from experience and thus automatically improve the efficiency of their own programs during execution... When I write a clumsy program for a contemporary computer a thousand runs on the machine do not re-educate my handiwork. On every execution, each time-wasting blemish and crudity, each needless test and redundant evaluation, is meticulously reproduced."Over the past several years the instructors of this course have been developing the concept of Programmable Smart Machines (PSMs): hybrid computing systems whose output is as programmed but which transparently learn and automatically improve their operation. Both from the theoretical and practical point of view, our work attempts to side-step the traditional bottlenecks associated with the von Neumann architecture while preserving its programming model. In this course we will look at a cross section of the material that has informed our work, encompassing applied and theoretical topics. Topics will include material from complexity theory, computer architecture, operating systems, machine learning and biologically inspired computation. A fundmental aspect of this course is to identify and clearly state open questions in this area of work.
The course will be predominantly structured as a seminar in which each week we will be looking at one or two research papers. You will be required to submit weekly reviews and actively participate in the discussions. Each student will conduct and a term long project.
Jonathan Appavoo: jappavoo@bu.edu
Steve Homer: homer@cs.bu.edu
Amos Waterland: apw@seas.harvard.edu
This course is targeted towards graduate and advanced undergraduate students. We encourage enrollment by both theory and systems students, especially those of you willing to push the boundaries of what you have been thinking about. You are encouraged to incorporate your personal interests and background into the class material.
Students taking this class must have permision from the instructors, be a either a senior or graduate student, and be proficient in the core material of systems and theory.
Each week we will be covering on average one to two research papers that you will be expected to read, review and discuss. These papers will likely require that you find and read additional material as necessary to ensure your comprehension. Do not underestimate the amount of work this can be. You will be required to submit a written review of the papers prior to class. You will also be expected to actively participate in the in-class discussion. Each student is expected to lead one of the class discussions by summarizing the paper and seeding conversation with questions and observations from the paper.
In addition to the weekly paper reviews there will be a final project in which you will explore in detail an aspect of Programmable Smart Machines. Projects can range from a theoretical exploration to an applied experimental evaluation. The topic of your project must be approved by the instructors. You will be expected to present a poster about your project and to submit a brief written report by the end of the term. As part of the project you will be expected to establish in conjunction with the instructors the goals and criteria for its evalution. Each week you will provide a brief update on the progess of your project.
The project is due by the end of the lecture period. The project presentations will be given in the form of a final poster during the scheduled final exam slot.
Students are expected to work individually on the weekly reviews. With instructor approval the final project may be done in groups of up to two. There will be no final exam other than the poster presentations.
Project Poster and Report: 60%
All course participants must adhere to the CAS Academic Conduct Code. Instances of academic dishonesty will be reported to the academic conduct committee.