"Merging heads"
authorAmit Sethi
Tue, 09 Nov 2010 15:40:53 +0530
changeset 418 8a42b4203f6d
parent 417 fc71d5c27ce6 (current diff)
parent 412 bb45826efe74 (diff)
child 419 2767291a005b
"Merging heads"
#symbolics.rst#
accessing-pieces-arrays/slides.org.orig
accessing-pieces-arrays/slides.tex.orig
basic-data-type/slides.org
basic-data-type/slides.org.orig
basic-data-type/slides.tex
getting-started-with-lists/questions.rst.orig
getting-started-with-lists/script.rst.orig
input_output/script.rst
input_output/script.rst.orig
plotui/buttons.png
plotui/move.png
plotui/questions.rst
plotui/quickref.tex
plotui/save.png
plotui/script.rst
plotui/slides.tex
plotui/zoom.png
progress.org.orig
symbolics/slides.org
using-plot-interactively/home.png
using-plot-interactively/slides.org
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/#symbolics.rst#	Tue Nov 09 15:40:53 2010 +0530
@@ -0,0 +1,343 @@
+Symbolics with Sage
+-------------------
+
+Hello friends and welcome to this tutorial on symbolics with sage.
+
+
+.. #[Madhu: Sounds more or less like an ad!]
+
+{{{ Part of Notebook with title }}}
+
+.. #[Madhu: Please make your instructions, instructional. While
+     recording if I have to read this, think what you are actually
+     meaning it will take a lot of time]
+
+We would be using simple mathematical functions on the sage notebook
+for this tutorial.
+
+.. #[Madhu: What is this line doing here. I don't see much use of it]
+
+During the course of the tutorial we will learn
+
+{{{ Part of Notebook with outline }}}
+
+To define symbolic expressions in sage.  Use built-in costants and
+function. Integration, differentiation using sage. Defining
+matrices. Defining Symbolic functions. Simplifying and solving
+symbolic expressions and functions.
+
+.. #[Nishanth]: The formatting is all messed up
+                First fix the formatting and compile the rst
+                The I shall review
+.. #[Madhu: Please make the above items full english sentences, not
+     the slides like points. The person recording should be able to
+     read your script as is. It can read something like "we will learn
+     how to define symbolic expressions in Sage, using built-in ..."]
+
+Using sage we can perform mathematical operations on symbols.
+
+.. #[Madhu: Same mistake with period symbols! Please get the
+     punctuation right. Also you may have to rephrase the above
+     sentence as "We can use Sage to perform sybmolic mathematical
+     operations" or such]
+
+On the sage notebook type::
+   
+    sin(y)
+
+It raises a name error saying that y is not defined. But in sage we
+can declare y as a symbol using var function.
+
+.. #[Madhu: But is not required]
+::
+    var('y')
+   
+Now if you type::
+
+    sin(y)
+
+    sage simply returns the expression .
+
+.. #[Madhu: Why is this line indented? Also full stop. When will you
+     learn? Yes we can correct you. But corrections are for you to
+     learn. If you don't learn from your mistakes, I don't know what
+     to say]
+
+thus now sage treats sin(y) as a symbolic expression . You can use
+this to do a lot of symbolic maths using sage's built-in constants and
+expressions .
+
+.. #[Madhu: "Thus now"? It sounds like Dus and Nou, i.e 10 and 9 in
+     Hindi! Full stop again. "a lot" doesn't mean anything until you
+     quantify it or give examples.]
+
+Try out
+
+.. #[Madhu: "So let us try" sounds better]
+ ::
+   
+   var('x,alpha,y,beta') x^2/alpha^2+y^2/beta^2
+ 
+Similarly , we can define many algebraic and trigonometric expressions
+using sage .
+
+.. #[Madhu: comma again. Show some more examples?]
+
+
+Sage also provides a few built-in constants which are commonly used in
+mathematics .
+
+example : pi,e,oo , Function n gives the numerical values of all these
+    constants.
+
+.. #[Madhu: This doesn't sound like scripts. How will I read this
+     while recording. Also if I were recording I would have read your
+     third constant as Oh-Oh i.e. double O. It took me at least 30
+     seconds to figure out it is infinity]
+
+For instance::
+
+   n(e)
+   
+   2.71828182845905
+
+gives numerical value of e.
+
+If you look into the documentation of n by doing
+
+.. #[Madhu: "documentation of the function "n"?]
+
+::
+   n(<Tab>
+
+You will see what all arguments it can take etc .. It will be very
+helpful if you look at the documentation of all functions introduced
+
+.. #[Madhu: What does etc .. mean in a script?]
+
+Also we can define the no of digits we wish to use in the numerical
+value . For this we have to pass an argument digits.  Type
+
+.. #[Madhu: "no of digits"? Also "We wish to obtain" than "we wish to
+     use"?]
+::
+
+   n(pi, digits = 10)
+
+Apart from the constants sage also has a lot of builtin functions like
+sin,cos,sinh,cosh,log,factorial,gamma,exp,arcsin,arccos,arctan etc ...
+lets try some out on the sage notebook.
+
+.. #[Madhu: Here "a lot" makes sense]
+::
+     
+   sin(pi/2)
+   
+   arctan(oo)
+     
+   log(e,e)
+
+
+Given that we have defined variables like x,y etc .. , We can define
+an arbitrary function with desired name in the following way.::
+
+       var('x') function(<tab> {{{ Just to show the documentation
+       extend this line }}} function('f',x)
+
+.. #[Madhu: What will the person recording show in the documentation
+     without a script for it? Please don't assume recorder can cook up
+     things while recording. It is impractical]
+
+Here f is the name of the function and x is the independent variable .
+Now we can define f(x) to be ::
+
+     f(x) = x/2 + sin(x)
+
+Evaluating this function f for the value x=pi returns pi/2.::
+	   
+	   f(pi)
+
+We can also define functions that are not continuous but defined
+piecewise.  We will be using a function which is a parabola between 0
+to 1 and a constant from 1 to 2 .  type the following as given on the
+screen
+
+.. #[Madhu: Instead of "We will be using ..." how about "Let us define
+     a function ..."]
+::
+      
+
+      var('x') h(x)=x^2 g(x)=1 f=Piecewise(<Tab> {{{ Just to show the
+      documentation extend this line }}}
+      f=Piecewise([[(0,1),h(x)],[(1,2),g(x)]],x) f
+
+Checking f at 0.4, 1.4 and 3 :: f(0.4) f(1.4) f(3)
+
+.. #[Madhu: Again this doesn't sound like a script]
+
+for f(3) it raises a value not defined in domain error .
+
+
+Apart from operations on expressions and functions one can also use
+them for series .
+
+.. #[Madhu: I am not able to understand this line. "Use them as
+.. series". Use what as series?]
+
+We first define a function f(n) in the way discussed above.::
+
+   var('n') function('f', n)
+
+.. #[Madhu: Shouldn't this be on 2 separate lines?]
+
+To sum the function for a range of discrete values of n, we use the
+sage function sum.
+
+For a convergent series , f(n)=1/n^2 we can say ::
+   
+   var('n') function('f', n)
+
+   f(n) = 1/n^2
+
+   sum(f(n), n, 1, oo)
+
+For the famous Madhava series :: var('n') function('f', n)
+
+.. #[Madhu: What is this? your double colon says it must be code block
+     but where is the indentation and other things. How will the
+     recorder know about it?]
+
+    f(n) = (-1)^(n-1)*1/(2*n - 1)
+
+This series converges to pi/4. It was used by ancient Indians to
+interpret pi.
+
+.. #[Madhu: I am losing the context. Please add something to bring
+     this thing to the context]
+
+For a divergent series, sum would raise a an error 'Sum is
+divergent' :: 
+	
+	var('n') 
+	function('f', n) 
+	f(n) = 1/n sum(f(n), n,1, oo)
+
+
+
+
+We can perform simple calculus operation using sage
+
+.. #[Madhu: When you switch to irrelevant topics make sure you use
+    some connectors in English like "Moving on let us see how to
+    perform simple calculus operations using Sage" or something like
+    that]
+For example lets try an expression first ::
+
+    diff(x**2+sin(x),x) 2x+cos(x)
+
+The diff function differentiates an expression or a function . Its
+first argument is expression or function and second argument is the
+independent variable .
+
+.. #[Madhu: Full stop, Full stop, Full stop]
+
+We have already tried an expression now lets try a function ::
+
+   f=exp(x^2)+arcsin(x) diff(f(x),x)
+
+To get a higher order differentiation we need to add an extra argument
+for order ::
+ 
+   diff(<tab> diff(f(x),x,3)
+
+.. #[Madhu: Please try to be more explicit saying third argument]
+
+in this case it is 3.
+
+
+Just like differentiation of expression you can also integrate them ::
+
+     x = var('x') s = integral(1/(1 + (tan(x))**2),x) s
+
+.. #[Madhu: Two separate lines.]
+
+To find the factors of an expression use the "factor" function
+
+.. #[Madhu: See the diff]
+
+::
+    factor(<tab> y = (x^100 - x^70)*(cos(x)^2 + cos(x)^2*tan(x)^2) f =
+    factor(y)
+
+One can also simplify complicated expression using sage ::
+    f.simplify_full()
+
+This simplifies the expression fully . You can also do simplification
+of just the algebraic part and the trigonometric part ::
+
+    f.simplify_exp() f.simplify_trig()
+    
+.. #[Madhu: Separate lines?]
+
+One can also find roots of an equation by using find_root function::
+
+    phi = var('phi') find_root(cos(phi)==sin(phi),0,pi/2)
+
+.. #[Madhu: Separate lines?]
+
+Lets substitute this solution into the equation and see we were
+correct ::
+
+     var('phi') f(phi)=cos(phi)-sin(phi)
+     root=find_root(f(phi)==0,0,pi/2) f.substitute(phi=root)
+
+.. #[Madhu: Separate lines?]
+
+as we can see the solution is almost equal to zero .
+
+.. #[Madhu: So what?]
+
+We can also define symbolic matrices ::
+
+
+
+   var('a,b,c,d') A=matrix([[a,1,0],[0,b,0],[0,c,d]]) A
+
+.. #[Madhu: Why don't you break the lines?]
+
+Now lets do some of the matrix operations on this matrix
+
+.. #[Madhu: Why don't you break the lines? Also how do you connect
+     this up? Use some transformation keywords in English]
+::
+    A.det() A.inverse()
+
+.. #[Madhu: Why don't you break the lines?]
+
+You can do ::
+    
+    A.<Tab>
+
+To see what all operations are available
+
+.. #[Madhu: Sounds very abrupt]
+
+{{{ Part of the notebook with summary }}}
+
+So in this tutorial we learnt how to
+
+
+We learnt about defining symbolic expression and functions .  
+And some built-in constants and functions .  
+Getting value of built-in constants using n function.  
+Using Tab to see the documentation.  
+Also we learnt how to sum a series using sum function.  
+diff() and integrate() for calculus operations .  
+Finding roots , factors and simplifying expression using find_root(), 
+factor() , simplify_full, simplify_exp , simplify_trig .
+Substituting values in expression using substitute function.
+And finally creating symbolic matrices and performing operation on them .
+
+.. #[Madhu: See what Nishanth is doing. He has written this as
+     points. So easy to read out while recording. You may want to
+     reorganize like that]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accessing-pieces-arrays/slides.org.orig	Tue Nov 09 15:40:53 2010 +0530
@@ -0,0 +1,123 @@
+#+LaTeX_CLASS: beamer
+#+LaTeX_CLASS_OPTIONS: [presentation]
+#+BEAMER_FRAME_LEVEL: 1
+
+#+BEAMER_HEADER_EXTRA: \usetheme{Antibes}\usecolortheme{lily}\useoutertheme{infolines}\setbeamercovered{transparent}
+#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)
+#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC
+
+#+LaTeX_CLASS: beamer
+#+LaTeX_CLASS_OPTIONS: [presentation]
+
+#+LaTeX_HEADER: \usepackage[english]{babel} \usepackage{ae,aecompl}
+#+LaTeX_HEADER: \usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet}
+
+#+LaTeX_HEADER: \usepackage{listings}
+
+#+LaTeX_HEADER:\lstset{language=Python, basicstyle=\ttfamily\bfseries,
+#+LaTeX_HEADER:  commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
+#+LaTeX_HEADER:  showstringspaces=false, keywordstyle=\color{blue}\bfseries}
+
+#+TITLE:    Accessing parts of arrays
+#+AUTHOR:    FOSSEE
+#+EMAIL:     
+#+DATE:    
+
+#+DESCRIPTION: 
+#+KEYWORDS: 
+#+LANGUAGE:  en
+#+OPTIONS:   H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
+#+OPTIONS:   TeX:t LaTeX:nil skip:nil d:nil todo:nil pri:nil tags:not-in-toc
+
+* Outline
+  - Manipulating one and multi dimensional arrays
+  - Access and change individual elements 
+  - Access and change rows and columns 
+  - Slicing and striding on arrays to access chunks 
+  - Read images into arrays and manipulations
+* Sample Arrays
+  #+begin_src python
+    In []: A = array([12, 23, 34, 45, 56])
+    
+    In []: C = array([[11, 12, 13, 14, 15],
+                      [21, 22, 23, 24, 25],
+                      [31, 32, 33, 34, 35],
+                      [41, 42, 43, 44, 45],
+                      [51, 52, 53, 54, 55]])
+    
+  #+end_src
+* Question 1
+  Change the last column of ~C~ to zeroes. 
+* Solution 1
+  #+begin_src python
+    In []:  C[:, -1] = 0
+  #+end_src
+* Question 2
+  Change ~A~ to ~[11, 12, 13, 14, 15]~. 
+* Solution 2
+  #+begin_src python
+    In []:  A[:] = [11, 12, 13, 14, 15]
+  #+end_src
+* squares.png
+  #+begin_latex
+    \begin{center}
+      \includegraphics[scale=0.6]{squares}    
+    \end{center}
+  #+end_latex
+* Question 3
+  - obtain ~[22, 23]~ from ~C~. 
+  - obtain ~[11, 21, 31, 41]~ from ~C~. 
+  - obtain ~[21, 31, 41, 0]~.   
+* Solution 3
+  #+begin_src python
+    In []:  C[1, 1:3]
+    In []:  C[0:4, 0]
+    In []:  C[1:5, 0]
+  #+end_src
+* Question 4
+  Obtain ~[[23, 24], [33, -34]]~ from ~C~
+* Solution 4
+  #+begin_src python
+    In []:  C[1:3, 2:4]
+  #+end_src
+* Question 5
+  Obtain the square in the center of the image
+* Solution 5
+  #+begin_src python
+    In []: imshow(I[75:225, 75:225])
+  #+end_src
+* Question 6
+  Obtain the following
+  #+begin_src python
+    [[12, 0], [42, 0]]
+    [[12, 13, 14], [0, 0, 0]]
+  #+end_src
+
+* Solution 6
+  #+begin_src python
+    In []: C[::3, 1::3]
+    In []: C[::4, 1:4]
+  #+end_src
+* Summary
+  You should now be able to --
+  - Manipulate single \& multi dimensional arrays
+      - Access and change individual elements 
+      - Access and change rows and columns 
+      - Slice and stride on arrays
+  - Read images into arrays and manipulate them.
+* Thank you!
+#+begin_latex
+  \begin{block}{}
+  \begin{center}
+  This spoken tutorial has been produced by the
+  \textcolor{blue}{FOSSEE} team, which is funded by the 
+  \end{center}
+  \begin{center}
+    \textcolor{blue}{National Mission on Education through \\
+      Information \& Communication Technology \\ 
+      MHRD, Govt. of India}.
+  \end{center}  
+  \end{block}
+#+end_latex
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/accessing-pieces-arrays/slides.tex.orig	Tue Nov 09 15:40:53 2010 +0530
@@ -0,0 +1,199 @@
+% Created 2010-11-03 Wed 15:37
+\documentclass[presentation]{beamer}
+\usetheme{Antibes}\usecolortheme{lily}\useoutertheme{infolines}\setbeamercovered{transparent}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{graphicx}
+\usepackage{longtable}
+\usepackage{float}
+\usepackage{wrapfig}
+\usepackage{soul}
+\usepackage{amssymb}
+\usepackage{hyperref}
+\usepackage[english]{babel} \usepackage{ae,aecompl}
+\usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet}
+\usepackage{listings}
+\lstset{language=Python, basicstyle=\ttfamily\bfseries,
+commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
+showstringspaces=false, keywordstyle=\color{blue}\bfseries}
+
+\title{Accessing parts of arrays}
+\author{FOSSEE}
+\date{}
+
+\begin{document}
+
+\maketitle
+
+
+
+
+
+
+
+
+
+\begin{frame}
+\frametitle{Outline}
+\label{sec-1}
+
+\begin{itemize}
+\item Manipulating one and multi dimensional arrays
+\item Access and change individual elements
+\item Access and change rows and columns
+\item Slicing and striding on arrays to access chunks
+\item Read images into arrays and manipulations
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Sample Arrays}
+\label{sec-2}
+
+\begin{verbatim}
+In []: A = array([12, 23, 34, 45, 56])
+
+In []: C = array([[11, 12, 13, 14, 15],
+                  [21, 22, 23, 24, 25],
+                  [31, 32, 33, 34, 35],
+                  [41, 42, 43, 44, 45],
+                  [51, 52, 53, 54, 55]])
+\end{verbatim}
+\end{frame}
+\begin{frame}
+\frametitle{Question 1}
+\label{sec-3}
+
+  Change the last column of \texttt{C} to zeroes. 
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Solution 1}
+\label{sec-4}
+
+\begin{verbatim}
+In []:  C[:, -1] = 0
+\end{verbatim}
+\end{frame}
+\begin{frame}
+\frametitle{Question 2}
+\label{sec-5}
+
+  Change \texttt{A} to \texttt{[11, 12, 13, 14, 15]}. 
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Solution 2}
+\label{sec-6}
+
+\begin{verbatim}
+In []:  A[:] = [11, 12, 13, 14, 15]
+\end{verbatim}
+\end{frame}
+\begin{frame}
+\frametitle{squares.png}
+\label{sec-7}
+
+    \begin{center}
+      \includegraphics[scale=0.6]{squares}    
+    \end{center}
+\end{frame}
+\begin{frame}
+\frametitle{Question 3}
+\label{sec-8}
+
+\begin{itemize}
+\item obtain \texttt{[22, 23]} from \texttt{C}.
+\item obtain \texttt{[11, 21, 31, 41]} from \texttt{C}.
+\item obtain \texttt{[21, 31, 41, 0]}.
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Solution 3}
+\label{sec-9}
+
+\begin{verbatim}
+In []:  C[1, 1:3]
+In []:  C[0:4, 0]
+In []:  C[1:5, 0]
+\end{verbatim}
+\end{frame}
+\begin{frame}
+\frametitle{Question 4}
+\label{sec-10}
+
+  Obtain \texttt{[[23, 24], [33, -34]]} from \texttt{C}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Solution 4}
+\label{sec-11}
+
+\begin{verbatim}
+In []:  C[1:3, 2:4]
+\end{verbatim}
+\end{frame}
+\begin{frame}
+\frametitle{Question 5}
+\label{sec-12}
+
+  Obtain the square in the center of the image
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Solution 5}
+\label{sec-13}
+
+\begin{verbatim}
+In []: imshow(I[75:225, 75:225])
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Question 6}
+\label{sec-14}
+
+  Obtain the following
+\begin{verbatim}
+[[12, 0], [42, 0]]
+[[12, 13, 14], [0, 0, 0]]
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Solution 6}
+\label{sec-15}
+
+\begin{verbatim}
+In []: C[::3, 1::3]
+In []: C[::4, 1:4]
+\end{verbatim}
+\end{frame}
+\begin{frame}
+\frametitle{Summary}
+\label{sec-16}
+
+  You should now be able to --
+\begin{itemize}
+\item Manipulate single \& multi dimensional arrays
+
+\begin{itemize}
+\item Access and change individual elements
+\item Access and change rows and columns
+\item Slice and stride on arrays
+\end{itemize}
+
+\item Read images into arrays and manipulate them.
+\end{itemize}
+\end{frame}
+\begin{frame}
+\frametitle{Thank you!}
+\label{sec-17}
+
+  \begin{block}{}
+  \begin{center}
+  This spoken tutorial has been produced by the
+  \textcolor{blue}{FOSSEE} team, which is funded by the 
+  \end{center}
+  \begin{center}
+    \textcolor{blue}{National Mission on Education through \\
+      Information \& Communication Technology \\ 
+      MHRD, Govt. of India}.
+  \end{center}  
+  \end{block}
+\end{frame}
+
+\end{document}
--- a/advanced-features-functions/script.rst	Tue Nov 09 15:15:19 2010 +0530
+++ b/advanced-features-functions/script.rst	Tue Nov 09 15:40:53 2010 +0530
@@ -169,7 +169,8 @@
   welcome()
  
 
-Let us now learn what keyword arguments are. 
+Let us now learn what keyword arguments or named arguments are. We
+shall refer to them as keyword arguments, henceforth. 
 
 {{{ show a slide with examples using keyword arguments. }}}
 
@@ -185,14 +186,6 @@
 
   pie(science.values(), labels = science.keys())
 
-.. #[[Anoop: I think it will better to introduce keyword arguments as
-   keyword/named arguments, as the keyword term was quite confusing
-   for me, so can be for someone who already know certain
-   jargon's/concepts, also it would be good to tell them that these
-   are different from keywords in programming languages, explicit is
-   better than implicit, and probably you could also tell them that
-   from now on we will refer to it as just keyword arguments]]
-
 When you are calling functions in Python, you don't need to remember
 the order in which to pass the arguments. Instead, you can use the
 name of the argument to pass it a value. This slide shows a few
@@ -249,7 +242,6 @@
 .. #[punch: Need to decide, exactly what to put here. Reviewer comments
 ..  welcome.] 
   
-
 {{{ switch to slide showing classes of functions in pylab, scipy }}}
 
 .. #[[Anoop: slide missing]]
--- a/basic-data-type/script.rst	Tue Nov 09 15:15:19 2010 +0530
+++ b/basic-data-type/script.rst	Tue Nov 09 15:40:53 2010 +0530
@@ -16,8 +16,6 @@
    External Reviewer   :
    Checklist OK?       : <put date stamp here, if OK> [2010-10-05]
 
-.. #[Puneeth: Fill in pre-requisites.]
-
 Hello friends and welcome to the tutorial on Basic Data types and operators
 in Python.
 
@@ -40,13 +38,6 @@
   * string
   * tuple
 
-.. #[Puneeth: Use double colon only for code blocks.]
-.. #[Puneeth: include more details in the outline.]
-
-with a little hands-on on how they can be applied to the different data types.
-
-
-
 First we will explore python data structures in the domain of numbers.
 There are three built-in data types in python to represent numbers.
 
@@ -58,12 +49,6 @@
   * float 
   * complex 
 
-.. #[Puneeth: Changed to  int, float and complex.]
-
-.. #[Puneeth: Loss of consistency. You talk of built-in data types, but
-.. then you were calling them integers, floats and complex. Clean up
-.. required.]
-
 Lets first talk about int. ::
 
    a = 13
@@ -78,17 +63,14 @@
    type(a)
    <type 'int'>
 
-This means that a is a type of int. Being an int data type in python
-means that there are various functions that this variable has to manipulate
-in different ways. You can explore these by doing,
+This means that a is a type of int. There are lot of functions associated
+with the int datatype, to manipulate it in different ways. These can be
+explored by doing, ::
 
   a.<Tab>
 
-.. #[Puneeth: Why are we suddenly talking of limits?
-.. Something like this would be better. 
-.. int data-type can hold integers of any size. for example - ]
-
 *int* datatype can hold integers of any size lets see this by an example.
+::
 
   b = 99999999999999999999
   b
@@ -97,11 +79,6 @@
 not complain. This is because python's int data-type can hold integers of any
 size.
 
-.. #[Puneeth: again, the clean-up that I talked of above. Decide if you are
-.. talking about the different type of numbers and the datatypes that are
-.. used to represent them or if you are talking of the data-types and what
-.. kind of numbers they represent. I think you should choose the former.]
-
 Let us now look at the float data-type. 
 
 Decimal numbers in python are represented by the float data-type ::
@@ -109,10 +86,10 @@
   p = 3.141592
   p
 
-If you notice the value of output of p isn't exactly equal to p. This is
-because computer saves floating point values in a specific format. There is
-always an aproximationation. This is why we should never rely on equality
-of floating point numbers in a program.
+If you notice the value of output of ``p`` isn't exactly equal to ``p``.
+This is because computer saves floating point values in a specific format.
+There is always an approximation. This is why we should never rely on
+equality of floating point numbers in a program.
 
 The last data type in the list is complex number ::
 
@@ -120,7 +97,7 @@
 
 as simple as that so essentialy its just a combination of two floats the
 imaginary part being defined by j notation instead of i. Complex numbers
-have a lot of functions specific to them. Lets check these ::
+have a lot of functions specific to them. Let us look at these ::
 
   c.<Tab>
 
@@ -174,10 +151,6 @@
 
 The results are self explanatory.
 
-.. #[Puneeth: Why does booleans bring us to precedence? I don't see the
-.. connection. Am I missing something?]
-
-
 What if you want to apply one operator before another.
 
 Well you can use parenthesis for precedence.
@@ -189,8 +162,6 @@
   c=True
 
 
-.. #[Puneeth: Consistency. In[]: is not present at other places.]
-
 To check how precedence changes with parenthesis, we will try two
 expressions and their evaluation.
 
@@ -210,14 +181,12 @@
 Let's now look at some operators available in Python to manipulate
 these data types.
 
-.. #[Puneeth: A mention of other operators would be good? Starting
-.. with % and ** is a bit weird.]
-
 Python uses '+' for addition ::
 
   23 + 74
 
 '-' for subtraction ::
+
   23 - 56
 
 '*' for multiplication ::
@@ -264,26 +233,26 @@
 
    a=a/23
 
-Following is an (are) exercise(s) that you must do. 
+Following is are exercises that you must do. 
 
 %% %% Using python find sqaure root of 3?
+
+%% %% Is 3**1/2 and 3**0.5 same
+
+Please, pause the video here. Do the exercises and then continue.
+
 ::
 
    3**0.5
 
-%% %% Is 3**1/2 and 3**0.5 same
 ::
     No,One gives an int answer and the other float        
 
-Please, pause the video here. Do the exercises and then continue.
-
 
 Lets now discuss sequence data types in Python. Sequence data types
 are those in which elements are kept in a sequential order and all the 
 elements are accessed using index numbers.
 
-.. #[Puneeth: fix the last sentence - it sounds incomplete]
-
 {{{ slide introducing sequence datatype }}}
 
 The sequence datatypes in Python are ::
@@ -310,8 +279,6 @@
  var_list = [1, 1.2, [1,2]]	
  var_list
 
-.. #[Puneeth: some continuity, when jumping to strings?]
-
 Lets look at another sequence data type, strings
 
 type :: 
@@ -329,12 +296,8 @@
    l="Let's see how to include a single quote"
    m='''"Let's see how to include both"'''
 
-.. #[Puneeth: Contain's? That's not a word!]
-
 As you can see, single quotes are used as delimiters usually.
 
-.. #[Puneeth: Thus?]
-
 When a string contains a single quote, double quotes are used as
 delimiters. When a string quote contains both single and double quotes,
 triple quotes are used as delimiters.
@@ -403,10 +366,8 @@
    sorted(num_list)
    
 
-As a consequence of there order we can access a group of elements 
-in a sequence,together. This is called slicing and striding.
-
-.. #[Puneeth: Fix the sentence above. ]
+As a consequence of their order, we can access a group of elements in a
+sequence, together. This is called slicing and striding.
 
 First lets discuss Slicing, 
 
@@ -563,8 +524,8 @@
 Please, pause the video here. Do the exercise(s) and then continue. 
 
 
-
-In this tutorial we have discussed 
+This brings us to the end of the tutorial. In this tutorial we have
+discussed
 
 1. Number Datatypes , integer,float and complex 
 2. Boolean and datatype and operators
@@ -574,16 +535,6 @@
 6. Finding length , sorting and reversing operations on sequences.
 7. Immutability.
 
-
-
-
-.. #[Nishanth]: string to list is fine. But list to string can be left for
-                string manipulations. Just say it requires some string 
-                manipulations and leave it there.
-
-.. #[Nishanth]: Where is the summary
-                There are no exercises in the script
-
 {{{ Show the "sponsored by FOSSEE" slide }}}
 
 This tutorial was created as a part of FOSSEE project, NME ICT, MHRD India
--- a/basic-data-type/slides.org	Tue Nov 09 15:15:19 2010 +0530
+++ b/basic-data-type/slides.org	Tue Nov 09 15:40:53 2010 +0530
@@ -18,50 +18,49 @@
 #+LaTeX_HEADER:  commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
 #+LaTeX_HEADER:  showstringspaces=false, keywordstyle=\color{blue}\bfseries}
 
-#+TITLE: Basic Data Types
+#+TITLE: Plotting Data 
 #+AUTHOR: FOSSEE
 #+DATE: 2010-09-14 Tue
-#+EMAIL:     info@fossee.in
+#+EMAIL: info@fossee.in
 
 #+DESCRIPTION: 
 #+KEYWORDS: 
 #+LANGUAGE:  en
-#+OPTIONS:   H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
+#+OPTIONS:   H:1 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
 #+OPTIONS:   TeX:t LaTeX:nil skip:nil d:nil todo:nil pri:nil tags:not-in-toc
-
+#+STARTUP:    align fold nodlcheck hidestars oddeven lognotestate
 
 * Outline 
 ** Datatypes in Python
-    - Numbers
-    - Boolean
-    - Sequence
-**  Operators in Python
-    - Arithmetic Operators
-    - Boolean Operators
+*** Numbers
+*** Boolean
+*** Sequence
+** Operators in Python
+*** Arithmetic Operators
+*** Boolean Operators
 ** Python Sequence Datatypes
-   - list
-   - string
-   - tuple
+*** list
+*** string
+*** tuple
 
 * Numbers
-  - Integers
-  - Float
-  - Complex
+  - int
+  - float
+  - complex
 * Question 1
    - Find the absolute value of 3+4j 
 * Solution 1
-
-        abs(3+4j)
-
+  #+begin_src python
+    abs(3+4j)
+  #+end_src python
 * Question 2
   - What is the datatype of number 999999999999999999? Is it
 not int?
 
 * Solution 2
-        
-        - Long
-        - Large integers numbers are internally stored in python
-        as Long datatype.  
+  - Long
+  - Large integers numbers are internally stored in python as Long
+    datatype.
 
 
 * Boolean
@@ -70,16 +69,16 @@
     In []: f=False
   #+end_src
 
-* Question 1
+* Question 3
   - Using python find sqaure root of 3?
 
-* Solution 1
+* Solution 3
 
   - 3**0.5
 
-* Question 2
+* Question 4
   - Is 3**1/2 and 3**0.5 same
-* Solution 2
+* Solution 4
   - No,One gives an int answer and the other float        
 
 * Sequence Data types
@@ -93,71 +92,51 @@
 
 * All are Strings
    #+begin_src python 
-      k='Single quote'
-      l="Double quote contain's single quote"
-      m='''"Contain's both"'''
+      k = 'Single quote'
+      l = "Double quote contain's single quote"
+      m = '''"Contain's both"'''
 
     #+end_src 
 * Immutabilty Error
    #+begin_src python
       In []: greeting_string[1]='k'
-      ---------------------------------------------------------------------------
-      TypeError                                 Traceback (most recent call       last)
+      -------------------------------------------------------
+      TypeError           Traceback (most recent call last)
 
-      /home/amit/st-scripts/basic-data-type/<ipython console> in <module>()
+      /home/fossee/<ipython console> in <module>()
 
       TypeError: 'str' object does not support item assignment
    #+end_src 
 
-* Question 1
-   - Check if 3 is an element of the list [1,7,5,3,4]. In case
-it is change it to 21.
+* Question 5
+  Check if 3 is an element of the list [1,7,5,3,4]. In case it is
+change it to 21.
 
-* Solution 1
+* Solution 5
      #+begin_src python
         l=[1,7,5,3,4]
         3 in l
         l[3]=21
         l
      #+end_src
-* Question 2
-  - Convert the string "Elizabeth is queen of england" to
-"Elizabeth is queen"
+* Question 6
+  Convert the string ~"Elizabeth is queen of england"~ to ~"Elizabeth is
+queen"~
 
-* Solution 2
+* Solution 6
      #+begin_src python
-    s="Elizabeth is queen of england"                                                                                                                 
-    stemp=s.split()                                                                                                                                   
+    s = "Elizabeth is queen of england"                                                                                                                 
+    stemp = s.split()                                                                                                                                   
     ' '.join(stemp[:3])                                                                                                                               
     #+end_src 
 * Summary 
-   #+begin_src python 
-    a=73
-    b=3.14
-    c=3+4j
-
-   #+end_src
-* Summary Contd.
-   #+begin_src python
-     t=True
-     f=False
-     t and f
-   #+end_src
-* Summary Contd.
-   #+begin_src python 
-     l= [2,1,4,3]
-     s='hello'
-     tu=(1,2,3,4)
-   #+end_src
-* Summary Contd.
-   #+begin_src python 
-     tu[-1]
-     s[1:-1]
-   #+end_src
-* Summary Contd.
-   #+begin_src python  
-     Sorted(l)
-   #+end_src
+  - Number Datatypes -- integer,float and complex 
+  - Boolean and datatype and operators
+  - Sequence data types -- List, String and Tuple
+  - Accesing sequence
+  - Slicing sequences
+  - Finding length, sorting and reversing operations on sequences
+  - Immutability
 * Thank you!
 #+begin_latex
   \begin{block}{}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/basic-data-type/slides.org.orig	Tue Nov 09 15:40:53 2010 +0530
@@ -0,0 +1,158 @@
+#+LaTeX_CLASS: beamer
+#+LaTeX_CLASS_OPTIONS: [presentation]
+#+BEAMER_FRAME_LEVEL: 1
+
+#+BEAMER_HEADER_EXTRA: \usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
+#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)
+#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC
+
+#+LaTeX_CLASS: beamer
+#+LaTeX_CLASS_OPTIONS: [presentation]
+
+#+LaTeX_HEADER: \usepackage[english]{babel} \usepackage{ae,aecompl}
+#+LaTeX_HEADER: \usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet}
+
+#+LaTeX_HEADER: \usepackage{listings}
+
+#+LaTeX_HEADER:\lstset{language=Python, basicstyle=\ttfamily\bfseries,
+#+LaTeX_HEADER:  commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
+#+LaTeX_HEADER:  showstringspaces=false, keywordstyle=\color{blue}\bfseries}
+
+#+TITLE: Plotting Data 
+#+AUTHOR: FOSSEE
+#+DATE: 2010-09-14 Tue
+#+EMAIL: info@fossee.in
+
+#+DESCRIPTION: 
+#+KEYWORDS: 
+#+LANGUAGE:  en
+#+OPTIONS:   H:1 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
+#+OPTIONS:   TeX:t LaTeX:nil skip:nil d:nil todo:nil pri:nil tags:not-in-toc
+#+STARTUP:    align fold nodlcheck hidestars oddeven lognotestate
+
+* Outline 
+** Datatypes in Python
+*** Numbers
+*** Boolean
+*** Sequence
+** Operators in Python
+*** Arithmetic Operators
+*** Boolean Operators
+** Python Sequence Datatypes
+*** list
+*** string
+*** tuple
+
+* Numbers
+  - int
+  - float
+  - complex
+* Question 1
+   - Find the absolute value of 3+4j 
+* Solution 1
+  #+begin_src python
+    abs(3+4j)
+  #+end_src python
+* Question 2
+  - What is the datatype of number 999999999999999999? Is it
+not int?
+
+* Solution 2
+  - Long
+  - Large integers numbers are internally stored in python as Long
+    datatype.
+
+
+* Boolean
+  #+begin_src python
+    In []: t=True
+    In []: f=False
+  #+end_src
+
+* Question 3
+  - Using python find sqaure root of 3?
+
+* Solution 3
+
+  - 3**0.5
+
+* Question 4
+  - Is 3**1/2 and 3**0.5 same
+* Solution 4
+  - No,One gives an int answer and the other float        
+
+* Sequence Data types
+** Properties
+ - Data in Sequence 
+ - Accessed using Index
+** Type
+ - list
+ - String
+ - Tuple
+
+* All are Strings
+   #+begin_src python 
+      k = 'Single quote'
+      l = "Double quote contain's single quote"
+      m = '''"Contain's both"'''
+
+    #+end_src 
+* Immutabilty Error
+   #+begin_src python
+      In []: greeting_string[1]='k'
+      -------------------------------------------------------
+      TypeError           Traceback (most recent call last)
+
+      /home/fossee/<ipython console> in <module>()
+
+      TypeError: 'str' object does not support item assignment
+   #+end_src 
+
+* Question 5
+  Check if 3 is an element of the list [1,7,5,3,4]. In case it is
+change it to 21.
+
+* Solution 5
+     #+begin_src python
+        l=[1,7,5,3,4]
+        3 in l
+        l[3]=21
+        l
+     #+end_src
+* Question 6
+  Convert the string ~"Elizabeth is queen of england"~ to ~"Elizabeth is
+queen"~
+
+* Solution 6
+     #+begin_src python
+    s = "Elizabeth is queen of england"                                                                                                                 
+    stemp = s.split()                                                                                                                                   
+    ' '.join(stemp[:3])                                                                                                                               
+    #+end_src 
+* Summary 
+  - Number Datatypes -- integer,float and complex 
+  - Boolean and datatype and operators
+  - Sequence data types -- List, String and Tuple
+  - Accesing sequence
+  - Slicing sequences
+  - Finding length, sorting and reversing operations on sequences
+  - Immutability
+* Thank you!
+#+begin_latex
+  \begin{block}{}
+  \begin{center}
+  This spoken tutorial has been produced by the
+  \textcolor{blue}{FOSSEE} team, which is funded by the 
+  \end{center}
+  \begin{center}
+    \textcolor{blue}{National Mission on Education through \\
+      Information \& Communication Technology \\ 
+      MHRD, Govt. of India}.
+  \end{center}  
+  \end{block}
+#+end_latex
+
+
+
+
+
--- a/basic-data-type/slides.tex	Tue Nov 09 15:15:19 2010 +0530
+++ b/basic-data-type/slides.tex	Tue Nov 09 15:40:53 2010 +0530
@@ -1,4 +1,4 @@
-% Created 2010-11-09 Tue 01:27
+% Created 2010-11-09 Tue 15:26
 \documentclass[presentation]{beamer}
 \usepackage[latin1]{inputenc}
 \usepackage[T1]{fontenc}
@@ -41,7 +41,6 @@
 
 
 
-
 \begin{frame}
 \frametitle{Outline}
 \label{sec-1}
@@ -50,29 +49,36 @@
 \item Datatypes in Python
 \label{sec-1_1}%
 \begin{itemize}
-\item Numbers
-\item Boolean
-\item Sequence
-\end{itemize}
 
+\item Numbers\\
+\label{sec-1_1_1}%
+\item Boolean\\
+\label{sec-1_1_2}%
+\item Sequence\\
+\label{sec-1_1_3}%
+\end{itemize} % ends low level
 
 \item Operators in Python
 \label{sec-1_2}%
 \begin{itemize}
-\item Arithmetic Operators
-\item Boolean Operators
-\end{itemize}
 
+\item Arithmetic Operators\\
+\label{sec-1_2_1}%
+\item Boolean Operators\\
+\label{sec-1_2_2}%
+\end{itemize} % ends low level
 
 \item Python Sequence Datatypes
 \label{sec-1_3}%
 \begin{itemize}
-\item list
-\item string
-\item tuple
-\end{itemize}
 
-
+\item list\\
+\label{sec-1_3_1}%
+\item string\\
+\label{sec-1_3_2}%
+\item tuple\\
+\label{sec-1_3_3}%
+\end{itemize} % ends low level
 \end{itemize} % ends low level
 \end{frame}
 \begin{frame}
@@ -80,9 +86,9 @@
 \label{sec-2}
 
 \begin{itemize}
-\item Integers
-\item Float
-\item Complex
+\item int
+\item float
+\item complex
 \end{itemize}
 \end{frame}
 \begin{frame}
@@ -93,12 +99,13 @@
 \item Find the absolute value of 3+4j
 \end{itemize}
 \end{frame}
-\begin{frame}
+\begin{frame}[fragile]
 \frametitle{Solution 1}
 \label{sec-4}
 
-
-        abs(3+4j)
+\begin{verbatim}
+abs(3+4j)
+\end{verbatim}
 \end{frame}
 \begin{frame}
 \frametitle{Question 2}
@@ -114,13 +121,11 @@
 \frametitle{Solution 2}
 \label{sec-6}
 
-        
 \begin{itemize}
 \item Long
-\item Large integers numbers are internally stored in python
+\item Large integers numbers are internally stored in python as Long
+    datatype.
 \end{itemize}
-
-        as Long datatype.  
 \end{frame}
 \begin{frame}[fragile]
 \frametitle{Boolean}
@@ -132,7 +137,7 @@
 \end{verbatim}
 \end{frame}
 \begin{frame}
-\frametitle{Question 1}
+\frametitle{Question 3}
 \label{sec-8}
 
 \begin{itemize}
@@ -140,7 +145,7 @@
 \end{itemize}
 \end{frame}
 \begin{frame}
-\frametitle{Solution 1}
+\frametitle{Solution 3}
 \label{sec-9}
 
 
@@ -149,7 +154,7 @@
 \end{itemize}
 \end{frame}
 \begin{frame}
-\frametitle{Question 2}
+\frametitle{Question 4}
 \label{sec-10}
 
 \begin{itemize}
@@ -157,7 +162,7 @@
 \end{itemize}
 \end{frame}
 \begin{frame}
-\frametitle{Solution 2}
+\frametitle{Solution 4}
 \label{sec-11}
 
 \begin{itemize}
@@ -193,9 +198,9 @@
 \label{sec-13}
 
 \begin{verbatim}
-k='Single quote'
-l="Double quote contain's single quote"
-m='''"Contain's both"'''
+k = 'Single quote'
+l = "Double quote contain's single quote"
+m = '''"Contain's both"'''
 \end{verbatim}
 \end{frame}
 \begin{frame}[fragile]
@@ -204,26 +209,23 @@
 
 \begin{verbatim}
 In []: greeting_string[1]='k'
----------------------------------------------------------------------------
-TypeError                                 Traceback (most recent call       last)
+-------------------------------------------------------
+TypeError           Traceback (most recent call last)
 
-/home/amit/st-scripts/basic-data-type/<ipython console> in <module>()
+/home/fossee/<ipython console> in <module>()
 
 TypeError: 'str' object does not support item assignment
 \end{verbatim}
 \end{frame}
 \begin{frame}
-\frametitle{Question 1}
+\frametitle{Question 5}
 \label{sec-15}
 
-\begin{itemize}
-\item Check if 3 is an element of the list [1,7,5,3,4]. In case
-\end{itemize}
-
-it is change it to 21.
+  Check if 3 is an element of the list [1,7,5,3,4]. In case it is
+change it to 21.
 \end{frame}
 \begin{frame}[fragile]
-\frametitle{Solution 1}
+\frametitle{Solution 5}
 \label{sec-16}
 
 \begin{verbatim}
@@ -234,75 +236,39 @@
 \end{verbatim}
 \end{frame}
 \begin{frame}
-\frametitle{Question 2}
+\frametitle{Question 6}
 \label{sec-17}
 
-\begin{itemize}
-\item Convert the string ``Elizabeth is queen of england'' to
-\end{itemize}
-
-``Elizabeth is queen''
+  Convert the string \~{}''Elizabeth is queen of england''\~{} to \~{}''Elizabeth is
+queen''\~{}
 \end{frame}
 \begin{frame}[fragile]
-\frametitle{Solution 2}
+\frametitle{Solution 6}
 \label{sec-18}
 
 \begin{verbatim}
-s="Elizabeth is queen of england"                                                                                                                 
-stemp=s.split()                                                                                                                                   
+s = "Elizabeth is queen of england"                                                                                                                 
+stemp = s.split()                                                                                                                                   
 ' '.join(stemp[:3])
 \end{verbatim}
 \end{frame}
-\begin{frame}[fragile]
+\begin{frame}
 \frametitle{Summary}
 \label{sec-19}
 
-\begin{verbatim}
-a=73
-b=3.14
-c=3+4j
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Summary Contd.}
-\label{sec-20}
-
-\begin{verbatim}
-t=True
-f=False
-t and f
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Summary Contd.}
-\label{sec-21}
-
-\begin{verbatim}
-l= [2,1,4,3]
-s='hello'
-tu=(1,2,3,4)
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Summary Contd.}
-\label{sec-22}
-
-\begin{verbatim}
-tu[-1]
-s[1:-1]
-\end{verbatim}
-\end{frame}
-\begin{frame}[fragile]
-\frametitle{Summary Contd.}
-\label{sec-23}
-
-\begin{verbatim}
-Sorted(l)
-\end{verbatim}
+\begin{itemize}
+\item Number Datatypes -- integer,float and complex
+\item Boolean and datatype and operators
+\item Sequence data types -- List, String and Tuple
+\item Accesing sequence
+\item Slicing sequences
+\item Finding length, sorting and reversing operations on sequences
+\item Immutability
+\end{itemize}
 \end{frame}
 \begin{frame}
 \frametitle{Thank you!}
-\label{sec-24}
+\label{sec-20}
 
   \begin{block}{}
   \begin{center}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/getting-started-with-lists/questions.rst.orig	Tue Nov 09 15:40:53 2010 +0530
@@ -0,0 +1,56 @@
+Objective Questions
+-------------------
+
+.. A mininum of 8 questions here (along with answers)
+
+1. How do you create an empty list? ::
+
+       empty=[]
+   
+2. What is the most important property of sequence data types like lists?
+
+   The elements are in order and can be accessed by index numbers.
+
+3. Can you have a list inside a list ? 
+
+   Yes,List can contain all the other data types, including list. 
+   
+   Example:
+   list_in_list=[2.3,[2,4,6],'string,'all datatypes can be there']
+   
+4. What is the index number of the first element in a list?
+
+   0
+   nonempty = ['spam', 'eggs', 100, 1.234]
+   nonempty[0]
+
+5. How would you access the end of a list without finding its length?
+
+   Using negative indices. We can the list from the end using negative indices.
+
+   ::
+   nonempty = ['spam', 'eggs', 100, 1.234]
+   nonempty[-1]
+
+6. What is the function to find the length of a list?
+
+   len
+
+7. Delete the last element from list sq=[5,4,3,2,1,0]
+
+   del(sq[-1])
+   
+8. How many will you have to use remove function to remove all 6's from the given list sq=[2,5,6,7,6,4,6]?
+
+   3
+
+Larger Questions
+----------------
+
+.. A minimum of 2 questions here (along with answers)
+
+1. Add all elemets of seq1=['e','f','g','h']
+to the sequence seq=['a','b','c','d']
+   
+2. Delete all elements of seq1=[3,5,6] from sequence
+   seq=[1,2,3,4,5,6,7,8,9]
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/getting-started-with-lists/script.rst.orig	Tue Nov 09 15:40:53 2010 +0530
@@ -0,0 +1,361 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<meta name="generator" content="Docutils 0.6: http://docutils.sourceforge.net/" />
+<title></title>
+<style type="text/css">
+
+/*
+:Author: David Goodger (goodger@python.org)
+:Id: $Id: html4css1.css 5951 2009-05-18 18:03:10Z milde $
+:Copyright: This stylesheet has been placed in the public domain.
+
+Default cascading style sheet for the HTML output of Docutils.
+
+See http://docutils.sf.net/docs/howto/html-stylesheets.html for how to
+customize this style sheet.
+*/
+
+/* used to remove borders from tables and images */
+.borderless, table.borderless td, table.borderless th {
+  border: 0 }
+
+table.borderless td, table.borderless th {
+  /* Override padding for "table.docutils td" with "! important".
+     The right padding separates the table cells. */
+  padding: 0 0.5em 0 0 ! important }
+
+.first {
+  /* Override more specific margin styles with "! important". */
+  margin-top: 0 ! important }
+
+.last, .with-subtitle {
+  margin-bottom: 0 ! important }
+
+.hidden {
+  display: none }
+
+a.toc-backref {
+  text-decoration: none ;
+  color: black }
+
+blockquote.epigraph {
+  margin: 2em 5em ; }
+
+dl.docutils dd {
+  margin-bottom: 0.5em }
+
+/* Uncomment (and remove this text!) to get bold-faced definition list terms
+dl.docutils dt {
+  font-weight: bold }
+*/
+
+div.abstract {
+  margin: 2em 5em }
+
+div.abstract p.topic-title {
+  font-weight: bold ;
+  text-align: center }
+
+div.admonition, div.attention, div.caution, div.danger, div.error,
+div.hint, div.important, div.note, div.tip, div.warning {
+  margin: 2em ;
+  border: medium outset ;
+  padding: 1em }
+
+div.admonition p.admonition-title, div.hint p.admonition-title,
+div.important p.admonition-title, div.note p.admonition-title,
+div.tip p.admonition-title {
+  font-weight: bold ;
+  font-family: sans-serif }
+
+div.attention p.admonition-title, div.caution p.admonition-title,
+div.danger p.admonition-title, div.error p.admonition-title,
+div.warning p.admonition-title {
+  color: red ;
+  font-weight: bold ;
+  font-family: sans-serif }
+
+/* Uncomment (and remove this text!) to get reduced vertical space in
+   compound paragraphs.
+div.compound .compound-first, div.compound .compound-middle {
+  margin-bottom: 0.5em }
+
+div.compound .compound-last, div.compound .compound-middle {
+  margin-top: 0.5em }
+*/
+
+div.dedication {
+  margin: 2em 5em ;
+  text-align: center ;
+  font-style: italic }
+
+div.dedication p.topic-title {
+  font-weight: bold ;
+  font-style: normal }
+
+div.figure {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+div.footer, div.header {
+  clear: both;
+  font-size: smaller }
+
+div.line-block {
+  display: block ;
+  margin-top: 1em ;
+  margin-bottom: 1em }
+
+div.line-block div.line-block {
+  margin-top: 0 ;
+  margin-bottom: 0 ;
+  margin-left: 1.5em }
+
+div.sidebar {
+  margin: 0 0 0.5em 1em ;
+  border: medium outset ;
+  padding: 1em ;
+  background-color: #ffffee ;
+  width: 40% ;
+  float: right ;
+  clear: right }
+
+div.sidebar p.rubric {
+  font-family: sans-serif ;
+  font-size: medium }
+
+div.system-messages {
+  margin: 5em }
+
+div.system-messages h1 {
+  color: red }
+
+div.system-message {
+  border: medium outset ;
+  padding: 1em }
+
+div.system-message p.system-message-title {
+  color: red ;
+  font-weight: bold }
+
+div.topic {
+  margin: 2em }
+
+h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
+h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
+  margin-top: 0.4em }
+
+h1.title {
+  text-align: center }
+
+h2.subtitle {
+  text-align: center }
+
+hr.docutils {
+  width: 75% }
+
+img.align-left, .figure.align-left{
+  clear: left ;
+  float: left ;
+  margin-right: 1em }
+
+img.align-right, .figure.align-right {
+  clear: right ;
+  float: right ;
+  margin-left: 1em }
+
+.align-left {
+  text-align: left }
+
+.align-center {
+  clear: both ;
+  text-align: center }
+
+.align-right {
+  text-align: right }
+
+/* reset inner alignment in figures */
+div.align-right {
+  text-align: left }
+
+/* div.align-center * { */
+/*   text-align: left } */
+
+ol.simple, ul.simple {
+  margin-bottom: 1em }
+
+ol.arabic {
+  list-style: decimal }
+
+ol.loweralpha {
+  list-style: lower-alpha }
+
+ol.upperalpha {
+  list-style: upper-alpha }
+
+ol.lowerroman {
+  list-style: lower-roman }
+
+ol.upperroman {
+  list-style: upper-roman }
+
+p.attribution {
+  text-align: right ;
+  margin-left: 50% }
+
+p.caption {
+  font-style: italic }
+
+p.credits {
+  font-style: italic ;
+  font-size: smaller }
+
+p.label {
+  white-space: nowrap }
+
+p.rubric {
+  font-weight: bold ;
+  font-size: larger ;
+  color: maroon ;
+  text-align: center }
+
+p.sidebar-title {
+  font-family: sans-serif ;
+  font-weight: bold ;
+  font-size: larger }
+
+p.sidebar-subtitle {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+p.topic-title {
+  font-weight: bold }
+
+pre.address {
+  margin-bottom: 0 ;
+  margin-top: 0 ;
+  font: inherit }
+
+pre.literal-block, pre.doctest-block {
+  margin-left: 2em ;
+  margin-right: 2em }
+
+span.classifier {
+  font-family: sans-serif ;
+  font-style: oblique }
+
+span.classifier-delimiter {
+  font-family: sans-serif ;
+  font-weight: bold }
+
+span.interpreted {
+  font-family: sans-serif }
+
+span.option {
+  white-space: nowrap }
+
+span.pre {
+  white-space: pre }
+
+span.problematic {
+  color: red }
+
+span.section-subtitle {
+  /* font-size relative to parent (h1..h6 element) */
+  font-size: 80% }
+
+table.citation {
+  border-left: solid 1px gray;
+  margin-left: 1px }
+
+table.docinfo {
+  margin: 2em 4em }
+
+table.docutils {
+  margin-top: 0.5em ;
+  margin-bottom: 0.5em }
+
+table.footnote {
+  border-left: solid 1px black;
+  margin-left: 1px }
+
+table.docutils td, table.docutils th,
+table.docinfo td, table.docinfo th {
+  padding-left: 0.5em ;
+  padding-right: 0.5em ;
+  vertical-align: top }
+
+table.docutils th.field-name, table.docinfo th.docinfo-name {
+  font-weight: bold ;
+  text-align: left ;
+  white-space: nowrap ;
+  padding-left: 0 }
+
+h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
+h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
+  font-size: 100% }
+
+ul.auto-toc {
+  list-style-type: none }
+
+</style>
+</head>
+<body>
+<div class="document">
+
+
+<div class="section" id="objective-questions">
+<h1>Objective Questions</h1>
+<!-- A mininum of 8 questions here (along with answers) -->
+<ol class="arabic">
+<li><p class="first">How do you create an empty list?</p>
+<pre class="literal-block">
+empty=[]
+</pre>
+</li>
+<li><p class="first">What is the most important property of sequence data types like lists?</p>
+<p>The elements are in order and can be accessed by index numbers.</p>
+</li>
+<li><p class="first">Can you have a list inside a list ?</p>
+<p>Yes,List can contain all the other data types, including list.</p>
+<p>Example:
+list_in_list=[2.3,[2,4,6],'string,'all datatypes can be there']</p>
+</li>
+<li><p class="first">What is the index number of the first element in a list?</p>
+<p>0
+nonempty = ['spam', 'eggs', 100, 1.234]
+nonempty[0]</p>
+</li>
+<li><p class="first">How would you access the end of a list without finding its length?</p>
+<p>Using negative indices. We can the list from the end using negative indices.</p>
+<p>::
+nonempty = ['spam', 'eggs', 100, 1.234]
+nonempty[-1]</p>
+</li>
+<li><p class="first">What is the function to find the length of a list?</p>
+<p>len</p>
+</li>
+<li><p class="first">Delete the last element from list sq=[5,4,3,2,1,0]</p>
+<p>del(sq[-1])</p>
+</li>
+<li><p class="first">How many will you have to use remove function to remove all 6's from the given list sq=[2,5,6,7,6,4,6]?</p>
+<p>3</p>
+</li>
+</ol>
+</div>
+<div class="section" id="larger-questions">
+<h1>Larger Questions</h1>
+<!-- A minimum of 2 questions here (along with answers) -->
+<p>1. Add all elemets of seq1=['e','f','g','h']
+to the sequence seq=['a','b','c','d']</p>
+<ol class="arabic simple" start="2">
+<li>Delete all elements of seq1=[3,5,6] from sequence
+seq=[1,2,3,4,5,6,7,8,9]</li>
+</ol>
+</div>
+</div>
+</body>
+</html>
--- a/input_output/script.rst	Tue Nov 09 15:15:19 2010 +0530
+++ b/input_output/script.rst	Tue Nov 09 15:40:53 2010 +0530
@@ -12,7 +12,7 @@
 ..   1. Loops
      
 .. Author              : Nishanth Amuluru
-   Internal Reviewer   : 
+   Internal Reviewer   : Puneeth 
    External Reviewer   :
    Checklist OK?       : <put date stamp here, if OK> [2010-10-05]
 
@@ -26,10 +26,10 @@
 {{{ Show the slide containing the outline slide }}}
 
 Input and Output are used in almost every program we use.
-In this tutorial, we shall learn
+In this tutorial, we shall learn how to 
 
- * Outputting data
- * Taking input from the user
+ * Output data
+ * Take input from the user
 
 type
 ::
@@ -38,7 +38,11 @@
     a
     print a
      
+<<<<<<< local
 print a, prints the value of a.
+=======
+``print a``, obviously, is printing the value of ``a``.
+>>>>>>> other
 As you can see, even when you type just a, the value of a is shown.
 But there is a difference.
 
@@ -59,13 +63,20 @@
 Moreover when we type just a, the value a is shown only in interactive mode and
 does not have any effect on the program while running it as a script.
 
+.. #[punch: I think we could show that?]
+
 We shall look at different ways of outputting the data.
 
+<<<<<<< local
 .. #[Amit: C's printf syntax ?? i think its better to elaborate the
    idea]
 
 print statement  in python supports string formatting.
 Various arguments can be passed to print using modifiers.
+=======
+``print`` statement also accepts the syntax of C's ``printf`` statement.
+Various arguments can be passed to ``print`` using modifiers.
+>>>>>>> other
 type
 ::
 
@@ -74,7 +85,8 @@
     z = "zed"
     print "x is %2.1f y is %d z is %s"%(x,y)
 
-As you can see, the values of x and y are substituted in place of %2.1f and %d
+As you can see, the values of x and y are substituted in place of
+``%2.1f`` and ``%d`` 
 
 {{{ Pause here and try out the following exercises }}}
 
@@ -82,12 +94,12 @@
 
 {{{ continue from paused state }}}
 
-We see that the int value of x and float value of y are printed corresponding
-to the modifiers used in the print statement.
+We see that the ``int`` value of x and ``float`` value of y are
+printed corresponding to the modifiers used in the print statement.
 
-We can also see that print statement prints a new line character at the end of
-line, everytime it is called. This can be suppressed by using a "," at the end
-print statement.
+We can also see that ``print`` statement prints a new line character
+at the end of the line, everytime it is called. This can be suppressed
+by using a "," at the end ``print`` statement.
 
 Let us see this by typing out following code on an editor as print_example.py
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/input_output/script.rst.orig	Tue Nov 09 15:40:53 2010 +0530
@@ -0,0 +1,222 @@
+.. Objectives
+.. ----------
+
+.. #. How to print some value
+.. #. How to print using modifiers
+.. #. How to take input from user
+.. #. How to display a prompt to the user before taking the input
+
+.. Prerequisites
+.. -------------
+
+..   1. Loops
+     
+.. Author              : Nishanth Amuluru
+   Internal Reviewer   : Puneeth 
+   External Reviewer   :
+   Checklist OK?       : <put date stamp here, if OK> [2010-10-05]
+
+Script
+------
+
+Hello friends and welcome to this tutorial on Input/Output
+
+{{{ Show the slide containing title }}}
+
+{{{ Show the slide containing the outline slide }}}
+
+Input and Output are used in almost every program we use.
+In this tutorial, we shall learn how to 
+
+ * Output data
+ * Take input from the user
+
+type
+::
+ 
+    a = "This is a string"
+    a
+    print a
+     
+<<<<<<< local
+print a, prints the value of a.
+=======
+``print a``, obviously, is printing the value of ``a``.
+>>>>>>> other
+As you can see, even when you type just a, the value of a is shown.
+But there is a difference.
+
+.. #[Amit: The next sentence does seem to be clear enough]
+
+Typing a shows the value of a while print a prints the string. This difference
+becomes more evident when we use strings with newlines in them.
+type
+::
+
+    b = "A line \n New line"
+    b
+    print b
+
+As you can see, just typing b shows that b contains a newline character.
+While typing print b prints the string and hence the newline.
+
+Moreover when we type just a, the value a is shown only in interactive mode and
+does not have any effect on the program while running it as a script.
+
+.. #[punch: I think we could show that?]
+
+We shall look at different ways of outputting the data.
+
+<<<<<<< local
+.. #[Amit: C's printf syntax ?? i think its better to elaborate the
+   idea]
+
+print statement  in python supports string formatting.
+Various arguments can be passed to print using modifiers.
+=======
+``print`` statement also accepts the syntax of C's ``printf`` statement.
+Various arguments can be passed to ``print`` using modifiers.
+>>>>>>> other
+type
+::
+
+    x = 1.5
+    y = 2
+    z = "zed"
+    print "x is %2.1f y is %d z is %s"%(x,y)
+
+As you can see, the values of x and y are substituted in place of
+``%2.1f`` and ``%d`` 
+
+{{{ Pause here and try out the following exercises }}}
+
+%% 1 %% What happens when you do ``print "x is %d y is %f" %(x, y)``
+
+{{{ continue from paused state }}}
+
+We see that the ``int`` value of x and ``float`` value of y are
+printed corresponding to the modifiers used in the print statement.
+
+We can also see that ``print`` statement prints a new line character
+at the end of the line, everytime it is called. This can be suppressed
+by using a "," at the end ``print`` statement.
+
+Let us see this by typing out following code on an editor as print_example.py
+
+{{{ open an editor }}}
+type
+::
+
+    print "Hello"
+    print "World"
+
+    print "Hello",
+    print "World"
+
+Now we run the script using %run /home/fossee/print_example.py
+
+As we can see, the print statement when used with comma in the end, prints a
+space instead of a new line.
+
+Now we shall look at taking input from the user.
+We will use the ~~raw_input~~ for this.
+type
+::
+
+    ip = raw_input()
+
+The cursor is blinking indicating that it is waiting for input    
+type
+::
+
+    an input
+
+and hit enter.
+Now let us see what is the value of ip by typing.
+::
+
+    ip
+
+We can see that it contains the string "an input"
+
+{{{ Pause here and try out the following exercises }}}
+
+%% 2 %% enter the number 5.6 as input and store it in a variable called c.
+
+{{{ continue from paused state }}}
+
+We have to use the raw_input command with variable c.
+type
+::
+
+    c = raw_input()
+    5.6
+    c
+
+Now let us see the type of c.
+
+::
+
+    type(c)
+
+We see that c is a string. This implies that anything you enter as input, will
+be taken as a string no matter what you enter.
+
+{{{ Pause here and try out the following exercises }}}
+
+%% 3 %% What happens when you do not enter anything and hit enter
+
+{{{ continue from paused state }}}
+
+::
+
+    d = raw_input()
+    <RET>
+    d
+
+We see that when nothing is entered, an empty string is considered as input.
+
+raw_input also can display a prompt to assist the user.
+::
+
+    name = raw_input("Please enter your name: ")
+
+prints the string given as argument and then waits for the user input.
+
+{{{ Pause here and try out the following exercises }}}
+
+%% 4 %% How do you display a prompt and let the user enter input in next line
+
+{{{ continue from paused state }}}
+
+.. #[Puneeth: We didn't talk of new-line character till now, did we?]
+.. #[Puneeth: non-programmers might not know?]
+
+.. #[Amit: Well there is a discussion earlier about new lines, I think its good
+.. as a slight trick question. But may be next line is a more easier lexicon]
+
+The trick is to include a newline character at the end of the prompt string.
+::
+
+    ip = raw_input("Please enter a number in the next line\n> ")
+
+prints the newline character and hence the user enters input in the next line
+
+{{{ Show summary slide }}}
+
+This brings us to the end of the tutorial.
+In this totorial we have learnt
+
+ * How to print some value
+ * How to print using modifiers
+ * How to take input from user
+ * How to display a prompt to the user before taking the input
+
+{{{ Show the "sponsored by FOSSEE" slide }}}
+
+
+This tutorial was created as a part of FOSSEE project, NME ICT, MHRD India
+
+Hope you have enjoyed and found it useful.
+Thank You.
+ 
--- a/loops/script.rst	Tue Nov 09 15:15:19 2010 +0530
+++ b/loops/script.rst	Tue Nov 09 15:40:53 2010 +0530
@@ -31,15 +31,14 @@
 {{{ Show the outline slide }}}
 
 In this tutorial, we shall look at ``while`` and ``for`` loops. We
-shall then look at the ``break``, ``continue`` and ``pass`` keywords
-and how to use them. 
+shall then look at how to break out of them, or skip some iterations
+in loops.
 
 .. #[[Anoop: for loop is a pre-requisite and has been already covered,
    so i think our emphasize can be on while loops]]
 
-.. #[[Anoop: Instead of saying we will learn keywords pass, break and
-   continue, I think it is better to tell them that we will learn more
-   about loops]]
+.. #[[punch: I think, we should have both of them. It gives a better
+.. context and comparison.]
 
 {{{ switch to the ipython terminal }}}
 
@@ -144,8 +143,8 @@
 .. #[[Anoop: should add slides for break, continue, pass]]
 
 Say, we wish to print the squares of all the odd numbers below 10,
-which are not multiples of 3, we would modify the for loop as follows.
-::
+which are not multiples of 3, we would modify the ``for`` loop as
+follows.  ::
 
   for n in range(1, 10, 2):
       if n%3 == 0:
@@ -157,12 +156,9 @@
 
 {{{ switch to next slide }}}
 
-%%3%%Using the ``continue`` keyword modify the ``for`` loop to print
-the squares of even numbers below 10, to print the squares of only
-multiples of 4. (Do not modify the range function call.) 
-
-.. #[[Anoop: can you be more explicit/specific on do no modify say we
-   can ask them to use range(2, 10, 2) and solve the problem]]
+%%3%%Using the ``continue`` keyword modify the ``for`` loop, with the
+``range(2, 10, 2)``, to print the squares of even numbers below 10, to
+print the squares of only multiples of 4.
 
 Please, pause the video here. Do the exercise and then continue. 
 
Binary file plotui/buttons.png has changed
Binary file plotui/move.png has changed
--- a/plotui/questions.rst	Tue Nov 09 15:15:19 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,51 +0,0 @@
-Objective Questions
--------------------
-
-.. A mininum of 8 questions here (along with answers)
-
-1. Create 100 equally spaced points between -pi/2 and pi/2?
-
-   Answer: linspace(-pi/2,pi/2,100)
-    
-2. How do you clear a figure in ipython?
-
-   Answer: clf()
-
-3. How do find the length of a sequence?
-
-   Answer: len(sequence_name)
-
-4. Create a plot of x and e^x where x is 100 equally spaced points between 0,pi. Hint: e^x -> exp(x) for ipython
-
-   Answer: x=linspace(0,pi,100)
-   	   plot(x,exp(x))
-
-5. List four formats in which you can save a plot in ipython?
-   
-   Answer: png,eps,pdf,ps
-
-6. List the kind of buttons available in plotui to study the plot better ?
-
-   Zoom button to Zoom In to a region.
-   Pan button to move it around.
-
-7. What are the left and right arrow buttons for?
-
-   Answer: These buttons take you to the states that the plot has been. Much like a browser left and right arrow button.
-  
-
-
-8. What is the home button for in the Plot UI?
-
-   Initial State of the plot.
-
-
-
-
-Larger Questions
-----------------
-
-.. A minimum of 2 questions here (along with answers)
-
-1. Use '?' and explain the similarities and difference between linpace and logspace? 
-2. Describe one by one all the buttons in UI of plot and their meaning?
--- a/plotui/quickref.tex	Tue Nov 09 15:15:19 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-Creating a linear array:\\
-{\ex \lstinline|    x = linspace(0, 2*pi, 50)|}
-
-Plotting two variables:\\
-{\ex \lstinline|    plot(x, sin(x))|}
-
-Saving Plot\\
-{\includegraphics[width=60mm]{save.png}}
-
-Zooming into a part of the plot\\
-{\includegraphics[width=60mm]{zoom.png}}
-
-Move the plot\\
-{\includegraphics[width=60mm]{move.png}}
Binary file plotui/save.png has changed
--- a/plotui/script.rst	Tue Nov 09 15:15:19 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,212 +0,0 @@
-.. Objectives
-.. ----------
-
-.. By the end of this tutorial you will --
-
-.. 1. Create simple plots of mathematical functions
-.. #. Use the Figure window to study plots better
-
-
-
-.. Prerequisites
-.. -------------
-
-.. Installation of required tools
-.. Ipython
-     
-.. Author              : Amit Sethi
-   Internal Reviewer   : 
-   External Reviewer   :
-   Checklist OK?       : <put date stamp here, if OK> [2010-10-05]
-
-Script
--------
-
-
-Hello and welcome to the tutorial on creating simple plots using
-Python.This tutorial is presented by the Fossee group.  
-{{{ Show the Title Slide }}} 
-
-I hope you have IPython running on your computer.
-
-In this tutorial we will look at plot command and also how to study
-the plot using the UI.
-
-{{{ Show Outline Slide }}}
-
-Lets start ipython on your shell, type :: 
-
-      $ipython -pylab
-
-
-Pylab is a python library which provides plotting functionality.It
-also provides many other important mathematical and scientific
-functions. After running IPython -pylab in your shell if at the top of
-the result of this command, you see something like ::
- 
-
-   `ERROR: matplotlib could NOT be imported!  Starting normal
-      IPython.`
-
-
-{{{ Slide with Error written on it }}}
-
-
-
-
-Then you have to install matplotlib and run this command again.
-
-Now type in your ipython shell ::
-
-             In[]: linpace?
-
-
-
-as the documentation says, it returns `num` evenly spaced samples,
-calculated over the interval start and stop.  To illustrate this, lets
-do it form 1 to 100 and try 100 points.  ::
-
-           In[]: linspace(1,100,100)
-
-As you can see a sequence of numbers from 1 to 100 appears.
-
-Now lets try 200 points between 0 and 1 you do this by typing ::
-
-
-            In[]: linspace(0,1,200)
-
-0 for start , 1 for stop and 200 for no of points.  In linspace 
-the start and stop points can be integers, decimals , or
-constants. Let's try and get 100 points between -pi to pi. Type ::
-           
-            In[]: p = linspace(-pi,pi,100)
-
-
-'pi' here is constant defined by pylab. Save this to the variable, p
-.
-
-If you now ::
-     
-	   In[]: len(p)
-
-You will get the no. of points. len function gives the no of elements
-of a sequence.
-
-
-Let's try and plot a cosine curve between -pi and pi using these
-points.  Simply type :: 
-
-
-       	  In[]: plot(p,cos(points))
-
-Here cos(points) gets the cosine value at every corresponding point to
-p.
-
-
-We can also save cos(points) to variable cosine and plot it using
-plot.::
-
-           In[]: cosine=cos(points) 
-
-	   In[]: plot(p,cosine)
-
- 
-
-Now do ::
-       	 
-	   In[]: clf()
-
-this will clear the plot.
-
-This is done because any other plot we try to make shall come on the
-same drawing area. As we do not wish to clutter the area with
-overlaid plots , we just clear it with clf().  Now lets try a sine
-plot. ::
-
-
-    	 In []: plot(p,sin(p))
-
-
-
- 
-The Window on which the plot appears can be used to study it better.
-
-{{{ Show the slide with all the buttons on it }}}
-
-First of all moving the mouse around gives us the point where mouse
-points at.  
-
-Also we have some buttons the right most among them is
-for saving the file. 
-
-Just click on it specifying the name of the file.  We will save the plot 
-by the name sin_curve in pdf format.
-
-
-
-{{{ Action corelating with the words }}}
-
-As you can see I can specify format of file from the dropdown.
-
-Formats like png ,eps ,pdf, ps are available.  
-
-Left to the save button is the slider button to specify the margins.  
-
-{{{ Action corelating with the words  }}}
-
-Left to this is zoom button to zoom into the plot. Just specify the 
-region to zoom into.  
-The button left to it can be used to move the axes of the plot.  
-
-{{{ Action corelating with the words }}}
- 
-The next two buttons with a left and right arrow icons change the state of the 
-plot and take it to the previous state it was in. It more or less acts like a
-back and forward button in the browser.  
-
-{{{ Action corelating with the words }}}
-
-The last one is 'home' referring to the initial plot.
-
-{{{ Action corelating with the words}}}
-
-
-
-{{{ Summary Slide }}}
-
-
-In this tutorial we have looked at 
-
-1. Starting Ipython with pylab 
-
-2. Using linspace function to create `num` equaly spaced points in a region.
-
-3. Finding length of sequnces using  len.
- 
-4. Plotting mathematical functions using plot.
-
-4. Clearing drawing area using clf 
- 
-5. Using the UI of plot for studying it better . Using functionalities like save , zoom and moving the plots on x and y axis 
-
-
- 
-
-
-{{{ Show the "sponsored by FOSSEE" slide }}}
-
- 
-
-This tutorial was created as a part of FOSSEE project, NME ICT, MHRD India
-
- 
-
- Hope you have enjoyed and found it useful.
-
- Thankyou
-
- 
-
-Author              : Amit Sethi
-Internal Reviewer   :
-Internal Reviewer 2 : 
--- a/plotui/slides.tex	Tue Nov 09 15:15:19 2010 +0530
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,71 +0,0 @@
-% Created 2010-10-20 Wed 21:57
-\documentclass[presentation]{beamer}
-\usetheme{Warsaw}\useoutertheme{infolines}\usecolortheme{default}\setbeamercovered{transparent}
-\usepackage[latin1]{inputenc}
-\usepackage[T1]{fontenc}
-\usepackage{graphicx}
-\usepackage{longtable}
-\usepackage{float}
-\usepackage{wrapfig}
-\usepackage{soul}
-\usepackage{amssymb}
-\usepackage{hyperref}
-
-
-\title{Plotting Data }
-\author{FOSSEE}
-\date{2010-09-14 Tue}
-
-\begin{document}
-
-\maketitle
-
-\begin{frame}
-\frametitle{Tutorial Plan}
-\label{sec-1}
-\begin{itemize}
-
-\item Creating a simple plot\\
-\label{sec-1.1}%
-\item Use the buttons on window to study the plot\\
-\label{sec-1.2}%
-\end{itemize} % ends low level
-\end{frame}
-\begin{frame}
-\frametitle{Error if Ipython not installed}
-\label{sec-2}
-\begin{itemize}
-
-\item `ERROR: matplotlib could NOT be imported!  Starting normal IPython.`\\
-\label{sec-2.1}%
-\end{itemize} % ends low level
-\end{frame}
-\begin{frame}
-\frametitle{Plot UI}
-\label{sec-3}
-\begin{frame}
- \begin{center}
-    \includegraphics[height=1.0in,width=4.2in]{buttons.png}
-  \end{center}
-\end{frame}
-
-\frametitle{Summary}
-\label{sec-4}
-\begin{itemize}
-
-\item Start Ipython with pylab\\
-\label{sec-4.1}%
-\item Using linspace\\
-\label{sec-4.2}%
-\item Finding length of sequnces using  len.\\
-\label{sec-4.3}%
-\item Plotting mathematical functions using plot.\\
-\label{sec-4.4}%
-\item Clearing drawing area using clf\\
-\label{sec-4.5}%
-\item Using the UI of plot\\
-\label{sec-4.6}%
-\end{itemize} % ends low level
-\end{frame}
-
-\end{document}
Binary file plotui/zoom.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/progress.org.orig	Tue Nov 09 15:40:53 2010 +0530
@@ -0,0 +1,55 @@
+| S.No    | Name                                   | Units | Author   | Review                                | Checklist |
+|---------+----------------------------------------+-------+----------+---------------------------------------+-----------|
+| 1.2 LO: | getting started with =ipython=         |     2 | Punch    | Anoop (Done)                          |           |
+| 1.3 LO: | using the =plot= command interactively |     2 | Amit     |                                       |           |
+| 1.4 LO: | embellishing a plot                    |     2 | Nishanth | Anoop (Done)                          |           |
+| 1.5 LO: | saving plots                           |     2 | Anoop    |                                       |           |
+| 1.6 LO: | multiple plots                         |     3 | Madhu    | Nishanth (Done)                       |           |
+| 1.7 LO: | additional features of IPython         |     2 | Nishanth | Amit (Pending)                        |           |
+| 1.8 LO: | module level assessment                |     3 | Madhu    |                                       |           |
+|---------+----------------------------------------+-------+----------+---------------------------------------+-----------|
+| 2.2 LO: | loading data from files                |     3 | Punch    | Nishanth (Done)                       |           |
+| 2.3 LO: | plotting the data                      |     3 | Amit     |                                       |           |
+| 2.4 LO: | other types of plots                   |     3 | Anoop    | Pending                               |           |
+| 2.5 LO: | module level assessment                |     3 | Nishanth |                                       |           |
+|---------+----------------------------------------+-------+----------+---------------------------------------+-----------|
+| 3.1 LO: | getting started with lists             |     2 | Amit     |                                       |           |
+| 3.2 LO: | getting started with =for=             |     2 | Anoop    | Nishanth (Done)                       |           |
+| 3.3 LO: | getting started with strings           |     2 | Madhu    |                                       |           |
+| 3.4 LO: | getting started with files             |     3 | Punch    | Anoop(Done)                           |           |
+| 3.5 LO: | parsing data                           |     3 | Nishanth | Amit (Done)                           |           |
+| 3.6 LO: | statistics                             |     2 | Amit     |                                       |           |
+| 3.7 LO: | module level assessment                |     3 | Madhu    |                                       |           |
+|---------+----------------------------------------+-------+----------+---------------------------------------+-----------|
+| 4.1 LO: | getting started with arrays            |     2 | Anoop    | Punch (Done)                          |           |
+| 4.2 LO: | accessing parts of arrays              |     4 | Punch    | Anoop (Done)                          |           |
+| 4.3 LO: | Matrices                               |     3 | Anoop    | Punch (changes before further review) |           |
+| 4.4 LO: | Least square fit                       |     2 | Nishanth | Punch (Done)                          |           |
+| 4.5 LO: | Assessment                             |     3 | Punch    |                                       |           |
+|---------+----------------------------------------+-------+----------+---------------------------------------+-----------|
+| 5.1 LO: | getting started with sage notebook     |     3 | Madhu    |                                       |           |
+| 5.2 LO: | getting started with symbolics         |     3 | Amit     |                                       |           |
+| 5.3 LO: | using Sage                             |     4 | Punch    | Anoop (Pending)                       |           |
+| 5.4 LO: | using sage to teach                    |     3 | Nishanth |                                       |           |
+| 5.5 LO: | Assessment                             |     3 | Anoop    |                                       |           |
+|---------+----------------------------------------+-------+----------+---------------------------------------+-----------|
+| 6.1 LO: | basic datatypes & operators            |     4 | Amit     | Punch (Done)                          |           |
+| 6.2 LO: | I/O                                    |     1 | Nishanth |                                       |           |
+| 6.3 LO: | conditionals                           |     2 | Madhu    |                                       |           |
+| 6.4 LO: | loops                                  |     2 | Puneeth  | Anoop(Pending)                        |           |
+| 6.5 LO: | Assessment                             |     3 | Anoop    |                                       |           |
+|---------+----------------------------------------+-------+----------+---------------------------------------+-----------|
+| 7.1 LO: | manipulating lists                     |     3 | Madhu    |                                       |           |
+| 7.2 LO: | manipulating strings                   |     2 | Punch    | Anoop                                 | Amit      |
+| 7.3 LO: | getting started with tuples            |     2 | Nishanth |                                       |           |
+| 7.4 LO: | dictionaries                           |     2 | Anoop    | Pending                               |           |
+| 7.5 LO: | sets                                   |     2 | Nishanth |                                       |           |
+| 7.6 LO: | Assessment                             |     3 | Amit     |                                       |           |
+|---------+----------------------------------------+-------+----------+---------------------------------------+-----------|
+| 8.1 LO: | getting started with functions         |     3 | Nishanth |                                       |           |
+| 8.2 LO: | advanced features of functions         |     3 | Punch    | Anoop (Pending)                       |           |
+| 8.3 LO: | using python modules                   |     3 | Anoop    | Pending                               |           |
+| 8.4 LO: | writing python scripts                 |     2 | Nishanth |                                       |           |
+| 8.5 LO: | testing and debugging                  |     2 | Amit     |                                       |           |
+| 8.6 LO: | Assessment                             |     3 | Madhu    |                                       |           |
+|---------+----------------------------------------+-------+----------+---------------------------------------+-----------|
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/symbolics/slides.org	Tue Nov 09 15:40:53 2010 +0530
@@ -0,0 +1,33 @@
+#+LaTeX_CLASS: beamer
+#+LaTeX_CLASS_OPTIONS: [presentation]
+#+BEAMER_FRAME_LEVEL: 1
+
+#+BEAMER_HEADER_EXTRA: \usetheme{Warsaw}\useoutertheme{infolines}\usecolortheme{default}\setbeamercovered{transparent}
+#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)
+#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC
+#+OPTIONS:   H:5 num:t toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
+
+#+TITLE: Plotting Data 
+#+AUTHOR: FOSSEE
+#+DATE: 2010-09-14 Tue
+#+EMAIL:     info@fossee.in
+
+# \author[FOSSEE] {FOSSEE}
+
+# \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
+# \date{}
+
+* Tutorial Plan
+** Defining symbolic expressions in sage.  
+** Using built-in costants and functions. 
+** Performing Integration, differentiation using sage. 
+** Defining matrices. 
+** Defining Symbolic functions.  
+** Simplifying and solving symbolic expressions and functions.
+* Summary
+** We learnt about defining symbolic expression and functions.  
+** Using built-in constants and functions.  
+** Using <Tab>  to see the documentation of a function.  
+** Simple calculus operations .  
+** Substituting values in expression using substitute function.
+** Creating symbolic matrices and performing operation on them .
Binary file using-plot-interactively/buttons.png has changed
Binary file using-plot-interactively/home.png has changed
Binary file using-plot-interactively/move.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/using-plot-interactively/questions.rst	Tue Nov 09 15:40:53 2010 +0530
@@ -0,0 +1,51 @@
+Objective Questions
+-------------------
+
+.. A mininum of 8 questions here (along with answers)
+
+1. Create 100 equally spaced points between -pi/2 and pi/2?
+
+   Answer: linspace(-pi/2,pi/2,100)
+    
+2. How do you clear a figure in ipython?
+
+   Answer: clf()
+
+3. How do find the length of a sequence?
+
+   Answer: len(sequence_name)
+
+4. Create a plot of x and e^x where x is 100 equally spaced points between 0,pi. Hint: e^x -> exp(x) for ipython
+
+   Answer: x=linspace(0,pi,100)
+   	   plot(x,exp(x))
+
+5. List four formats in which you can save a plot in ipython?
+   
+   Answer: png,eps,pdf,ps
+
+6. List the kind of buttons available in plotui to study the plot better ?
+
+   Zoom button to Zoom In to a region.
+   Pan button to move it around.
+
+7. What are the left and right arrow buttons for?
+
+   Answer: These buttons take you to the states that the plot has been. Much like a browser left and right arrow button.
+  
+
+
+8. What is the home button for in the Plot UI?
+
+   Initial State of the plot.
+
+
+
+
+Larger Questions
+----------------
+
+.. A minimum of 2 questions here (along with answers)
+
+1. Use '?' and explain the similarities and difference between linpace and logspace? 
+2. Describe one by one all the buttons in UI of plot and their meaning?
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/using-plot-interactively/quickref.tex	Tue Nov 09 15:40:53 2010 +0530
@@ -0,0 +1,14 @@
+Creating a linear array:\\
+{\ex \lstinline|    x = linspace(0, 2*pi, 50)|}
+
+Plotting two variables:\\
+{\ex \lstinline|    plot(x, sin(x))|}
+
+Saving Plot\\
+{\includegraphics[width=60mm]{save.png}}
+
+Zooming into a part of the plot\\
+{\includegraphics[width=60mm]{zoom.png}}
+
+Move the plot\\
+{\includegraphics[width=60mm]{move.png}}
Binary file using-plot-interactively/save.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/using-plot-interactively/script.rst	Tue Nov 09 15:40:53 2010 +0530
@@ -0,0 +1,212 @@
+.. Objectives
+.. ----------
+
+.. By the end of this tutorial you will --
+
+.. 1. Create simple plots of mathematical functions
+.. #. Use the Figure window to study plots better
+
+
+
+.. Prerequisites
+.. -------------
+
+.. Installation of required tools
+.. Ipython
+     
+.. Author              : Amit Sethi
+   Internal Reviewer   : 
+   External Reviewer   :
+   Checklist OK?       : <put date stamp here, if OK> [2010-10-05]
+
+Script
+-------
+
+
+Hello and welcome to the tutorial on creating simple plots using
+Python.This tutorial is presented by the Fossee group.  
+{{{ Show the Title Slide }}} 
+
+I hope you have IPython running on your computer.
+
+In this tutorial we will look at plot command and also how to study
+the plot using the UI.
+
+{{{ Show Outline Slide }}}
+
+Lets start ipython on your shell, type :: 
+
+      $ipython -pylab
+
+
+Pylab is a python library which provides plotting functionality.It
+also provides many other important mathematical and scientific
+functions. After running IPython -pylab in your shell if at the top of
+the result of this command, you see something like ::
+ 
+
+   `ERROR: matplotlib could NOT be imported!  Starting normal
+      IPython.`
+
+
+{{{ Slide with Error written on it }}}
+
+
+
+
+Then you have to install matplotlib and run this command again.
+
+Now type in your ipython shell ::
+
+             In[]: linpace?
+
+
+
+as the documentation says, it returns `num` evenly spaced samples,
+calculated over the interval start and stop.  To illustrate this, lets
+do it form 1 to 100 and try 100 points.  ::
+
+           In[]: linspace(1,100,100)
+
+As you can see a sequence of numbers from 1 to 100 appears.
+
+Now lets try 200 points between 0 and 1 you do this by typing ::
+
+
+            In[]: linspace(0,1,200)
+
+0 for start , 1 for stop and 200 for no of points.  In linspace 
+the start and stop points can be integers, decimals , or
+constants. Let's try and get 100 points between -pi to pi. Type ::
+           
+            In[]: p = linspace(-pi,pi,100)
+
+
+'pi' here is constant defined by pylab. Save this to the variable, p
+.
+
+If you now ::
+     
+	   In[]: len(p)
+
+You will get the no. of points. len function gives the no of elements
+of a sequence.
+
+
+Let's try and plot a cosine curve between -pi and pi using these
+points.  Simply type :: 
+
+
+       	  In[]: plot(p,cos(points))
+
+Here cos(points) gets the cosine value at every corresponding point to
+p.
+
+
+We can also save cos(points) to variable cosine and plot it using
+plot.::
+
+           In[]: cosine=cos(points) 
+
+	   In[]: plot(p,cosine)
+
+ 
+
+Now do ::
+       	 
+	   In[]: clf()
+
+this will clear the plot.
+
+This is done because any other plot we try to make shall come on the
+same drawing area. As we do not wish to clutter the area with
+overlaid plots , we just clear it with clf().  Now lets try a sine
+plot. ::
+
+
+    	 In []: plot(p,sin(p))
+
+
+
+ 
+The Window on which the plot appears can be used to study it better.
+
+{{{ Show the slide with all the buttons on it }}}
+
+First of all moving the mouse around gives us the point where mouse
+points at.  
+
+Also we have some buttons the right most among them is
+for saving the file. 
+
+Just click on it specifying the name of the file.  We will save the plot 
+by the name sin_curve in pdf format.
+
+
+
+{{{ Action corelating with the words }}}
+
+As you can see I can specify format of file from the dropdown.
+
+Formats like png ,eps ,pdf, ps are available.  
+
+Left to the save button is the slider button to specify the margins.  
+
+{{{ Action corelating with the words  }}}
+
+Left to this is zoom button to zoom into the plot. Just specify the 
+region to zoom into.  
+The button left to it can be used to move the axes of the plot.  
+
+{{{ Action corelating with the words }}}
+ 
+The next two buttons with a left and right arrow icons change the state of the 
+plot and take it to the previous state it was in. It more or less acts like a
+back and forward button in the browser.  
+
+{{{ Action corelating with the words }}}
+
+The last one is 'home' referring to the initial plot.
+
+{{{ Action corelating with the words}}}
+
+
+
+{{{ Summary Slide }}}
+
+
+In this tutorial we have looked at 
+
+1. Starting Ipython with pylab 
+
+2. Using linspace function to create `num` equaly spaced points in a region.
+
+3. Finding length of sequnces using  len.
+ 
+4. Plotting mathematical functions using plot.
+
+4. Clearing drawing area using clf 
+ 
+5. Using the UI of plot for studying it better . Using functionalities like save , zoom and moving the plots on x and y axis 
+
+
+ 
+
+
+{{{ Show the "sponsored by FOSSEE" slide }}}
+
+ 
+
+This tutorial was created as a part of FOSSEE project, NME ICT, MHRD India
+
+ 
+
+ Hope you have enjoyed and found it useful.
+
+ Thankyou
+
+ 
+
+Author              : Amit Sethi
+Internal Reviewer   :
+Internal Reviewer 2 : 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/using-plot-interactively/slides.org	Tue Nov 09 15:40:53 2010 +0530
@@ -0,0 +1,37 @@
+#+LaTeX_CLASS: beamer
+#+LaTeX_CLASS_OPTIONS: [presentation]
+#+BEAMER_FRAME_LEVEL: 1
+
+#+BEAMER_HEADER_EXTRA: \usetheme{Warsaw}\useoutertheme{infolines}\usecolortheme{default}\setbeamercovered{transparent}
+#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)
+#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC
+#+OPTIONS:   H:5 num:t toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
+
+#+TITLE: Plotting Data 
+#+AUTHOR: FOSSEE
+#+DATE: 2010-09-14 Tue
+#+EMAIL:     info@fossee.in
+
+# \author[FOSSEE] {FOSSEE}
+
+# \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
+# \date{}
+
+* Tutorial Plan
+** Creating a simple plot
+** Use the buttons on window to study the plot
+
+* Error if Ipython not installed 
+
+** `ERROR: matplotlib could NOT be imported!  Starting normal IPython.`
+
+* Plot UI
+
+* Summary
+
+** Start Ipython with pylab
+** Using linspace
+** Finding length of sequnces using  len.
+** Plotting mathematical functions using plot.
+** Clearing drawing area using clf 
+**  Using the UI of plot 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/using-plot-interactively/slides.tex	Tue Nov 09 15:40:53 2010 +0530
@@ -0,0 +1,71 @@
+% Created 2010-10-20 Wed 21:57
+\documentclass[presentation]{beamer}
+\usetheme{Warsaw}\useoutertheme{infolines}\usecolortheme{default}\setbeamercovered{transparent}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{graphicx}
+\usepackage{longtable}
+\usepackage{float}
+\usepackage{wrapfig}
+\usepackage{soul}
+\usepackage{amssymb}
+\usepackage{hyperref}
+
+
+\title{Plotting Data }
+\author{FOSSEE}
+\date{2010-09-14 Tue}
+
+\begin{document}
+
+\maketitle
+
+\begin{frame}
+\frametitle{Tutorial Plan}
+\label{sec-1}
+\begin{itemize}
+
+\item Creating a simple plot\\
+\label{sec-1.1}%
+\item Use the buttons on window to study the plot\\
+\label{sec-1.2}%
+\end{itemize} % ends low level
+\end{frame}
+\begin{frame}
+\frametitle{Error if Ipython not installed}
+\label{sec-2}
+\begin{itemize}
+
+\item `ERROR: matplotlib could NOT be imported!  Starting normal IPython.`\\
+\label{sec-2.1}%
+\end{itemize} % ends low level
+\end{frame}
+\begin{frame}
+\frametitle{Plot UI}
+\label{sec-3}
+\begin{frame}
+ \begin{center}
+    \includegraphics[height=1.0in,width=4.2in]{buttons.png}
+  \end{center}
+\end{frame}
+
+\frametitle{Summary}
+\label{sec-4}
+\begin{itemize}
+
+\item Start Ipython with pylab\\
+\label{sec-4.1}%
+\item Using linspace\\
+\label{sec-4.2}%
+\item Finding length of sequnces using  len.\\
+\label{sec-4.3}%
+\item Plotting mathematical functions using plot.\\
+\label{sec-4.4}%
+\item Clearing drawing area using clf\\
+\label{sec-4.5}%
+\item Using the UI of plot\\
+\label{sec-4.6}%
+\end{itemize} % ends low level
+\end{frame}
+
+\end{document}
Binary file using-plot-interactively/zoom.png has changed
--- a/using-sage/questions.rst	Tue Nov 09 15:15:19 2010 +0530
+++ b/using-sage/questions.rst	Tue Nov 09 15:40:53 2010 +0530
@@ -64,21 +64,36 @@
 Programming
 -----------
 
-1. What is the out put of the following code::
+1. Obtain the sum of primes between 1 million and 2 million. 
+
+   Answer::
 
-     c1 = Combinations([1, 2, 3, 4])
-     c2 = Combinations([1, 2, 4, 3])
+     prime_sum = 0
+     for i in range(1000001, 2000000, 2):
+         if is_prime(i):
+         prime_sum += i
+        
+     prime_sum
 
-     l1 = c1.list()
-     l2 = c2.list()
+   OR
+   ::
+
+     sum(prime_range(1000000, 2000000))
 
-     for i in l2:
-         l1.remove(i)
+2. ``graphs.WorldMap()`` gives the world map in the form of a
+   graph. ::
 
-     print l2
+       G = graphs.WorldMap()
+       G.vertices()
 
-   Answer: []
+  
+   Suppose, I wish to go from India to France by Road, find out the
+   least number of Visas that I'll have to obtain. 
+
+   Answer::
 
-.. #[[Anoop: add one more question to this part, probably a small
-   problem asking them to solve it, project euler has problems on
-   combinations and all]]
+      G.distance("India", "France")
+
+      
+
+
--- a/using-sage/script.rst	Tue Nov 09 15:15:19 2010 +0530
+++ b/using-sage/script.rst	Tue Nov 09 15:40:53 2010 +0530
@@ -28,12 +28,8 @@
 
 {{{ show the slide with outline }}} 
 
-In this tutorial we shall quickly look at a few examples of the areas
-(name the areas, here) in which Sage can be used and how it can be
-used.
-
-.. #[[Anoop: add name of areas and further introduction if needed for
-   a smooth switch]]
+In this tutorial we shall quickly look at a few examples of using Sage
+for Linear Algebra, Calculus, Graph Theory and Number theory.
 
 {{{ show the slide with Calculus outline }}} 
 
@@ -62,9 +58,7 @@
 To find the limit from the negative side, we say,
 ::
 
-    lim(1/x, x=0, dir='above')   
-
-.. #[[Anoop: both the above codes are going the same thing isn't it?]]
+    lim(1/x, x=0, dir='below')   
 
 Let us now see how to differentiate, using Sage. We shall find the
 differential of the expression ``exp(sin(x^2))/x`` w.r.t ``x``. We