From 711292047c644fad03b98f9736b669da65d7d7f8 Mon Sep 17 00:00:00 2001 From: Shantanu Choudhary Date: Wed, 7 Oct 2009 23:41:54 +0530 Subject: Added testing examples in session-3. --- day2/session3.tex | 21 ++++++++++++--------- 1 file changed, 12 insertions(+), 9 deletions(-) (limited to 'day2/session3.tex') diff --git a/day2/session3.tex b/day2/session3.tex index d2daa20..988a427 100644 --- a/day2/session3.tex +++ b/day2/session3.tex @@ -22,7 +22,7 @@ \mode { - \usetheme{CambridgeUS} + \usetheme{Warsaw} %\usetheme{Boadilla} %\usetheme{default} \useoutertheme{split} @@ -510,7 +510,7 @@ if __name__ == '__main__': import nose nose.main() \end{lstlisting} -\inctime{15} +\inctime{10} \end{frame} \begin{frame}[fragile] @@ -566,17 +566,20 @@ Tweak the code to pass this test. \end{frame} \begin{frame}[fragile] - \frametitle{Exercise: Some more tests.} + \frametitle{Lets write some test!} \begin{lstlisting} -def test_function_ignore_spaces_in_text(): - input = "ab raca carba" - assert is_palindrome(input) == True +#for form of equation y=mx+c +#given m and c for two equation, +#finding the intersection point. +def intersect(m1,c1,m2,c2): + x = (c2-c1)/(m1-m2) + y = m1*x+c1 + return (x,y) \end{lstlisting} -Check -\PythonCode{$ nosetests test.py} +Create a simple test for this -Tweak the code to pass this test. +function which will make it fail. \inctime{15} \end{frame} -- cgit From 956e1b710fa1a34228be9f6a97158c490a80d5f7 Mon Sep 17 00:00:00 2001 From: Shantanu Choudhary Date: Thu, 8 Oct 2009 00:09:59 +0530 Subject: Changed theme and other changes session-3. --- day2/session3.tex | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'day2/session3.tex') diff --git a/day2/session3.tex b/day2/session3.tex index 988a427..5d0f6ef 100644 --- a/day2/session3.tex +++ b/day2/session3.tex @@ -477,7 +477,7 @@ x, y, z = mgrid[-50:50:20j,-50:50:20j, \begin{itemize} \item Writing tests is really simple! - \item Using nose + \item Using nose. \item Example! \end{itemize} @@ -584,5 +584,20 @@ function which will make it fail. \inctime{15} \end{frame} +\section{Summary} +\begin{frame}{So we have covered:} + \begin{itemize} + \item Need for vizualization. + \item Tools available. + \item How to follow Test Driven Approach. + \end{itemize} +\end{frame} +\begin{frame} + \begin{center} + \Huge + Thank you! + \end{center} +\end{frame} + \end{document} -- cgit From fee63396275d451fedf5c573da632ba647d32075 Mon Sep 17 00:00:00 2001 From: Shantanu Choudhary Date: Thu, 8 Oct 2009 16:16:58 +0530 Subject: Added tda.tex for day2 and compiled handout for day1. --- day2/session3.tex | 257 ++++++++++++++---------------------------------------- 1 file changed, 64 insertions(+), 193 deletions(-) (limited to 'day2/session3.tex') diff --git a/day2/session3.tex b/day2/session3.tex index 5d0f6ef..02caa0b 100644 --- a/day2/session3.tex +++ b/day2/session3.tex @@ -95,7 +95,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Title page -\title[]{3D data Vizualization\\ \& \\Test Driven Approach} +\title[]{3D data Visualization} \author[FOSSEE Team] {Asokan Pichai\\Prabhu Ramachandran} @@ -194,6 +194,66 @@ \section{Tools at your disposal:} +\subsection{Mayavi2.0} + +\begin{frame} + \frametitle{Introduction to Mayavi} + \begin{itemize} + \item Most scientists not interested in details of visualization + \item Visualization of data files with a nice UI + \item Interactive visualization of data (think Matlab) + \item Embedding visualizations in applications + \item Customization + \end{itemize} + \pause + \begin{block}{The Goal} + Provide a \alert{flexible} library/app for every one of these needs! + \end{block} +\end{frame} + +\begin{frame} + {Overview of features} + \vspace*{-0.3in} + \begin{center} + \hspace*{-0.2in}\pgfimage[width=5in]{MEDIA/m2/m2_app3_3} + \end{center} +\end{frame} + + +\begin{frame} + \frametitle{Mayavi in applications} + \vspace*{-0.3in} + \begin{center} + \hspace*{-0.2in}\pgfimage[width=4.5in]{MEDIA/m2/m2_envisage} + \end{center} +\end{frame} + +\begin{frame} + {Exploring the documentation} + \begin{center} + \pgfimage[width=4in]{MEDIA/m2/m2_ug_doc} + \end{center} +\end{frame} + + +\begin{frame} + \frametitle{Summary} + \begin{itemize} + \item \url{http://code.enthought.com/projects/mayavi} + \item Uses VTK (\url{www.vtk.org}) + \item BSD license + \item Linux, win32 and Mac OS X + \item Highly scriptable + \item Embed in Traits UIs (wxPython and PyQt4) + \item Envisage Plugins + \item Debian/Ubuntu/Fedora + \item \alert{Pythonic} + \end{itemize} + + \inctime{10} + +\end{frame} + \subsection{mlab} \begin{frame} @@ -249,7 +309,7 @@ \item Mouse \item Keyboard \item Toolbar - \item Mayavi icon(wait for it...) \pgfimage[width=0.2in]{MEDIA/m2/m2_icon} + \item Mayavi icon\pgfimage[width=0.2in]{MEDIA/m2/m2_icon} \end{itemize} \end{columns} \end{frame} @@ -319,7 +379,8 @@ >>> y = sin(phi)*sin(theta) >>> z = cos(phi) >>> mlab.mesh(x, y, z, -... representation='wireframe') +... representation= +... 'wireframe') \end{lstlisting} \end{frame} @@ -356,66 +417,6 @@ \inctime{20} \end{frame} -\subsection{Mayavi2.0} - -\begin{frame} - \frametitle{Introduction to Mayavi} - \begin{itemize} - \item Most scientists not interested in details of visualization - \item Visualization of data files with a nice UI - \item Interactive visualization of data (think Matlab) - \item Embedding visualizations in applications - \item Customization - \end{itemize} - \pause - \begin{block}{The Goal} - Provide a \alert{flexible} library/app for every one of these needs! - \end{block} -\end{frame} - -\begin{frame} - {Overview of features} - \vspace*{-0.3in} - \begin{center} - \hspace*{-0.2in}\pgfimage[width=5in]{MEDIA/m2/m2_app3_3} - \end{center} -\end{frame} - - -\begin{frame} - \frametitle{Mayavi in applications} - \vspace*{-0.3in} - \begin{center} - \hspace*{0.2in}\pgfimage[width=4.5in]{MEDIA/m2/m2_envisage} - \end{center} -\end{frame} - -\begin{frame} - {Exploring the documentation} - \begin{center} - \pgfimage[width=4.5in]{MEDIA/m2/m2_ug_doc} - \end{center} -\end{frame} - - -\begin{frame} - \frametitle{Summary} - \begin{itemize} - \item \url{http://code.enthought.com/projects/mayavi} - \item Uses VTK (\url{www.vtk.org}) - \item BSD license - \item Linux, win32 and Mac OS X - \item Highly scriptable - \item Embed in Traits UIs (wxPython and PyQt4) - \item Envisage Plugins - \item Debian/Ubuntu/Fedora - \item \alert{Pythonic} - \end{itemize} - - \inctime{10} - -\end{frame} - \begin{frame} {Getting hands dirty!} @@ -468,136 +469,6 @@ x, y, z = mgrid[-50:50:20j,-50:50:20j, \end{lstlisting} \inctime{20} \end{frame} - -\section{Test Driven Approach} - -\begin{frame} - \frametitle{Testing code with \typ{nosetests}} - - \begin{itemize} - \item Writing tests is really simple! - - \item Using nose. - - \item Example! - \end{itemize} -\end{frame} - -\begin{frame} - \frametitle{Need of Testing!} - - \begin{itemize} - \item Quality - - \item Regression - - \item Documentation - \end{itemize} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Nosetest} - \begin{lstlisting} -def gcd(a, b): - """Returns gcd of a and b, - handles only positive numbers.""" - if a%b == 0: return b - return gcd(b, a%b) -def lcm(a, b): - return a*b/gcd(a, b) - -if __name__ == '__main__': - import nose - nose.main() - \end{lstlisting} -\inctime{10} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Example} - \begin{block}{Problem Statement:} - Write a function to check whether a given input - string is a palindrome. - \end{block} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Function: code.py} -\begin{lstlisting} -def is_palindrome(input_str): - return input_str == input_str[::-1] -\end{lstlisting} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Test for the palindrome: code.py} -\begin{lstlisting} -from code import is_palindrome -def test_function_normal_words(): - input = "noon" - assert is_palindrome(input) == True -\end{lstlisting} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Running the tests.} -\begin{lstlisting} -$ nosetests test.py -. ----------------------------------------------- -Ran 1 test in 0.001s - -OK -\end{lstlisting} -\end{frame} - -\begin{frame}[fragile] - \frametitle{Exercise: Including new tests.} -\begin{lstlisting} -def test_function_ignore_cases_words(): - input = "Noon" - assert is_palindrome(input) == True -\end{lstlisting} -Check - -\PythonCode{$ nosetests test.py} - -Tweak the code to pass this test. -\end{frame} - -\begin{frame}[fragile] - \frametitle{Lets write some test!} -\begin{lstlisting} -#for form of equation y=mx+c -#given m and c for two equation, -#finding the intersection point. -def intersect(m1,c1,m2,c2): - x = (c2-c1)/(m1-m2) - y = m1*x+c1 - return (x,y) -\end{lstlisting} - -Create a simple test for this - -function which will make it fail. - -\inctime{15} -\end{frame} - -\section{Summary} -\begin{frame}{So we have covered:} - \begin{itemize} - \item Need for vizualization. - \item Tools available. - \item How to follow Test Driven Approach. - \end{itemize} -\end{frame} -\begin{frame} - \begin{center} - \Huge - Thank you! - \end{center} -\end{frame} \end{document} -- cgit From 7b477df3d2285020a657193ed92ddccb6f02a193 Mon Sep 17 00:00:00 2001 From: Puneeth Chaganti Date: Thu, 8 Oct 2009 20:22:15 +0530 Subject: Added first cut of Day2 handout; Minor edits to sessions 2 and 3. --- day2/session3.tex | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'day2/session3.tex') diff --git a/day2/session3.tex b/day2/session3.tex index 02caa0b..8154c74 100644 --- a/day2/session3.tex +++ b/day2/session3.tex @@ -192,7 +192,7 @@ \inctime{10} \end{frame} -\section{Tools at your disposal:} +\section{Tools at your disposal} \subsection{Mayavi2.0} @@ -280,7 +280,7 @@ \end{frame} \begin{frame}[fragile] - \frametitle{Using mlab:} + \frametitle{Using mlab} \begin{lstlisting} >>> from enthought.mayavi import mlab @@ -288,7 +288,7 @@ \vspace*{0.5in} - \myemph{\Large Try these:} + \myemph{\Large Try these} \vspace*{0.25in} -- cgit