day1/Session-3.tex
changeset 79 04b620d3f172
parent 74 a476c09dcf24
child 106 7b539cba0f04
--- a/day1/Session-3.tex	Thu Oct 08 22:48:59 2009 +0530
+++ b/day1/Session-3.tex	Fri Oct 09 12:09:08 2009 +0530
@@ -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 @@
 \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 @@
 % TIME: 15 m, running 185m 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\section{Input/Output}
+\section{Parsing}
 
 \begin{frame}[fragile]
   \frametitle{Simple tokenizing and parsing}
@@ -182,6 +186,8 @@
   \end{lstlisting}
 \end{frame}
 
+\section{Input/Output}
+
 \begin{frame}[fragile]
   \frametitle{File handling}
 \begin{lstlisting}
@@ -205,13 +211,59 @@
 \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 @@
 % 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 @@
         \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 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \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 @@
       \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 @@
 \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 @@
 
 \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