summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSantosh G. Vattam2009-10-09 12:09:08 +0530
committerSantosh G. Vattam2009-10-09 12:09:08 +0530
commit97fa2f26647b1dc437779aed84b35d3cdb6927c8 (patch)
treef3e74ad044c72199dfe00bca7033610e8ccb0bac
parent01824f31456fb6e6068ca72163421fca19d6f9ce (diff)
downloadworkshops-more-scipy-97fa2f26647b1dc437779aed84b35d3cdb6927c8.tar.gz
workshops-more-scipy-97fa2f26647b1dc437779aed84b35d3cdb6927c8.tar.bz2
workshops-more-scipy-97fa2f26647b1dc437779aed84b35d3cdb6927c8.zip
Session 3 slides completed.
-rwxr-xr-xday1/Session-3.tex87
1 files changed, 72 insertions, 15 deletions
diff --git a/day1/Session-3.tex b/day1/Session-3.tex
index c43db9c..d518781 100755
--- a/day1/Session-3.tex
+++ b/day1/Session-3.tex
@@ -112,9 +112,13 @@
\section{\typ{for}, Lists and Tuples}
-\begin{frame}
- {Problem set 3}
- As you can guess, idea is to use \kwrd{for}!
+\begin{frame}{Quick Recap}
+ \begin{itemize}
+ \item List indexing and slicing
+ \item The \kwrd{range()} function
+ \item \kwrd{for}
+ \item Iterating lists and tuples using \kwrd{for} and \kwrd{range()}
+ \end{itemize}
\end{frame}
\begin{frame}{Problem 3.1}
@@ -141,7 +145,7 @@
\end{frame}
\begin{frame}[fragile]
- \frametitle{Problem 3.4a}
+ \frametitle{Problem 3.4}
Use the \typ{linspace} function and generate a list of N tuples of the form\\
\typ{[($x_1$,f($x_1$)),($x_2$,f($x_2$)),\ldots,($x_N$,f($x_N$))]}\\for the following functions,\begin{itemize}
@@ -151,7 +155,7 @@ Use the \typ{linspace} function and generate a list of N tuples of the form\\
\end{frame}
\begin{frame}[fragile]
- \frametitle{Problem 3.4b}
+ \frametitle{Problem 3.5}
Using the tuples generated earlier, determine the intervals where the roots of the functions lie.
@@ -162,7 +166,7 @@ Use the \typ{linspace} function and generate a list of N tuples of the form\\
% TIME: 15 m, running 185m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Input/Output}
+\section{Parsing}
\begin{frame}[fragile]
\frametitle{Simple tokenizing and parsing}
@@ -182,6 +186,8 @@ for word in s.split():
\end{lstlisting}
\end{frame}
+\section{Input/Output}
+
\begin{frame}[fragile]
\frametitle{File handling}
\begin{lstlisting}
@@ -205,13 +211,59 @@ Writing files
\begin{frame}[fragile]
\frametitle{File and \kwrd{for}}
\begin{lstlisting}
->>> f = open('/path/to/file_name')
+$ cat dummyfile
+One 1
+Two 2
+Three 3
+Four 4
+Five 5
+Six 6
+Seven 7
+Eight 8
+Nine 9
+Ten 10
+\end{lstlisting}
+\end{frame}
+
+\begin{frame}[fragile]
+ \frametitle{File and \kwrd{for}}
+\begin{lstlisting}
+>>> f = open('dummyfile')
>>> for line in f:
... print line
...
\end{lstlisting}
\end{frame}
+\begin{frame}[fragile]
+ \frametitle{File and \kwrd{for}}
+\begin{lstlisting}
+In [1]: f = open('dummyfile')
+
+In [2]: for line in f:
+ ...: print line
+ ...:
+\end{lstlisting}
+
+\begin{columns}
+ \column{0.3\textwidth}
+
+\begin{lstlisting}
+One 1
+
+Two 2
+
+Three 3
+\end{lstlisting}
+ \column{0.6\textwidth}
+\pause
+\begin{block}{What happens when ...}
+the \kwrd{print line} is replaced by \kwrd{print line,}
+\end{block}
+\end{columns}
+\ldots
+\end{frame}
+
\begin{frame}{Problem 4.2}
The given file has lakhs of records in the form:\\
\typ{RGN;ID;NAME;MARK1;\ldots;MARK5;TOTAL;PFW}\\
@@ -344,10 +396,10 @@ def lcm(a, b):
% TIME: 25 m, running 230m
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\section{Coding Style in Python}
+\section{Coding Style}
\begin{frame}{Readability and Consistency}
\begin{itemize}
- \item Readability Counts!-Code is read more often than its written.
+ \item Readability Counts!\\Code is read more often than its written.
\item Consistency!
\item Know when to be inconsistent.
\end{itemize}
@@ -386,6 +438,7 @@ def lcm(a, b):
\item Ending the docstrings
\item One liner docstrings
\end{itemize}
+More information at PEP8: http://www.python.org/dev/peps/pep-0008/
\inctime{10}
\end{frame}
@@ -394,7 +447,7 @@ def lcm(a, b):
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Objects}
-\begin{frame}{Objects in Python}
+\begin{frame}{Objects in general}
\begin{itemize}
\item What is an Object? (Types and classes)
\item identity
@@ -403,10 +456,12 @@ def lcm(a, b):
\end{itemize}
\end{frame}
-\begin{frame}{Everything is an Object!}
+\begin{frame}{Almost everything is an Object!}
\begin{itemize}
- \item \typ{list, tuple}
- \item \typ{string, dictionary}
+ \item \typ{list}
+ \item \typ{tuple}
+ \item \typ{string}
+ \item \typ{dictionary}
\item \typ{function}
\item Of course, user defined class objects!
\end{itemize}
@@ -429,7 +484,7 @@ In [3]: l.<tab>
\end{frame}
\begin{frame}[fragile]
- \frametitle{Objects provide a certain consistency}
+ \frametitle{Objects provide consistency}
\small
\begin{lstlisting}
for element in (1, 2, 3):
@@ -455,7 +510,9 @@ for line in urllib2.urlopen('http://site.com'):
\begin{frame}{What have we learnt so far?}
\begin{itemize}
- \item Writing to and Reading from files using \typ{for}
+ \item Operating on lists and tuples using \kwrd{for}
+ \item Simple string tokenizing and parsing
+ \item Writing to and Reading from files using \kwrd{for}
\item Using and writing Python Modules
\item Coding Style
\item Objects in Python