Session 1 slides completed. Session 3 third iteration.
authorSantosh G. Vattam <vattam.santosh@gmail.com>
Thu, 08 Oct 2009 22:48:06 +0530
changeset 74 a476c09dcf24
parent 53 fc74987a475d
child 75 090d03e43e95
Session 1 slides completed. Session 3 third iteration.
day1/Session-1.tex
day1/Session-3.tex
--- a/day1/Session-1.tex	Wed Oct 07 15:21:29 2009 +0530
+++ b/day1/Session-1.tex	Thu Oct 08 22:48:06 2009 +0530
@@ -1,5 +1,5 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% Tutorial slides on Python.
+%Tutorial slides on Python.
 %
 % Author: Prabhu Ramachandran <prabhu at aero.iitb.ac.in>
 % Copyright (c) 2005-2009, Prabhu Ramachandran
@@ -33,7 +33,7 @@
 
 \usepackage{listings}
 \lstset{language=Python,
-    basicstyle=\ttfamily,
+    basicstyle=\ttfamily\bfseries,
     commentstyle=\color{red}\itshape,
   stringstyle=\color{darkgreen},
   showstringspaces=false,
@@ -134,12 +134,16 @@
 %  * Add slides on reference counting.
 
 \section{Agenda}
-\begin{frame}{About the Workshop}
+\begin{frame}{About the Workshop, Day 1}
   \begin{description}
 	\item[Day 1, Session 1] Sat 09:30--11:00
 	\item[Day 1, Session 2] Sat 11:15--12:45
 	\item[Day 1, Session 3] Sat 13:45--15:15
 	\item[Day 1, Session 4] Sat 15:30--17:00
+  \end{description}
+\end{frame}
+\begin{frame}{About the Workshop, Day 2}
+  \begin{description}
         \item[Day 2, Quiz] Sun 09:00--09:30
         \item[Day 2, Session 1] Sun 09:30--11:00
 	\item[Day 2, Session 2] Sun 11:15--12:45
@@ -151,21 +155,22 @@
 \begin{frame}{About the Workshop}
   \begin{block}{Intended Audience}
   \begin{itemize}
-       \item Aimed at Engg., Mathematics and Science teachers.
+       \item Engg., Mathematics and Science teachers.
        \item Interested students from similar streams.
   \end{itemize}
   \end{block}  
 
-  \begin{block}{Goal}
-	Successful participants will be able to use python as their scripting and problem solving language. 
+  \begin{block}{Goal:}
+	Successful participants will be able to 
+        \begin{itemize}
+          \item use Python as their scripting and problem solving language. 
+          \item train the students to use Python for the same
+        \end{itemize}
   \end{block}
 \end{frame}
 
 \begin{frame}{Checklist}
-        \begin {block}{Live Python}
-          Have you booted using the Live Python DVD?
-        \end {block}
-	\begin{block}{python}
+        \begin{block}{python}
           Type python at the command line. Do you see version 2.5 or later?
         \end{block}
         \begin{block}{IPython}
@@ -308,7 +313,7 @@
   \end{center}
 \end{frame}
 
-\begin{frame}{More exercises?}
+\begin{frame}{More exercises}
   \begin{center}
     \begin{block}{Round sums}
       How to round a number to the nearest  5 paise?\\
@@ -508,7 +513,7 @@
   \end{block}
 \end{frame}
 
-\begin{frame}[fragile]{Surprise! strings!!}
+\begin{frame}[fragile]{String formatting}
   \begin{lstlisting}
 In [11]: x, y = 1, 1.2
 In [12]: 'x is %s, y is %s' %(x, y)
@@ -523,10 +528,15 @@
 \end{frame}
 
 \begin{frame}
-  {Interlude}
+  {A classic problem}
   \begin{block}
-    {A classic problem}
-    How to interchange values of two variables? Please note that the type of either variable is unknown and it is not necessary that both be of the same type even!
+    {Interchange values}
+    How to interchange values of two variables? 
+  \end{block}
+  \pause
+  \begin{block}{Note:}
+    This Python idiom works for all types of variables.\\
+They need not be of the same type!
   \end{block}
   \inctime{30}
 \end{frame}
@@ -568,10 +578,9 @@
   \begin{itemize}
     \item aka scripts
     \item use your editor
-    \item Note that white space is the way to specify blocks!
     \item extension \typ{.py}
     \item run with \texttt{python hello.py} at the command line
-    \item in IPython\ldots
+    \item in IPython using \kwrd{\%run}
   \end{itemize}
 \end{frame}
 
@@ -627,10 +636,11 @@
 \begin{frame}{So what have we learnt so far?}
   \begin{itemize}
     \item The interactive interpreter
-    \item Basic Data Types-Numbers
-    \item \typ{if/elif/else, while}
+    \item Basic Data Types
+    \item Creating and running a Python script
+    \item \kwrd{if/elif/else}
     \item Simple IO
-    \item Creating and running a Python script
+    \item Basic Looping with \kwrd{while}
   \end{itemize}
 \end{frame}
 \end{document}
--- a/day1/Session-3.tex	Wed Oct 07 15:21:29 2009 +0530
+++ b/day1/Session-3.tex	Thu Oct 08 22:48:06 2009 +0530
@@ -33,7 +33,7 @@
 
 \usepackage{listings}
 \lstset{language=Python,
-    basicstyle=\ttfamily,
+    basicstyle=\ttfamily\bfseries,
     commentstyle=\color{red}\itshape,
   stringstyle=\color{darkgreen},
   showstringspaces=false,
@@ -86,12 +86,12 @@
 
 
 %% Delete this, if you do not want the table of contents to pop up at
-%% the beginning of each subsection:
-\AtBeginSubsection[]
+%% the beginning of each section:
+\AtBeginSection[]
 {
   \begin{frame}<beamer>
     \frametitle{Outline}
-    \tableofcontents[currentsection,currentsubsection]
+    \tableofcontents[currentsection]
   \end{frame}
 }
 
@@ -110,15 +110,7 @@
   \titlepage
 \end{frame}
 
-\begin{frame}
-  \frametitle{Outline}
-  \tableofcontents
-  % You might wish to add the option [pausesections]
-\end{frame}
-
-\section{Python}
-
-\subsection{Problem Set based on Lists and Tuples}
+\section{\typ{for}, Lists and Tuples}
 
 \begin{frame}
   {Problem set 3}
@@ -149,7 +141,7 @@
 \end{frame}
 
 \begin{frame}[fragile]
-  \frametitle{Problem 3.4a (optional)}
+  \frametitle{Problem 3.4a}
 
 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}
@@ -159,7 +151,7 @@
 \end{frame}
 
 \begin{frame}[fragile]
-  \frametitle{Problem 3.4b (optional)}
+  \frametitle{Problem 3.4b}
 
   Using the tuples generated earlier, determine the intervals where the roots of the functions lie.
 
@@ -170,7 +162,7 @@
 % TIME: 15 m, running 185m 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\subsection{IO}
+\section{Input/Output}
 
 \begin{frame}[fragile]
   \frametitle{Simple tokenizing and parsing}
@@ -239,7 +231,7 @@
 % TIME: 30 m, running 215m 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\subsection{Modules}
+\section{Modules}
 
 \begin{frame}[fragile]
     {Modules}
@@ -347,11 +339,12 @@
 
 \inctime{25}
 \end{frame}
+
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % TIME: 25 m, running 230m 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\subsection{Coding Style in Python}
+\section{Coding Style in Python}
 \begin{frame}{Readability and Consistency}
     \begin{itemize}
         \item Readability Counts!-Code is read more often than its written.
@@ -396,8 +389,11 @@
 \inctime{10}
 \end{frame}
 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% TIME: 10 m, running 240m 
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
-\subsection{Objects}
+\section{Objects}
 \begin{frame}{Objects in Python}
     \begin{itemize}
         \item What is an Object? (Types and classes)
@@ -407,8 +403,33 @@
       \end{itemize}
 \end{frame}
 
+\begin{frame}{Everything is an Object!}
+  \begin{itemize}
+    \item \typ{list, tuple}
+    \item \typ{string, dictionary}
+    \item \typ{function}
+    \item Of course, user defined class objects!
+  \end{itemize}
+\end {frame}
+
+\begin{frame}{Using Objects}
+  \begin{itemize}
+    \item Creating Objects: Initialization
+    \item Object Manipulation: Object methods and ``.'' operator
+  \end{itemize}
+\end{frame}
+
 \begin{frame}[fragile]
-  \frametitle{Why are they useful?}
+  \frametitle{IPython Examples}
+  \begin{lstlisting}
+In [1]: l = [] #Initialising a list object
+In [2]: l?
+In [3]: l.<tab>
+  \end{lstlisting}
+\end{frame}
+
+\begin{frame}[fragile]
+  \frametitle{Objects provide a certain consistency}
   \small
   \begin{lstlisting}
 for element in (1, 2, 3):
@@ -430,9 +451,15 @@
   \inctime{10}
 \end{frame}
 
-\begin{frame}
-  \frametitle{What did we learn?}
-  \tableofcontents
-  % You might wish to add the option [pausesections]
+\section{Summary}
+
+\begin{frame}{What have we learnt so far?}
+  \begin{itemize}
+  \item Writing to and Reading from files using \typ{for}
+  \item Using and writing Python Modules
+  \item Coding Style
+  \item Objects in Python
+  \end{itemize}
 \end{frame}
+
 \end{document}