 \documentclass[11pt]{article}
\newcommand{\thisdocument}{Project Description}
\include{macros}
\usepackage{url}
\usepackage{natbib}
\setlength{\bibsep}{.9ex}
\bibpunct{[}{]}{,}{a}{}{;} 

\begin{document}

%\tableofcontents
%\newpage
 

\begin{center}
\LARGE\bf 
CSUMS: SAGE --  Software for Algebra and Geometry Experimentation
\end{center}

\section{Major Highlights}
\begin{itemize}
\item A group of 
{\bf 40 undergraduate students} (8 each year)
will do {\bf research and development} on SAGE, which is software
for algebra, geometry, number 
theory, cryptography, numerical analysis, statistics,
and other areas.  
\item Students will {\bf write proposals}
 and give at least {\bf 15 presentations}.
\item Students will speak at {\bf national conferences} and {\bf workshops}. 
\item Students will {\bf work together}, with the PI, with graduate
students, and become part of a worldwide 
vibrant research and development
community.
\item A group of 3--6 {\bf graduate students} will receive 1-2 quarters support each
year to work with undergraduates on their projects.
\item SAGE is open source software that uses 
GAP, Maxima, Singular, 
PARI, Python and more specialized software, to build an 
{\bf  environment for
rigorous mathematics computation}, and provides {\bf uniform interfaces} to
Mathematica, Maple, Magma,
Macaulay2, and other systems.
\item This is a {\bf continuing project} that has already been very successful.

\end{itemize}


\section{Introduction}

The proposed project is for a group of 
{\bf 40 undergraduate students} (8 each academic
year for 5 years) at the University of Washington (UW) 
to do research and development on
high quality mathematics software for 
 algebra, geometry, number 
theory, cryptography, numerical analysis, statistics,
and other areas.  
By joining the SAGE project,
the PI hopes that participants will become involved
in mathematical research, gain
extensive knowledge about mathematical software, 
make long-term connections with a vibrant research and development community, and
contribute tools that will be used by teachers and expert 
researchers in numerous fields.
They will also learn
teaching and writing skills, and really understand some part of
mathematics deeply, which will 
prepare them to apply computational mathematics
in graduate school and industry. 

This proposal is not merely theoretical; 
it is an enhancement of a project the PI is currently 
directing using an NSF grant and startup funds.
His experience collaborating with undergraduates
in research on theoretical and computational
projects has convinced him that undergraduates can
do work that is esteemed by the mathematical research and
education communities. 

\subsection{SAGE}
The PI is the main author and director of SAGE---Software
for Algebra and Geometry Experimentation \cite{sage}, a project that
he started in January 2005.  
Both the development model of SAGE and the technology itself is distinguished 
by a strong emphasis on openness, community, cooperation, 
and collaboration: {\em SAGE is about building the car, not reinventing the wheel}.  SAGE uses the open source math software
GAP \cite{gap}, Maxima \cite{maxima}, Singular \cite{singular}, 
PARI \cite{pari}, Python, and
more specialized software, to build an environment for
rigorous mathematics computation. 
SAGE also provides interfaces to Mathematica, Maple, Magma \cite{magma},
Macaulay2 \cite{macaulay2}, and other systems.

The overall goal of SAGE 
is to create an optimal computational environment
for mathematical research and education.  
This  involves the creation of 
software, databases, 
and web sites.   Undergraduate participants will develop and
implement advanced mathematical algorithms, design user
interfaces, run computations, and
give presentations in seminars and at national conferences.
\vspace{-.9ex}


\begin{quote}
``I think the SAGE developers were very bold---maybe 
even audacious---to actually attempt this. And they 
are doing it in a largely pragmatic way  without 
attempting to incorporate the more formal and 
theoretical ideas developed by the OpenMath community 
\cite{openmath}. 

One might have been tempted to predict an early 
failure to this effort but on the contrary 
SAGE seems to be growing more rapidly than any 
other computer algebra research and development effort.''

\mbox{}\hspace{3em}--Bill Page (one of the main current Axiom developers \cite{axiom})
\end{quote}
%Undergraduates working on the design and implementation
%of SAGE has been a key reason for the rapid growth
%and for the fresh ideas in SAGE.
%
%NSF support is critical to the involvement
%of undergraduates in SAGE development, because the work students
%do often requires a high level of skill, 
%and students would be paid by other departments to do
%work using these skills.

\subsection{Prior Support}
The PI was awarded NSF grant DMS-0555776 (and DMS-0400386)
from the ANTC program in the amount of \$177,917
for the period 2004--2007.  Funds from
this grant were used to:
\begin{enumerate}\addtolength{\itemsep}{-7pt}
\item Run a {\bf workshop} on SAGE at UCSD \cite{sagedays1} that had one
undergraduate speaker (Steven Sivek, MIT) and that several
undergraduates participated in (David Roe, MIT; Alex Clemesha, UCSD; and Naqi Jaffery, UCSD).
\item Purchase a
{\bf 16-processor compute server} with 64GB RAM that is
the central SAGE development machine, which hosts
the SAGE website, several dozen SAGE developer web sites, 
the online SAGE notebook, etc.
\item Run a {\bf workshop} on SAGE at UW \cite{sagedays2} that had
several undergraduate {\bf speakers} and participants.
\end{enumerate}

The PI received startup money at UCSD and UW, some of
which was used to fund work on SAGE by undergraduates
Alex Clemesha, Naqi Jaffery, Tom Boothby, Yi Qiang, 
Emily Kirkman, Jennifer Balakrishnan, and Bobby
Moretti. 

%As a graduate student at Berkeley, the PI and was funded
%1998-1999 to do software development for the department
%at part of a curriculum development effort.
\section{Overview}
\begin{quote}
``Students at UW did not have any easy way to get started doing mathematics research (no washing petri dishes, etc.).    This is something that I have experienced personally and know that many of my math major friends are frustrated about.  SAGE is opening the door to advanced mathematics research to many students that wouldn't have this chance otherwise.''
\hfill --- Yi Qiang, UW Sophomore
\end{quote}

\subsection{Target Student Participants}
The intended student participants in this project will be
 majors in the mathematical sciences with a strong interest
in using computation to improve mathematics
research and education, and being part of
an exciting software project.  

Students must have
a strong interest in mathematics
so they can understand the algorithms and theoretical
background that underlies SAGE.  
They must also have exceptional computer skills, because
work on SAGE involves significant software engineering.
Perhaps because of the programming culture in the Seattle
area, there are several undergraduates at UW that 
are talented at programming and have a strong interest
in mathematics, but have not found a creative way to combine
together their passions.  This project targets them.

Since SAGE is designed as a tool for attacking
problems at the forefront of research,
students will become involved with
advanced mathematics.  For example, after 
Tom Boothby (undergraduate, UW) began working on SAGE, 
he carried out a project to enumerate and draw all
possible isogeny diagrams of elliptic curves, in collaboration with the
world leader in elliptic curve enumeration (John Cremona).
Another student, 
Jennifer Balakrishnan (undergraduate, Harvard)
implemented in SAGE much of a program
for computing $p$-adic heights on elliptic curves, and gave
three talks on the underlying theory and implementation.
Alex Clemesha (undergraduate, UCSD) actively participated
in \cite{msri06modform} on a project that drew plots of 
modular forms and fundamental domains for congruence subgroups.

%The PI hopes that students 
%involved with this project
%will become future
%leaders in the use of computational methods to improve
%mathematical research in academia and industry.

%More examples:
% - Alex Clemesha: gave talks at major conferences on
% his SAGE work, e.g., scipy, sage days 2, msri, Linux fest.
% At scipy Guido van Rosum (the creator of the computer
% language Python) in front row.
%  - Yi Qiang and Robert B: ECM collaboration
%  - Tom Boothby and Josh Kantor: graphics (Tachyon 3d), 
%         numerical mathematics
        
%What the PI has observed in several cases is that an undergraduate
%and a graduate student team up (this arises naturally from the seminars).   

\subsection{Intellectual Focus and Innovative Strategies}
Like undergraduates who work in a Biology
lab, students in this project
 will be involved with the SAGE developer 
 community at UW and participate in an important
 national
 project.
Student work will focus on algorithm 
research and implementation, 
proposal writing,
and giving presentations at local seminars 
and national conferences.
Students will develop, extend, document,
test and implement algorithms
for computing with mathematical structures.
Their work will be reviewed, commented on, and used
by the growing worldwide community of SAGE users,
who may use the student's
work for their research or teaching. 


%The SAGE mailing lists are fairly high volume, 
%e.g., xxx messages were posted during September 2006. 

\subsection{Organizational Structure and Timetable}

The time table for the {\em 3-quarter
academic year} is given below.  Every student will give at least one
30-minute presentation on their work every other week.
Thus over the course of the year 
{\bf each student will give over 15 presentations}.

\begin{enumerate}
\item {\bf First Quarter:} Students
will become familiar with mathematical software, potential
projects, determine the state of current knowledge
and implementation in a given area, create a proposal that
will be assessed by the SAGE development community,
and design a strategy for implementing it.   
Though each student will design
their own project, they will
give numerous talks, which strongly encourages
collaboration.
\begin{enumerate}
\item {\bf Basic familiarity:} (Week 1) Basic background
in mathematical software.  Overview of what is available and what
it does. 
\item {\bf Examples for the SAGE documentation:} (Weeks 2--3)
Creating examples for the documentation is a good way to 
learn SAGE and SAGE's distributed
revision control system \cite{mercurial}, and 
it improves the overall quality of SAGE.
%These examples appear in the
%documentation, so users see them when they ask for help on
%how to use a function.  
%When students find  shortcomings in SAGE,
%they can submit them to the bug tracker. 

\item \label{step:choose} 
 {\bf Choose a project:} (Week 4) Students will choose a project 
based on presentations by the PI, student participants from previous years,
and UW graduate students.  They will also be encouraged to
find projects related to current research activities at UW 
(especially in Mathematics, Biology, Computer Science, and Physics).
The undergraduates may form collaborations with 
graduates students at this point, as several graduate students
at UW are involved in SAGE development.  

\item {\bf Write a proposal:} (Weeks 5--6) 
The students will write a proposal that contains the following:
\begin{enumerate}
\item\label{objects}
 {\bf A description} of the mathematical objects, problems,
and algorithms that the project will address.
\item {\bf A survey} of what existing software (both free and commercial)
does toward computing
with the mathematical objects described in (i).  This will include 
lists of functions, descriptions of
user interfaces, and implementation
details (when available).  Students will be encouraged to create
benchmarks.
\item {\bf A list of functionality} the student would like to implement.
Students should explain why certain functionality 
will be omitted, e.g., some algorithms (e.g., four descents
on elliptic curves) have only 
been implemented in closed-source non-free software, and
the implementation took the world's top experts
several years---it would be unreasonable for an undergraduate
to recreate this (nonetheless, they should make that functionality
available via SAGE interfaces to people who have the 
nonfree software).  Whenever possible, in keeping
with SAGE's strategy, students
will be encouraged to implement functionality by building
on other high-quality free software, e.g., students
implementing numerical computation in SAGE might use
\cite{gsl}, which is a mature library included with SAGE.
\item {\bf A timeline} describing how long students believe it will
take to implement what is described above.
(Such estimates are difficult, so students will get substantial feedback on
their timelines.)
\end{enumerate}
This proposal will be circulated for feedback 
not just to the PI and other student participants, but to the
 community
of SAGE developers.  All quarter, the PI will encourage the students
to create prototypes and give demos in order to 
understand their projects more deeply.
\item {\bf Solicit feedback:} (Weeks 7--8)
Get further feedback from the SAGE development community and mathematicians
in the target area.  In particular, students will 
make connections with experts in the target area,
graduate students,
and explore possibilities for collaboration.
\item {\bf Create final plan:} (Weeks 9--10)
Revise and polish the proposal and its implementation plan,
and circulate for feedback
\end{enumerate}
 
\item {\bf Second Quarter:} During the second quarter
students will focus on  implementing their
projects.  They will give frequent presentations on
the status of their work and post regular snapshots
of code.
This will develop the student's
communication skills and ability to
work together on a large project.

\item {\bf Third Quarter:} The focus of the third quarter
will be to ensure that the student projects are of 
professional quality, are ready to be used by the academic research
community, and will be maintainable long into the future. 
\begin{enumerate}
\item {\bf Quality control}: Students will write extra documentation, 
include more  comments in source code, and increase the number
of tests and examples.  Each student's code and documentation
will be refereed by other SAGE
developers and other students in the program.
In some cases, students will be encouraged
to write research papers based on their work, e.g., because
of the structured nature of SAGE, a project
on numerical computation might involve creating
new algorithms to convert between approximate 
numerical and exact algebraic objects.

\item {\bf Advertise and Respond to Feedback:}   The quality of 
student work is enhanced when people use it and provide 
feedback, and students put in more effort when they know they will be presenting
their work at a conference.   The PI
receives frequent invitations to speak at 
conferences and workshops,
and can often have some of the
students give presentations or present demos.  This is
already a successful strategy, e.g., Alex Clemesha (UCSD, undergraduate)
gave a talk at Caltech during SCIPY 2006 \cite{scipy06},
and Jennifer Balakrishnan (Harvard, undergraduate) spoke
at MSRI 2006  \cite{msri06modform}. 
The PI also organizes workshops and conferences, 
some which provide an ideal opportunity 
for student presentations. (The PI is organizing or
co-organizing
{\em eight} workshops during the period February 2006 --  July 2007 \cite{sagedays1, simuw06, 
msri06modform, sagedays2, msri07parallel, aws07, banff07, aim07}.)
The PI also gets students involved with workshop organization, e.g.,
Jennifer Balakrishnan helped create the schedule for \cite{msri06modform}. 
These activities  train the next generation of
students in the profession of being mathematicians. 

\end{enumerate}
\end{enumerate}

%Some students may carry multiple projects
%to completion.   Moreover, students will hopefully collaborate 
%with others in the SAGE development
%community, which will speed their progress (and make it much easier
%for software that students write to be extended and maintained later).
%Moreover, good proposals are often so exciting that they get finished
%quickly.   


%\subsection{Organizational Endorsement}
%See the attached letter from the chair
%of the Department of Mathematics at UW.

\section{Nature of Student Activities}\label{sec:activities}
The PI intends to teach a year-long course on mathematical
software that the 8 students involved in this project will
take.  Other students who take the course 
would not receive stipends from this grant.
There will be three meetings per week.  
Each week, during
the Wednesday meeting the PI will give a lecture, 
and  during the Monday and Friday
meetings students will give presentations (2 per meeting).   

The PI is experienced at
organizing student seminars and presentations; 
he ran a SAGE seminar at UW in 2006 with numerous undergraduate
talks, he ran an MSRI graduate student summer school
\cite{msri06modform}, and led two freshman seminars
at Harvard (one on elliptic curves and one on Fermat's
Last Theorem) which consisted of almost 3 hours of student
presentations per week.  
%He organized the colloquium
%and Basic Notions seminars at organizes the number
%theory seminar at UW this year.

The PI expects that 
students in the project will
continue to contribute after their year.
This would be supported by other funding sources that 
the PI might secure, or using support
the students would obtain, e.g., the UW Mary Gates
Research Scholarship provides major support
for about 100 undergraduate research projects 
each year.  The PI is involved with 
UW's summer REU, and some students from the SAGE project
may participate in that REU.  Students
who go to graduate school will be likely 
to contribute to SAGE as part
of their thesis research. 

\subsection{The Crucial Role of Graduate Students}
Graduate students will be funded 
on an {\bf opportunistic basis}.  Graduate students
who through the SAGE seminars, etc., form a close collaboration with an undergraduate 
 will be offered 1--2 quarters support
during which they will work very closely with that
undergraduate on their project. 
\subsection{A Sample of Specific Projects}
The PI is one of the more sought after people by mathematicians, 
for computational confirmation of conjectures, for
algorithms, for data, and for 
ways of formulating
problems so as to make them more accessible to algorithms. 
  He has also done a range of 
consulting work for DoD,  and has connections  with researchers
in algebraic geometry, numerical analysis, combinatorics, and
other areas.  His position directing SAGE also brings him
into contact with a wide range of computational work. 
The PI is aware of numerous
research problems that could become
student projects. 
The rest of this section contains a sample of such
projects.

\subsubsection{The SAGE Notebook}
SAGE has an innovative web-browser based interface, which
was designed and implemented by the PI, Tom Boothby (undergraduate, UW) and
Alex Clemesha (undergraduate, UCSD).
The PI and Barry Mazur are using the notebook to bring alive
a popular book they are writing on the Riemann Hypothesis,
and to illustrate an article in Nature \cite{mazur:nature}.
Many possibilities for future work remain:
\begin{enumerate}\addtolength{\itemsep}{-7pt}
\item {\bf Integrate} the SAGE notebook with
the Moinmoin Wiki \cite{moinmoin}, the Trac 
bug and feature tracker \cite{trac}, and 
Mercurial \cite{mercurial} to create 
a complete web-based development  environment.
\item {\bf Create typeset output} for notebook
sessions.  

\item Extend the notebook
interface with support for {\bf interactive parallel computation},
e.g.,
special parallel syntax extensions and graphical views
of what dozens of processes are doing (either locally
or over a network).  

\end{enumerate}

\subsubsection{Mathematical Visualization Using SAGE}
Each of the following would be usable from the web-based
SAGE notebook.
\begin{enumerate}\addtolength{\itemsep}{-7pt}
\item Ray tracing  -- develop a 2D and
3D plotting systems that uses the Tachyon 3D \cite{tachyon}
ray tracer for fast beautiful output.
\item 3D graphics -- build a package that uses ray tracing, 
VRML (virtual reality browser plugin), and matplotlib. 
\item Systematic plotting functionality for a wide
range of objects in SAGE including elliptic
curves, modular forms and matrices.
\end{enumerate}

%\subsection{Lie Theory}\label{sec:lie}
%Create a package for computing with Lie algebras
%and Lie groups.   Probably the LIE package \cite{lie}
%would be a key building block. 

\subsubsection{$p$-adic Numbers}
The students would research how other people have designed
software for computing with $p$-adic numbers, both their implementations and  
interfaces. This includes studying Magma, PARI, and local  
fields libraries.  It would also include a  
literature search, both in mathematics and computer science, and
analyses of theoretical and actual performance
(see, e.g., \cite{gathengerhard}).
Next, in collaboration with the SAGE community, students would design 
an ideal interface. The interface should  
support an implementation that takes into account (at least) the  
following issues:
\begin{enumerate}\addtolength{\itemsep}{-7pt}
\item {\bf Fast arithmetic}, for small $p$, for large $p$, for $p = 2$, 
for both large   precision, small precision, etc.; all situations
 must be covered.
\item {\bf Fast conversions} between $p$-adic integers, $p$-adic rationals, plain  
integers and rationals, and elements of $\Z/p^n \Z$, 
when these conversions make sense.
\item {\bf Finite extensions} of $p$-adic fields, in both the ramified and  
unramified cases.  End users should be able to take a general number  
field and construct the local field corresponding to a selected prime  
ideal.
\item {\bf Fast polynomial arithmetic} with $p$-adic coefficients. This is much  
trickier than it sounds at first, since many of the usual  
algorithms fail if the precision of the coefficients varies  
greatly.
\end{enumerate}
 
This carefully researched approach is crucial, especially for this
project.  Otherwise much time will be wasted, e.g.,
Magma has already been through three   
implementations (even interfaces!) for $p$-adic numbers.

\subsubsection{Graph Theory}
Provide a unified interface to existing state-of-the-art libraries
for graph theory, then design and implement connections with existing 
mathematical structures in SAGE, e.g.,
plotting pictures of graphs, associating
graphs to matrices, Cayley graphs associated to groups,
call trees when profiling code, isogeny structures of
elliptic curves, subgroup lattices, etc.

\subsubsection{Databases}
Steven Sivek (MIT, undergraduate) created a SAGE
version of Sloane's 
tables of integer sequences \cite{sloane}  and gave
a talk about his work at \cite{sagedays1}.   
There are numerous similar possible student projects that involve
systematically organizing the results of years of mathematical computations.
Possible databases include:
\begin{enumerate}\addtolength{\itemsep}{-7pt}
\item Modular forms. The PI is an organizer of a forthcoming
workshop \cite{aim07} on creating new databases of modular forms.
\item Elliptic curves. Extend and reorganize tables of
Cremona and Stein-Watkins.
\item Modular abelian varieties. Much of the PI's work is on
computing these.
\item Modular curves.
\item Graphs that are optimal with respect to
some property.
\item Algebraic curves with special properties.
\item Special prime numbers, e.g., all known Mersenne primes.
\item Number theory databases and tables listed at \cite{ntw:tables}.
\item Hooks into NIST's database of functions \cite{nist:special}.
\item Dan Gordon's databases of coverings and cyclic
difference sets \cite{gordon:db}.
\end{enumerate}

This project would also involve creating a way to build 
web-based interfaces to SAGE databases, so that 
mathematicians can browse the databases without having to 
know any SAGE commands.  
%The interfaces make look
%like \cite{zope-mfd}.

\subsubsection{The Birch and Swinnerton-Dyer Conjecture}
The PI has used SAGE to do substantial work with
undergraduates on explicit verification of the
Birch and Swinnerton-Dyer conjecture for elliptic curves
\cite{bsdalg1},
but much remains to be done.  In particular, create
packages for doing 3-descents on elliptic curves, 
for computing Heegner points, for computing with $L$-functions
over number fields, and for computing $p$-adic $L$-functions.
The PI submitted a proposal entitled {\em
Explicit Approaches to the Birch and Swinnerton-Dyer 
Conjecture} for his research on such problems to the NSF 
ANTC program (Oct. 2006).

\section{Connection to Regular Academic Studies}
\subsection{Local Impact}
Undergraduate participants in the project will be encouraged
to give talks in the UW undergraduate mathematics
seminar to show other undergraduates the exciting work
they are doing.  There is an undergraduate research project day at
UW in April, during which participants could
give demos using a laptop.
The PI has connections with Microsoft Research
% (Kristen Lauter uses and contributes to SAGE), 
and has  had two undergraduates working on SAGE visit
there with him and give a talk. The UW mathematics
department has connections with local high schools,
and  students will be encouraged to speak 
there about SAGE.  
The PI introduced students in UW's regular REU program
to SAGE who made crucial use of SAGE in their 
2006 summer research. 
%Some students who participate in the
%SAGE program will be ideal candidates for a summer REU
%that would involve work on SAGE.

\subsection{National Impact}
Talks the students and PI give will be recorded as audio
files and made easily available online.  Such ``podcasts''
are currently popular among
SAGE developers.  

Some student projects 
will be of interest to mathematics teachers and students
at all levels.
Instead of them having to pay large sums 
of money to buy software
for classroom instruction, they
will have the option to use SAGE for free.
Many teachers have expressed concern that
currently they teach their students how to use tools that the
students (or their employers) will not be able to afford 
after they graduate.
At many institutions {\em and especially US high schools}, purchasing
computer software is a significant burden.\footnote{Commercial 
math software is expensive.  The list price for one personal
non-academic non-government copy 
of Mathematica is \$\textbf{1880} (and \$3135 for certain architectures),
for Maple is \$\textbf{1995}, 
for MATLAB is \$\textbf{1900} (plus hundreds to thousands of dollars for
each optional package), and Magma is \$\textbf{1150} (educational
rate---the non-educational rate is not available online).} 
The PI
has had conversations with
high school teachers
who are excited about using SAGE for teaching, since they
cannot afford to use commercial systems in their classrooms
and much free mathematical software
and its documentation
does not satisfy their needs.
SAGE also has a potential to
impact mathematics students in third world countries;
the PI has student and faculty collaborators on
SAGE development in Bogota, Colombia and in Uruguay, and
regularly receives appreciative emails from third world
countries for the work he has already done.



\section{Research Environment and Mentoring Activities}


Structure of mentoring:
\begin{itemize}
\item Create a {\bf flexible lab environment}:  Having a common space
for SAGE developers to come together and work is vital to 
encouraging collaboration.   Fortunately, for SAGE 
work dedicated lab space is not needed
because of powerful laptops and
ubiquitous wifi.  By purchasing
one laptop to be used by each participant, and making a
schedule of lab meeting places, it will be possible to 
create a flexible and pleasant 
collaborative environment.
\item Bring in 4 {\bf mentors for month-long periods}.  Mentor visitors would
do work on SAGE while also leading and
mentoring student projects.  They would be chosen with regard
to diversity issues and strong mentoring and computational
abilities.  The PI has developed 
professional relationships with
the following potential mentor visitors:
Lassina Dembele, Edray Goins, Jon Hanke, David Joyner,
 David Kohel,  David Savitt and Helena Verrill.
These are all professional mathematicians who the PI 
has done joint work with.
Also one is a woman, one is African
American (and very experienced at mentoring undergrads),
and one is African Canadian.

\item A {\bf weekly SAGE seminar} attended by faculty
and graduate students.

  
\item Six quarters of {\bf graduate student support} so that between
3--6 graduate students who develop mentoring
relationships with students will be able to do focused work with the
students 1--2 quarters each year.
 
%These undergraduate/graduate
%student relationships have formed naturally with 4 of the undergraduates
%that the PI is currently working with at UW. 

\end{itemize}

The participants will have experiences that they likely 
would not have until graduate school---not only will they cut their teeth doing significant research, but they will prepare and give nontrivial 
talks on a regular basis.

The PI has a strong {\bf track record of
mentoring undergraduates} in theoretical and 
computational research.  During the last five years he 
has directed over 20 projects with
a nontrivial research component  at Harvard, UCSD,
and UW, many of which are  available at \cite{stein:studentprojects}.
For example, he directed the Harvard senior theses of
Jayce Getz,  John Gregg, Dimitar Jetchev, Andre Jorza,
Seth Kleinerman, Daniellie Li, Chris Mihelich and David Speyer.
He ran summer research programs on the Birch and Swinnerton-Dyer
conjecture at Harvard during 2003 and 2004 with five
students (Jennifer Balakrishnan, Andrei Jorza, Stefan Patrikas, 
Jennifer Sinnott, Tseno Tselkov).  When Baur Bektemirov was
a freshman at Harvard, he did a year-long project with the PI
in which he computed surprising statistics about elliptic
curves that led to a joint paper in the Bulletins
of the AMS (\cite{bmsw:bulletins}).   The PI also worked for a year
with Kevin Grosvenor, another Harvard freshman, on drawing pictures
of $L$-functions.  At UCSD the PI worked
on SAGE development with Naqi Jaffery and Alex Clemesha,
and since April 2006 at UW he has worked with
UW undergraduates Tom Boothby, Emily Kirkman, Bobby Moretti,
and Yi Qiang and MIT undergraduates Steven Sivek and David
Roe on research related to SAGE.  
The PI is also currently working with  six graduate
students. 

The PI has been at UW since April 2006, and has been
pleased with the four undergraduate students he has 
worked with there; 
their computational skills and ability to network
with other students are extraordinary.
The mathematics undergraduate program at UW attracts some 
of the best UW students and these students are equal to the best undergraduates the PI has encountered anywhere:
the mathematics department at UW has had five Goldwater Scholars 
in the past three years, three of the past four College of Arts and Sciences Deans Medalists in Science, five teams of Outstanding Winners in the CO-MAP Mathematical Contest in Modeling during the past five years, and most recently a Rhodes Scholar and an Astronaut Foundation Scholar.  Also, the Seattle area has substantial programming
talent due to the proximity of Microsoft and Digipen (the PI has given talks at
both places).

\section{Student Recruitment and Selection}
The goal of this project is to bring together a group of 
40  undergraduate students (over 5 years) 
to create mathematical software in 
collaborate with other students and faculty,
and give numerous presentations.  Finding and
building good professional relationships with
a range of students is a fascinating problem, and the PI
has succeeded so far by a combination of methods.
He gives
talks and gets involved with student activities at UW whenever possible, e.g., he led a 2 week 
SIMUW \cite{simuw06} high school workshop 
that used SAGE, he uses SAGE in teaching courses,
visits other classes, 
and attends events for minorities
in science\footnote{The PI has close contacts with the Native
American community in Seattle and regularly attends 
local events.}.  
He intends to 
continue these activities, always on the lookout 
for exceptional students.  Also, students
  working on SAGE enjoy their experiences, which brings in new students.

The PI intends to invite a diverse group of
mentors for up to 1 month
each during the academic year to participate 
in the program while working with students. 
For example, the PI has worked on elliptic curve computations with Edray Goins (Assistant Professor of Mathematics, Purdue University), who is African American, and
well situated to contribute to SAGE
(he is an organizer of \cite{msri07parallel}). 

\section{Project Management}
The PI, William Stein, is a tenured associate professor at the
host institution.  He will bear responsibility
for fulfilling the technical requirements of the
project, including submission of annual reports. 
Because of his work on SAGE and workshop
experience, the PI has become skilled
at organizing projects and meetings. 
The PI will organize the seminar and give weekly talks.
He will choose students for participation in the
project in consultation with graduate
students and faculty.  

The following faculty 
have agreed 
to serve as an advisory board for this project: 
\begin{itemize}\addtolength{\itemsep}{-7pt}
\item Chuck Doran: UW (differential geometry, number theory, string theory)
\item Ioana Dumitriu: UW (probability, combinatorics,
  numerical analysis)
\item Jim Morrow: UW (combinatorics, inverse problems)
\item David Savitt: University of Arizona (number theory)
\item Rekha Thomas: UW, (combinatorics, discrete geometry)
%\item Sarah Billey: UW, computational algebraic geometry
\end{itemize}
Morrow, in particular, has an incredible record working
on research with undergraduates (e.g., he has run
the UW REU for many years).

The advisory board will help with assessment of this
project, and will be consulted on decisions regarding
the program.  In particular, they will be encouraged to comment on
student proposals.  Since their research spans a wide
range of mathematics, they may be in a position to provide
better feedback on potential student projects (e.g., suggest
people for students to meet, conferences for them
to attend, problems for them to investigate, etc.). 
Moreover, those faculty who are at UW might run
the weekly seminar course if the PI is not available.

\section{Project Evaluation and Reporting}

\subsection{Documentation and Dissemination}
Audio and slides from talks, student proposals, 
code from projects, and research papers the students write, 
will all be freely made available online
under a license compatible with the GNU Public License.  Papers that
make new contributions will be submitted to journals for
publication.
Journals will be chosen to have
a copyright policy that allows papers to be 
distributed as part of the SAGE documentation, and
to be updated by other SAGE developers later. 

\subsection{Quarterly Evaluation}
The quarterly evaluation will involve forms filled
out by the student participants.  These will be both the standard
university course evaluation forms, and custom forms designed
by the PI, in consultation with the advisory board, which
specifically address the project.  

\subsection{Annual Evaluation}
The annual evaluation will summarize the quarterly evaluations.
Near the end of the academic year all students involved in
the project will give final presentations on their work at
two 3-hour workshops that the UW members of the advisory
board will be invited to attend.
Each student will give a  45-minute presentation
about their
work that includes:
\begin{enumerate}\addtolength{\itemsep}{-7pt}
\item A general overview of the project and survey of
relevant mathematics.
\item A report on how the student's work is used by 
mathematicians and students.
\item Difficulties the student had to overcome.
\end{enumerate}
The PI will synthesize feedback from the advisory board and
the student projects.  The {\bf ultimate measure of success} for
a student project will be a combination of the following
criterion, which the PI will explain to the students
on day 1:
\begin{enumerate}\addtolength{\itemsep}{-7pt}
\item The extent to which the project contributes a high quality
well-documented component of SAGE that is {\bf valued
by members of the mathematical community} and addresses actual needs,
as attested to by letters from users. 
\item How well students {\bf respond to feedback} from
refereeing (by the PI, by other students, and by
outside users) during the third quarter. 
\item General impression of the {\bf advisory board}.
\end{enumerate}



\subsection{Tracking Beyond Project}
Alumni of the program will likely have contributed a substantial
component to SAGE.  It will thus be {\em essential} to keep in touch
with them for help with maintenance, for advice on how to move their
work forward and modify it, and to benefit from what they have learned.
Alumni will be asked, when possible, to speak to the current
group of students.  In some
cases alumni will participate in workshops that are
relevant to the software they wrote (the PI intends to run
at least two SAGE-related workshops per year, indefinitely).
 These activities provide many
opportunities for feedback about how involvement with SAGE has
affected student career paths.   The PI will also contact all students
who were involved in the program once per year for an update on what
they are currently doing, and will record the results.  This will
inform the five-year evaluation. 

\subsection{Five-Year Evaluation}
The five-year evaluation will summarize the previous annual
evaluations.  It will also assess the long-term worldwide broader
impact of the SAGE project on education and research:
research papers resulting from student work,
the extent to which SAGE is used  
in undergraduate and graduate education, 
and placement of students from this program in jobs and graduate schools.




\newpage
\bibliographystyle{amsalpha}
\addtolength{\itemsep}{-3pt}
\bibliography{biblio}

\end{document}
