added slides for getting-started-with-for.
authorAnoop Jacob Thomas<anoop@fossee.in>
Tue, 12 Oct 2010 13:02:39 +0530
changeset 306 f105cfcc2498
parent 305 de16a94027f9
child 307 1a73dddb1d05
added slides for getting-started-with-for.
getting-started-with-for/script.rst
getting-started-with-for/slides.org
getting-started-with-for/slides.tex
--- a/getting-started-with-for/script.rst	Tue Oct 12 00:25:54 2010 +0530
+++ b/getting-started-with-for/script.rst	Tue Oct 12 13:02:39 2010 +0530
@@ -43,6 +43,11 @@
                 for indentation. Do that while typing so that they can
                 actually see what is being typed.
 
+As you can see in the slide, ``Block B`` is an inner block and it is
+indented using 4 spaces, and after ``Block B`` the next statement in
+``Block A`` starts from the same indentation level of other ``Block
+A`` statements.
+
 Now let us move straight into ``for`` loop.
 
 {{{ switch to next slide, problem statement of exercise 1 }}}
@@ -85,6 +90,8 @@
                 square_roots. It is only complicating stuff.
                 Simply iterate and print.
 
+{{{ switch to next slide, save and run script }}}
+
 {{{ save the script }}}
 
 Now save the script, and run it from your IPython interpreter. I
@@ -151,6 +158,8 @@
 the list. And this time let us do it right in the IPython
 interpreter. 
 
+{{{ switch to next slide, Indentation in ``ipython`` }}}
+
 {{{ switch focus to the IPython interpreter }}}
 
 So let us start with making a list. Type the following
@@ -166,11 +175,14 @@
 four dots tell you that you are inside a block. Now type the rest of
 the ``for`` loop,
 
+{{{ switch to next slide, Indentation in ``ipython`` (cont'd) }}}
+
 .. #[Nishanth]: Tell that IPython does auto indentation.
 
 ::
 
-        print "Square root of", each, "is", sqrt(each)
+        print "Square root of", each,
+	print "is", sqrt(each)
 
 Now we have finished the statements in the block, and still the
 interpreter is showing four dots, which means you are still inside the
@@ -178,6 +190,8 @@
 without entering anything else. It printed the square root of each
 number in the list, and that is executed in a ``for`` loop.
 
+{{{ switch to next slide, Indentation in ``python`` interpreter }}}
+
 Now, let us find the cube of all the numbers from one to ten. But this
 time let us try it in the vanilla version of Python interpreter.
 
@@ -187,6 +201,9 @@
 {{{ open the python interpreter in the terminal using the command
 python to start the vanilla Python interpreter }}}
 
+{{{ switch to next slide, Indentation in ``python`` interpreter
+(cont'd) }}}
+
 Start with,
 ::
     
@@ -214,6 +231,8 @@
                 Then say this list can also be generated using
                 the range function and hence introduce range.
 
+{{{ switch to the next slide, ``range()`` function }}}
+
 Okay! so the main thing here we learned is how to use Python
 interpreter and IPython interpreter to specify blocks. But while we
 were generating the multiplication table we used something new,
@@ -225,12 +244,14 @@
 .. #[Nishanth]: Show some examples of range without the step argument
                 May be give an exercise with negative numbers as arguments
 
-Now, let us print all the odd numbers from 1 to 50. Let us do it in
-our IPython interpreter for ease of use.
-
 {{{ switch to next slide, problem statement of the next problem in
 solved exercises }}}
 
+Now, let us print all the odd numbers from 1 to 50. Pause here and try
+to solve the problem yourself.
+
+Let us do it in our IPython interpreter for ease of use.
+
 {{{ switch focus to ipython interpreter }}}
 
 The problem can be solved by just using the ``range()`` function.
@@ -248,7 +269,7 @@
 number. The third parameter is for stepping through the sequence. Here
 we gave two which means we are skipping every alternate element.
 
-{{{ switch to next slide, recap slide }}}
+{{{ switch to next slide, summary slide }}}
 
 Thus we come to the end of this tutorial. We learned about blocks in
 Python, indentation, blocks in IPython, for loop, iterating over a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/getting-started-with-for/slides.org	Tue Oct 12 13:02:39 2010 +0530
@@ -0,0 +1,146 @@
+#+LaTeX_CLASS: beamer
+#+LaTeX_CLASS_OPTIONS: [presentation]
+#+BEAMER_FRAME_LEVEL: 1
+
+#+BEAMER_HEADER_EXTRA: \usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
+#+COLUMNS: %45ITEM %10BEAMER_env(Env) %10BEAMER_envargs(Env Args) %4BEAMER_col(Col) %8BEAMER_extra(Extra)
+#+PROPERTY: BEAMER_col_ALL 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0 :ETC
+
+#+LaTeX_CLASS: beamer
+#+LaTeX_CLASS_OPTIONS: [presentation]
+
+#+LaTeX_HEADER: \usepackage[english]{babel} \usepackage{ae,aecompl}
+#+LaTeX_HEADER: \usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet}
+
+#+LaTeX_HEADER: \usepackage{listings}
+
+#+LaTeX_HEADER:\lstset{language=Python, basicstyle=\ttfamily\bfseries,
+#+LaTeX_HEADER:  commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
+#+LaTeX_HEADER:  showstringspaces=false, keywordstyle=\color{blue}\bfseries}
+
+#+TITLE: Getting started with for
+#+AUTHOR: FOSSEE
+#+EMAIL:     
+#+DATE:    
+
+#+DESCRIPTION: 
+#+KEYWORDS: 
+#+LANGUAGE:  en
+#+OPTIONS:   H:3 num:nil toc:nil \n:nil @:t ::t |:t ^:t -:t f:t *:t <:t
+#+OPTIONS:   TeX:t LaTeX:nil skip:nil d:nil todo:nil pri:nil tags:not-in-toc
+
+* Outline
+  - ~for~ loop in Python.
+  - Blocks of code in Python.
+    - Indentation
+* Whitespace in Python
+  - Whitespace is significant
+    - blocks are visually separated
+  - Blocks are indented using 4 spaces
+    : Block A
+    : Block A
+    :     Block B
+    :     Block B
+    : Block A
+    ~Block B~ is an inner block and is indented using 4 spaces
+* Exercise 1
+  Write a ~for~ loop which iterates through a list of numbers and find
+  the square root of each number.
+  : 
+  The numbers are,
+  : 1369, 7225, 3364, 7056, 5625, 729, 7056, 
+  : 576, 2916
+* Solution 1
+  - Open text editor and type the following code
+  #+begin_src python
+    numbers = [1369, 7225, 3364, 7056, 5625, 729, 7056, 
+               576, 2916]
+
+    for each in numbers:
+        print "Square root of", each, "is", sqrt(each)
+
+    print "This is not in for loop!"
+  #+end_src
+* Save \& run script
+  - Save the script as ~list_roots.py~
+  - Run in ~ipython~ interpreter as,
+    : In []: %run -i list_roots.py
+* Exercise 2
+  From the given numbers make a list of perfect squares and a list of those which are not.
+  : 
+  The numbers are,
+  : 7225, 3268, 3364, 2966, 7056, 5625, 729, 5547, 
+  : 7056, 576, 2916
+* Exercise 3 (indentation in ~ipython~)
+  Print the square root of numbers in the list.
+  : 
+  Numbers are,
+  : 7225, 3268, 3364, 2966, 7056, 5625, 729, 5547, 
+  : 7056, 576, 2916
+* Indentation in ~ipython~
+  : In []: numbers = [1369, 7225, 3364, 7056, 5625, 
+  :   ...:  729, 7056, 576, 2916]
+
+  : In []: for each in numbers:
+  :   ...:     
+  Note the four spaces here
+  : 
+  : 
+  : 
+  : 
+  : 
+  : 
+* Indentation in ~ipython~ (cont'd)
+  : In []: numbers = [1369, 7225, 3364, 7056, 5625, 
+  :   ...:  729, 7056, 576, 2916]
+  : In []: for each in numbers:
+  :   ...:     
+  Note the four spaces here
+  : 
+  Now type the rest of the code
+  :   ...:     print "Square root of", each, 
+  :   ...:     print "is", sqrt(each)
+  :   ...:     
+  :   ...:     
+* Indentation in ~python~ interpreter
+  Find out the cube of all the numbers from 1 to 10.
+  : 
+  /do it in the python interpreter/
+* Indentation in ~python~ interpreter (cont'd)
+  #+begin_src python
+  >>> for i in range(1, 11):
+  ...     print i, "cube is", i**3
+  ... 
+  #+end_src
+* ~range()~ function
+  - in built function in Python
+  - generates a list of integers
+    - /syntax:/ range([start,] stop[, step])
+    - /example:/
+      - range(1, 20) - /generates integers from 1 to 20/
+      - range(20) - /generates integers from 0 to 20/
+* Exercise 4
+  Print all the odd numbers from 1 to 50.
+* Summary
+  - blocks in ~python~
+  - indentation
+  - blocks in ~ipython~ interpreter
+  - ~for~ loop
+  - iterating over list using ~for~ loop
+  - ~range()~ function
+* Thank you!
+#+begin_latex
+  \begin{block}{}
+  \begin{center}
+  This spoken tutorial has been produced by the
+  \textcolor{blue}{FOSSEE} team, which is funded by the 
+  \end{center}
+  \begin{center}
+    \textcolor{blue}{National Mission on Education through \\
+      Information \& Communication Technology \\ 
+      MHRD, Govt. of India}.
+  \end{center}  
+  \end{block}
+#+end_latex
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/getting-started-with-for/slides.tex	Tue Oct 12 13:02:39 2010 +0530
@@ -0,0 +1,285 @@
+% Created 2010-10-12 Tue 12:55
+\documentclass[presentation]{beamer}
+\usepackage[latin1]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{fixltx2e}
+\usepackage{graphicx}
+\usepackage{longtable}
+\usepackage{float}
+\usepackage{wrapfig}
+\usepackage{soul}
+\usepackage{t1enc}
+\usepackage{textcomp}
+\usepackage{marvosym}
+\usepackage{wasysym}
+\usepackage{latexsym}
+\usepackage{amssymb}
+\usepackage{hyperref}
+\tolerance=1000
+\usepackage[english]{babel} \usepackage{ae,aecompl}
+\usepackage{mathpazo,courier,euler} \usepackage[scaled=.95]{helvet}
+\usepackage{listings}
+\lstset{language=Python, basicstyle=\ttfamily\bfseries,
+commentstyle=\color{red}\itshape, stringstyle=\color{darkgreen},
+showstringspaces=false, keywordstyle=\color{blue}\bfseries}
+\providecommand{\alert}[1]{\textbf{#1}}
+
+\title{Getting started with for}
+\author{FOSSEE}
+\date{}
+
+\usetheme{Warsaw}\usecolortheme{default}\useoutertheme{infolines}\setbeamercovered{transparent}
+\begin{document}
+
+\maketitle
+
+
+
+
+
+
+
+
+
+\begin{frame}
+\frametitle{Outline}
+\label{sec-1}
+
+\begin{itemize}
+\item \texttt{for} loop in Python.
+\item Blocks of code in Python.
+
+\begin{itemize}
+\item Indentation
+\end{itemize}
+
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Whitespace in Python}
+\label{sec-2}
+
+\begin{itemize}
+\item Whitespace is significant
+
+\begin{itemize}
+\item blocks are visually separated
+\end{itemize}
+
+\item Blocks are indented using 4 spaces
+\begin{verbatim}
+     Block A
+     Block A
+         Block B
+         Block B
+     Block A
+\end{verbatim}
+
+    \texttt{Block B} is an inner block and is indented using 4 spaces
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Exercise 1}
+\label{sec-3}
+
+  Write a \texttt{for} loop which iterates through a list of numbers and find
+  the square root of each number.
+\begin{verbatim}
+   
+\end{verbatim}
+
+  The numbers are,
+\begin{verbatim}
+   1369, 7225, 3364, 7056, 5625, 729, 7056, 
+   576, 2916
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Solution 1}
+\label{sec-4}
+
+\begin{itemize}
+\item Open text editor and type the following code
+\end{itemize}
+
+\begin{verbatim}
+numbers = [1369, 7225, 3364, 7056, 5625, 729, 7056, 
+           576, 2916]
+
+for each in numbers:
+    print "Square root of", each, "is", sqrt(each)
+
+print "This is not in for loop!"
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Save \& run script}
+\label{sec-5}
+
+\begin{itemize}
+\item Save the script as \texttt{list\_roots.py}
+\item Run in \texttt{ipython} interpreter as,
+\begin{verbatim}
+     In []: %run -i list_roots.py
+\end{verbatim}
+
+\end{itemize}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Exercise 2}
+\label{sec-6}
+
+  From the given numbers make a list of perfect squares and a list of those which are not.
+\begin{verbatim}
+   
+\end{verbatim}
+
+  The numbers are,
+\begin{verbatim}
+   7225, 3268, 3364, 2966, 7056, 5625, 729, 5547, 
+   7056, 576, 2916
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Exercise 3 (indentation in \texttt{ipython})}
+\label{sec-7}
+
+  Print the square root of numbers in the list.
+\begin{verbatim}
+   
+\end{verbatim}
+
+  Numbers are,
+\begin{verbatim}
+   7225, 3268, 3364, 2966, 7056, 5625, 729, 5547, 
+   7056, 576, 2916
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Indentation in \texttt{ipython}}
+\label{sec-8}
+
+\begin{verbatim}
+   In []: numbers = [1369, 7225, 3364, 7056, 5625, 
+     ...:  729, 7056, 576, 2916]
+\end{verbatim}
+
+
+\begin{verbatim}
+   In []: for each in numbers:
+     ...:     
+\end{verbatim}
+
+  Note the four spaces here
+\begin{verbatim}
+   
+   
+   
+   
+   
+   
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Indentation in \texttt{ipython} (cont'd)}
+\label{sec-9}
+
+\begin{verbatim}
+   In []: numbers = [1369, 7225, 3364, 7056, 5625, 
+     ...:  729, 7056, 576, 2916]
+   In []: for each in numbers:
+     ...:     
+\end{verbatim}
+
+  Note the four spaces here
+\begin{verbatim}
+   
+\end{verbatim}
+
+  Now type the rest of the code
+\begin{verbatim}
+     ...:     print "Square root of", each, 
+     ...:     print "is", sqrt(each)
+     ...:     
+     ...:     
+\end{verbatim}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Indentation in \texttt{python} interpreter}
+\label{sec-10}
+
+  Find out the cube of all the numbers from 1 to 10.
+\begin{verbatim}
+   
+\end{verbatim}
+
+  \emph{do it in the python interpreter}
+\end{frame}
+\begin{frame}[fragile]
+\frametitle{Indentation in \texttt{python} interpreter (cont'd)}
+\label{sec-11}
+
+\begin{verbatim}
+>>> for i in range(1, 11):
+...     print i, "cube is", i**3
+...
+\end{verbatim}
+\end{frame}
+\begin{frame}
+\frametitle{\texttt{range()} function}
+\label{sec-12}
+
+\begin{itemize}
+\item in built function in Python
+\item generates a list of integers
+
+\begin{itemize}
+\item \emph{syntax:} range([start,] stop[, step])
+\item \emph{example:}
+
+\begin{itemize}
+\item range(1, 20) - \emph{generates integers from 1 to 20}
+\item range(20) - \emph{generates integers from 0 to 20}
+\end{itemize}
+
+\end{itemize}
+
+\end{itemize}
+\end{frame}
+\begin{frame}
+\frametitle{Exercise 4}
+\label{sec-13}
+
+  Print all the odd numbers from 1 to 50.
+\end{frame}
+\begin{frame}
+\frametitle{Summary}
+\label{sec-14}
+
+\begin{itemize}
+\item blocks in \texttt{python}
+\item indentation
+\item blocks in \texttt{ipython} interpreter
+\item \texttt{for} loop
+\item iterating over list using \texttt{for} loop
+\item \texttt{range()} function
+\end{itemize}
+\end{frame}
+\begin{frame}
+\frametitle{Thank you!}
+\label{sec-15}
+
+  \begin{block}{}
+  \begin{center}
+  This spoken tutorial has been produced by the
+  \textcolor{blue}{FOSSEE} team, which is funded by the 
+  \end{center}
+  \begin{center}
+    \textcolor{blue}{National Mission on Education through \\
+      Information \& Communication Technology \\ 
+      MHRD, Govt. of India}.
+  \end{center}  
+  \end{block}
+\end{frame}
+
+\end{document}