\documentclass[11pt,twocolumn]{article}
\usepackage{graphicx}
\newenvironment{enumcpt}{\begin{enumerate} \topsep 0pt \partopsep 0pt 
                        \parsep 0pt
                        \itemsep 0pt \leftmargin -1in \rightmargin 0pt
                        }{\end{enumerate}}
\begin{document}
\title{Instruction sheet for spoken tutorials for Python in Windows}
\author{Fossee Team}
\maketitle
\section*{Introduction }
{This document is an instruction sheet for Python spoken tutorials described module wise.}
\setlength{\columnsep}{15pt }
\begin{enumerate}
  \item You have been given a set of modules of Python spoken tutorials.
  \item You will typically do one module at a time.
  \item These tutorials are meant for Windows environment.
  \item You should follow the spoken tutorials and do all the assignments mentioned in them.
   \item If you find it difficult at the first go, then consider listening to the video tutorial more than once and then re-do the assignments.
   \item You must go through the Spoken tutorials in the following modular order of sequence. 

\end{enumerate}

\section*{General Instructions}
{These instructions are to be followed for each module.}
\setlength{\columnsep}{15pt }
\begin{enumerate}
	  
	\item Install Python and SciPy by installing \emph{Enthought Python Distrubtion} from the Enthought website. 
	\item Please copy the \emph{Python\_Workshop} folder onto your desktop.
   
  \item Right click on \emph{module-name.ogv}, point cursor on \emph{Open With} and select \emph{VLC Media Player}.
  \item Please follow the tutorial as shown in video.
  \item You can do a hands-on on the terminal simultaneously with the ongoing spoken tutorial by pausing the video as   and when necessary.
  \item Press \emph{Windows +  R} keys simultaneously and then type \emph{cmd} to run a command prompt.
  \item Pause the video wherever there is an assignment and only after finishing it, continue with the video.
  \item After finishing all the assignments please proceed to next module. 

\end{enumerate}

\section{Module - 1}
Go through the general instructions as stated below before starting each module. \\
  This module deals with the introduction of Ipython. The basics of plotting will be covered in this module.
  \subsection{Getting started with Ipython.}
    Tutorial required: \\getting\_started\_with\_ipython.ogv \\ 
    This video deals with introduction to ipython interpretor, navigating across the history of interpretor, using tab-completition, looking up of documentation of functions and interrupt incomplete or incorrect commands. 
    \subsection{Using plot interactively.}
   Tutorial required: \\using\_plot\_interactively.ogv \\
    This video would teach you how to create simple plots of mathematical functions and how to use \emph{figure} window to study plots better. 
    \subsection{Embellishing a plot.}
    Tutorial required:\\ embellishing\_a\_plot.ogv
      This video would teach us how to modify the attributes of the plot - color, line, style, linewidth. One can learn how to add title to the plot, label x and y axes, add annotataions to the plot, \emph{Set} and \emph{Get} the limits of axis.
    \subsection{Saving plots.}
    Tutorial required: \\ saving\_plots.ogv \\
    
      This video would teach us how to save plots using \textbf{savefig()} function and also save plots in various other formats.
    \subsection{Multiple plots.}
    Tutorial required: \\multiple\_plots.ogv \\
      This video would help us to lean multiple plots which are overlaid, use the \emph{figure} command, use the \emph{legend} command, switch between the plots and perform various operations, and to create and switch plots. 
    \subsection{Additional features of Ipython}
     Tutorial required: \\additional\_features\_of\_ipython.ogv \\
    This video would teach us how to retrieve your Ipython history, view a part of history, save a part of your history, run a script from with Ipython. \\

\section{Module - 2}
Go through the general instructions as stated above before starting each module.\\
This module has the following features:
  \subsection{Loading data from files.}
  Tutorial required: \\loading\_data\_from\_files.ogv \\
  Files required:\\ pendulum.txt,primes.txt,pendulum\_semicolon.txt \\
  This video deals with reading data from the files with a single column of data, read data from files with multiple columns separated by spaces and other delimiters. 
\begin{enumcpt}
\item Please locate the files \emph{pendulum.txt}, \emph{primes.txt} and \emph{pendulum\_semicolon.txt} in the Python\_Workshop folder and use them
      as instructed in the tutorial.
\item Please do not edit the content of these files while viewing them.
\end{enumcpt}

  \subsection{Plotting data.}
  Tutorial required: plotting\_data.ogv \\
    This video would teach us how to define a list of numbers, perform element-wise squaring of lists, plot data points, plot error bars. 
    \subsection{Other types of plots.}
    Tutorial required:\\ other\_types\_of\_plots.ogv \\
    Files required: company-a-data.txt \\
    This video would teach us how to create scatter plot, pie charts, bar charts, log-log charts and using the \emph{matplotlib} help.\\ \\
\begin{enumcpt}
\item Please locate the files \emph{company-a-data.txt} in the Python\_Workshop folder and use it
      as instructed in the tutorial. 
\end{enumcpt}
  
\section{Module - 3}
Go through the general instructions as stated above before starting each module.\\
This module has the following features:
\subsection{Getting started with lists.}
Tutorial required: \\getting\_started\_with\_lists.ogv \\
This video would teach us how to create lists, access elements, append elements to the lists, delete the elements from the lists. 
\subsection{Getting started with for.}
Tutorial required: \\getting\_started\_with\_for.ogv \\
This video would teach us how to use for in blocks of code in python. It would also give an overview of the \textbf{range()} function. It should show us how to write code blocks in python and Ipython interpreter. 
\subsection{Getting started with strings.}
Tutorial required: \\getting\_started\_with\_string.ogv \\
This video would teach us how to define strings in different ways, concatenating strings, printing a string, accessing individual elements of the string, and learn immutability of the strings. 
\subsection{Getting started with files.}
Tutorial required: \\getting\_started\_with\_files \\
Files required : pendulum.txt \\
This video would teach us how to open a file, read the comments of the file line by line, read the entire content of the file, append the lines of a file to a list and close a file.
\begin{enumcpt}
\item Please locate the file \emph{pendulum.txt} in the Python\_Workshop folder and use it
      as instructed in the tutorial. 
\end{enumcpt}

\subsection{Parsing data.}
Tutorial required: parsing\_data.ogv \\
Files required : sslc.txt \\
This video would teach us how to split using a delimiter, remove the whitespace around the string, convert the datatypes  of variables from one type to other. 
\begin{enumcpt}
\item Please locate the file \emph{sslc.txt} in the Python\_Workshop folder and use it
      as instructed in the tutorial. 
\end{enumcpt}

\subsection{Statistics.}
Tutorial required: statistics.ogv \\
Files required :\\ football.txt, sslc2.txt \\
This video teaches us how to do statistical operations in Python and take a sum of set of numbers; find their mean, median and standard deviation. \\
\begin{enumcpt}
\item Please locate the file \emph{football.txt} and \emph{sslc2.txt} in the Python\_Workshop folder and use them
      as instructed in the tutorial. 
\end{enumcpt}


\section{Module - 4}
Go through the general instructions as stated above before starting each module.\\
This module has the following features:
\subsection{Getting started with arrays.}
Tutorial required : \\Getting\_started\_with\_arrays.ogv \\
This video teaches us how to create arrays using data, create arrays from lists, perform basic operations, create identity matrix, use functions.
\subsection{Accessing parts of the arrays.}

Tutorial required : \\Accessing\_parts\_of\_the\_arrays.ogv \\
Files required - squares.png\\
This video teaches us how to access and change individual elements of the arrays, access and change rows and columns of the arrays, access and change rows and columns of arrays, access and change other chunks from an array, using slicing and string. It also teaches us to read images into an array and perform processing on them, using simple array manipulations.
\begin{enumcpt}
\item Please locate the image file \emph{squares.png} in the Python\_Workshop folder and use it
      as instructed in the tutorial. 
\end{enumcpt}
 
\subsection{Matrices}

Tutorial required : \\matrices.ogv \\
This video teaches us how to create matrices using data, from lists; do basic matrix operations like addition, multiplication. It also teaches us to perform operations to find out the inverse, determinant, eigen values, norm and singular value decomposition of a matrix.
\subsection{Least square fit}
Tutorial required: \\least\_square\_fit.ogv \\
Files required : pendulum.txt \\
This video teaches us how to generate the least square fit line for a given set of points. Before this tutorial, do remember to finish the tutorials on Using plot interactively, Loading data from the files and Getting started with arrays. \\ \\
\begin{enumcpt}
\item Please locate the file \emph{pendulum.txt} in the Python\_Workshop folder and use it
      as instructed in the tutorial. 
\end{enumcpt}

\section{Module - 5}
Go through the general instructions as stated above before starting each module.
This module has these features:
\subsection{Basic datatypes and operators}
Tutorial required: \\basic\_datatypes\_and\_operators.ogv \\
This video teaches us about datatypes( Numbers, Boolean, Sequence), operators in python (Arithmetic Operators, Boolean Operators) and Python sequence datatypes(list,string,tuple).

\subsection{Input and Output.}
Go through the general instructions as stated below before starting each module.
Tutorial required: \\input\_output.ogv \\

This video teaches us how to print some value, usage of modifiers, taking input from users and displaying a prompt to the user before taking the input. 
\subsection{Conditionals.}
Tutorial required: \\ conditionals.ogv \\
This video teaches us how to use if/else blocks, if/elif/else blocks and usage of ternary conditional statements - C if X and Y.
\subsection{Loops.}
Tutorial required: \\loops.ogv \\

This video teaches us on loops in Python such as \textbf{for}, \textbf{while} and how to use \textbf{range()} function in for loop. \\ 
\begin{enumcpt}
\item Please note that we have used 4 \emph{spaces} as indentation.
\end{enumcpt} 

\section{Module - 6}
Go through the general instructions as stated above before starting each module.
This module has these features:
\subsection{Manipulating Lists.}
Tutorial required: \\manipulating\_lists.ogv \\
 
This video teaches us how to concatenate two lists, slicing and striding of lists and sort and reverse lists.
\subsection{Manipulating Strings.}
Tutorial required: \\manipulating\_strings.ogv \\

This video teaches us how to slice strings and get sub-strings out of them, reverse strings, replace characters in strings, convert strings to upper case or lower case and join  a list of strings. 
\subsection{Tuples.}
Tutorial required: \\tuples.ogv \\

This video teaches us what tuples are, comparison with lists,know why they are needed and where to use them. 
\subsection{Dictionaries.}
Tutorial required: \\dictionaries.ogv \\

This video teaches us how to create dictionaries, keys and values, checking for elements and iterating over elements. 
\subsection{Sets.}
Tutorial required: \\sets.ogv \\

This video teaches us how to create sets from lists, perform union, intersection and symmetric difference operations, check if a set is a subset of other, understand various similarities with lists like length and containership.\\ \\


\section{Module - 7}
Go through the general instructions as stated below before starting each module.
Instruction for this module: \emph{SciPy} package has to be installed from the package manager. 
This module has these features:
\subsection{Getting started with functions.}
Tutorial required:\\getting\_started\_with\_functions.ogv \\
This video teaches us how to define a function, defines functions with arguments, learn about docstrings, learn about function return value and reading, understanding the code.
\subsection{Advanced features of a function.}
Tutorial required:\\Advanced\_features\_of\_a\_function.ogv \\

This video teaches us how to assign default values to arguments, when defining and calling functions with keywords arguments, and to learn the built-in functions available in Python standard  library and scientific computing libraries. 
\subsection{Using Python modules.}
 Tutorials required:\\using\_python\_modules.ogv \\
 Files required: \\sine.py \\
This video teaches us how to execute python scripts from command line, use import scripts, import scipy and pylab modules and use python standard modules and standard modules.
\begin{enumcpt}
\item Please locate the file \emph{sine.py} in the Python\_Workshop folder and use it as instructed in the tutorial.
\end{enumcpt}

\subsection{Writing Python scripts.}
Tutorials required:\\writing\_python\_scripts.ogv \\
This video teaches us what is importing, writing our own python modules, and understanding the idiom.
\subsection{Testing and Debugging.}
Tutorials required:\\testing\_and\_debugging.ogv \\
Files required: \\gcd.py, lcmtestcases.txt, testcases.txt \\
This video teaches us what is software testing, test simple functions for their functionality, automate tests, needs for coding style, learn some of the standards followed by the Python community and handle errors and exceptions. \\ \\
\begin{enumcpt}
\item Please locate the file \emph{gcd.py}, \emph{lcmtestcases.txt} and \emph{testcases.txt}  in the Python\_Workshop folder and use them as instructed in the tutorial. 
\item In scripts, we would be using 4 \emph{spaces} for indentation.
\item You can use any editor for writing the scripts. We have used the \emph{gedit} text editor.
\end{enumcpt}

\end{document}


