day1/session2.tex
branchscipy2010
changeset 408 217c38c06ebd
parent 397 28915381ac32
child 426 7d8738ce004d
--- a/day1/session2.tex	Thu Jun 17 20:58:42 2010 -0400
+++ b/day1/session2.tex	Fri Jun 18 01:21:32 2010 -0400
@@ -75,10 +75,10 @@
 % Title page
 \title[Plotting with Python]{Python for Science and Engg: Plotting experimental data}
 
-\author[FOSSEE] {FOSSEE}
+\author[FOSSEE group] {FOSSEE}
 
 \institute[IIT Bombay] {Department of Aerospace Engineering\\IIT Bombay}
-\date[] {30 April, 2010\\Day 1, Session 2}
+\date[] {SciPy 2010, Introductory tutorials,\\Day 1, Session 2}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 %\pgfdeclareimage[height=0.75cm]{iitmlogo}{iitmlogo}
@@ -155,7 +155,7 @@
 \begin{frame}[fragile]
 \frametitle{Plotting points}
 \begin{itemize}
-\item What if we want to plot the points!
+\item What if we want to plot the points?
 \end{itemize}
 \begin{lstlisting}
   In []: clf()
@@ -237,6 +237,17 @@
 \alert{\typ{list[initial:final:step]}}
 \end{frame}
 
+\begin{frame}[fragile]
+  \frametitle{List: Slicing}
+  What is the output of the following?
+\begin{lstlisting}
+In []: p[1::2]
+
+In []: p[1:-1:2]
+\end{lstlisting}
+\end{frame}
+
+
 %% more on list slicing
 \begin{frame}[fragile]
 \frametitle{List operations}
@@ -251,6 +262,7 @@
 In []: p
 Out[]: [ 2, 3, 5, 7, 11]
 \end{lstlisting}
+Question: Does \typ{c} change now that \typ{p} is changed?
 %\inctime{10}
 \end{frame}
 
@@ -288,13 +300,20 @@
             1.30, 1.47, 1.58, 
             1.77, 1.83, 1.94]
 \end{lstlisting}
+\alert{Gotcha}: Make sure \typ{L} and \typ{t} have the same number
+of elements
+
+\begin{lstlisting}
+In []: print len(L), len(t)
+\end{lstlisting}
+
 \end{frame}
 
 \begin{frame}[fragile]
 \frametitle{Plotting $L$ vs $T^2$}
 \begin{itemize}
 \item We must square each of the values in \typ{t}
-\item How to do it?
+\item How do we do it?
 \item We use a \kwrd{for} loop to iterate over \typ{t}
 \end{itemize}
 \end{frame}
@@ -310,7 +329,7 @@
  ....:
 
 \end{lstlisting}
-This gives \kwrd{tsq} which is the list of squares of \typ{t} values.
+This gives \typ{tsq} which is the list of squares of \typ{t} values.
 \begin{lstlisting}
 In []: print len(L), len(t), len(tsq)
 Out[]: 9 9 9
@@ -318,7 +337,7 @@
 \end{frame}
 
 \begin{frame}[fragile]
-  \frametitle{How to come out of the \texttt{for} loop?}
+  \frametitle{How do you exit the \texttt{for} loop?}
   Hitting the ``ENTER'' key twice returns the cursor to the previous indentation level
   \begin{lstlisting}
     In []: for time in t:
@@ -353,7 +372,7 @@
 \begin{frame}[fragile]
 \frametitle{Reading \typ{pendulum.txt}}
 \begin{itemize}
-  \item File contains L vs. T values 
+  \item File contains L vs.\ T values 
   \item First Column - L values
   \item Second Column - T values
   \item Let us generate a plot from the data file
@@ -361,9 +380,28 @@
 \end{frame}
 
 \begin{frame}[fragile]
+    \frametitle{Gotcha and an aside}
+    Ensure you are in the same directory as \typ{pendulum.txt}\\
+    if not, do the following on IPython:
+    \begin{lstlisting}
+In []: %cd directory_containing_file
+# Check if pendulum.txt is there.
+In []: ls
+# Also try 
+In []: !ls
+    \end{lstlisting}
+
+    \alert{Note:} \typ{\%cd} is an IPython magic command.  For more information
+    do:
+    \begin{lstlisting}
+In []: ?
+    \end{lstlisting}
+\end{frame}
+
+
+\begin{frame}[fragile]
 \frametitle{Plotting from \typ{pendulum.txt}}
-Open a new script\\
-Save as \typ{pendulum_plot.py} after typing first line
+Open a new script and save as \typ{pendulum_plot.py}
 \begin{lstlisting}
 L = []
 t = []
@@ -381,7 +419,7 @@
 \begin{frame}
 \frametitle{Save and run}
 \begin{itemize}
-  \item Save as pendulum\_plot.py.
+    \item Save as \typ{pendulum\_plot.py}
   \item Run using \kwrd{\%run -i pendulum\_plot.py}
 \end{itemize}
 \end{frame}
@@ -403,6 +441,7 @@
 \end{frame}
 
 \section{Strings}
+
 \begin{frame}[fragile]
 \frametitle{Strings}
 Anything within ``quotes'' is a string!
@@ -415,6 +454,23 @@
 \end{frame}
 
 \begin{frame}[fragile]
+\frametitle{Strings}
+Why so many?
+\begin{lstlisting}
+' "Do or do not.  No try." said Yoda.'  
+" ' is a mighty lonely quote."
+\end{lstlisting}
+The triple quoted ones can span multiple lines!
+
+\begin{lstlisting}
+""" The quick brown
+fox jumped over
+    the lazy dingbat. 
+"""
+\end{lstlisting}
+\end{frame}
+
+\begin{frame}[fragile]
 \frametitle{Strings and \typ{split()}}
   \begin{lstlisting}
 In []: greet = 'hello world'
@@ -474,8 +530,7 @@
 \begin{frame}[fragile]
 \frametitle{What did we learn?}
 \begin{itemize}
-  \item Plotting points
-  \item Plot attributes
+  \item Plot attributes and plotting points
   \item Lists
   \item \kwrd{for}
   \item Reading files