Added debugging process diagram to Session 4 of day 1.
Binary file day1/DebugginDiagram.png has changed
--- a/day1/Session-1.vrb Thu Oct 08 15:42:43 2009 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,14 +0,0 @@
-\frametitle {Basic looping}
- \begin{lstlisting}
-# Fibonacci series:
-# the sum of two elements
-# defines the next
-a, b = 0, 1
-while b < 10:
- print b,
- a, b = b, a + b
-
-\end{lstlisting}
-\typ{1 1 2 3 5 8}\\
-\alert{Recall it is easy to write infinite loops with \kwrd{while}}
- \inctime{20}
--- a/day1/Session-2.vrb Thu Oct 08 15:42:43 2009 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-\frametitle {\typ{for}: the list companion}
- \begin{lstlisting}
-In [89]: for p, ch in enumerate( a ):
- ....: print p, ch
- ....:
- ....:
-0 a
-1 b
-2 c
- \end{lstlisting}
-Try: \typ{print enumerate(a)}
-\inctime{10}
--- a/day1/Session-4.tex Thu Oct 08 15:42:43 2009 +0530
+++ b/day1/Session-4.tex Thu Oct 08 18:59:09 2009 +0530
@@ -39,6 +39,8 @@
showstringspaces=false,
keywordstyle=\color{blue}\bfseries}
+\usepackage{pgf}
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Macros
\setbeamercolor{emphbar}{bg=blue!20, fg=black}
@@ -339,10 +341,10 @@
\begin{frame}[fragile]
\frametitle{Debugging effectively}
\begin{itemize}
- \item \kwrd{print} based strategy
- \item Process: Hypothesis, test, refine, rinse-repeat
+ \item \kwrd{print} based strategy
+ \item Process:
\end{itemize}
-\inctime{15}
+\pgfimage[interpolate=true,width=5cm,height=5cm]{DebugginDiagram.png}
\end{frame}
\begin{frame}[fragile]
@@ -350,7 +352,27 @@
\begin{itemize}
\item Using \typ{\%debug} and \typ{\%pdb} in IPython
\end{itemize}
-\inctime{15}
+\end{frame}
+
+\begin{frame}[fragile]
+\frametitle{Debugging in IPython}
+\small
+\begin{lstlisting}
+In [1]: import mymodule
+In [2]: mymodule.test()
+---------------------------------------------
+NameError Traceback (most recent call last)
+/media/python/iitb/workshops/day1/<ipython console> in <module>()
+/media/python/iitb/workshops/day1/mymodule.py in test()
+ 1 def test():
+----> 2 print spam
+NameError: global name 'spam' is not defined
+In [3]: %debug
+> /media/python/iitb/workshops/day1/mymodule.py(2)test()
+ 0 print spam
+ipdb>
+\end{lstlisting}
+\inctime{15}
\end{frame}
\begin{frame}[fragile]
@@ -366,7 +388,7 @@
\item Advances Functions: default arguments, keyword arguments
\item Functional Programming, list comprehensions
\item Errors and Exceptions in Python
- \item Debugging: How to use pdb, \%pdb and \%debug in IPython
+ \item Debugging: \%pdb and \%debug in IPython
\end{itemize}
\end{frame}
\end{document}
--- a/day1/Session-4.vrb Thu Oct 08 15:42:43 2009 +0530
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-\frametitle {Debugging: Exercise}
-\inctime{10}