Added debugging process diagram to Session 4 of day 1.
authorMadhusudan.C.S <madhusudancs@gmail.com>
Thu, 08 Oct 2009 18:59:09 +0530
changeset 63 f5eac04a00fe
parent 60 edfe20d6733c
child 64 333092b68926
Added debugging process diagram to Session 4 of day 1.
day1/DebugginDiagram.png
day1/Session-1.snm
day1/Session-1.vrb
day1/Session-2.snm
day1/Session-2.vrb
day1/Session-3.snm
day1/Session-4.snm
day1/Session-4.tex
day1/Session-4.vrb
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}