Pygame

                 Pygame is a cross-platform set of Python modules designed for writing video games. It includes computer graphics and sound libraries designed to be used with the Python programming language. It is built over the Simple DirectMedia Layer (SDL) library, with the intention of allowing real-time computer game development without the low-level mechanics of the C programming language and its derivatives. This is based on the assumption that the most expensive functions inside games (mainly the graphics part) can be abstracted from the game logic, making it possible to use a high-level programming language, such as Python, to structure the game. Pygame was built to replace PySDL after its development stalled. Pygame was originally written by Pete Shinners and is released under the open source free software GNU Lesser General Public License. It has been a community project since 2004 or 2005.


Want to build the next Whatsapp? Let's learn programming with Elixir

                 Whatsapp processes around 20 billion messages a day - the core technology which enables this is the Erlang programming language and virtual machine. The Erlang platform was developed by Joe Armstrong and others at Ericsson to support the development of highly reliable, concurrent and distributed applications.

                 Elixir is an exciting new programming language which is built on top of the Erlang Virtual machine. It offers all the power of Erlang plus a more "modern" syntax which would be familiar to people programming in languages like Ruby. This makes it an ideal choice for introducing concurrent and distributed programming concepts to beginners. In this hands-on workshop, we will focus on learning the basics of programming with Elixir. Participants are expected to have sound knowledge of programming and exposure to writing recursive functions.

Cryptoparty & Debian Packaging

                 Modern cryptography exists at the intersection of the disciplines of mathematics, computer science, and electrical engineering. Applications of cryptography include ATM cards, computer passwords, and electronic commerce. CryptoParty aimed at introducing various tools for preserving privacy in internet like key signing tools, Tor etc.
                 Debian Packaging refers to the process of creation of Debian program installations that allow softwares to be installed across multiple computers.Debian Packaging Tool is the software at the base of the package management system in the free operating system Debian and its numerous derivatives.The name dpkg was originally the short for "Debian package".

Python Django

                 Django is a free and open source web application framework, written in Python. Django's primary goal is to ease the creation of complex, database-driven websites. Python is used throughout in Django. Some well-known sites that use Django include Instagram, Mozilla, The Washington Times, ... Django grew from a very practical need: World Online, a newspaper Web operation, is responsible for building intensive Web applications on journalism deadlines. In fall 2003, the World Online developers (Adrian Holovaty and Simon Willison) ditched PHP and began using Python to develop its Web sites. In summer 2005, World Online decided to open-source Django. Django is named after Django Reinhardt, a gypsy jazz guitarist from the 1930s to early 1950s. Django is pronounced JANG-oh. Rhymes with FANG-oh. The “D” is silent.

NS2

NS2 is a popular Free and Open Source Network Simulator. Ns provides substantial support for simulation of TCP, routing, and multicast protocols over wired and wireless networks.

    Topics Covered:
  • Introduction to NS2
  • Architecture
  • Simple Programs
  • Programs to simulate wired and wireless networks
  • Using Linux tools to processs data - Includes introduction to awk, grep
  • Installing NS2
  • Compiling NS2 from Source
  • Handling common problems

Drupal

                 Drupal is open source content management software maintained and developed by a community of over 1,000,000 users and developers. It's distributed under the terms of the GNU General Public License (or "GPL"), which means anyone is free to download it and share it with others. We introduce this open source content management system so that we can freely publish host and enjoy the freedom in web.

Data Visualisation Using FOSS Tools

GNUPlot AnimateData Visualisation is viewed by many disciplines as a modern equivalent of visual communication. It is not owned by any one field, but rather finds interpretation across many. It involves the creation and study of the visual representation of data, meaning "information that has been abstracted in some schematic form, including attributes or variables for the units of information". Gnuplot and matplotlib are two such tools.
                 Gnuplot is a portable command-line driven graphing utility for Linux, OS/2, MS Windows, OSX, VMS, and many other platforms. It was originally created to allow scientists and students to visualize mathematical functions and data interactively, but has grown to support many non-interactive uses such as web scripting. It is also used as a plotting engine by third-party applications like Octave. Gnuplot has been supported and under active development since 1986. Matplotlib is a python 2D plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. matplotlib can be used in python scripts, the python and ipython shell (ala MATLAB® or Mathematica®), web application servers, and six graphical user interface toolkits.

Free Software in High Performance Computing

                  This Workshop mainly focus on OpenMP and Open MPI. OpenMP (Open Multi-Processing) is an API that supports multi-platform shared memory multiprocessing programming. OpenMP uses a portable, scalable model that gives programmers a simple and flexible interface for developing parallel applications for platforms ranging from the standard desktop computer to the supercomputer.
                  Open MPI is a Message Passing Interface (MPI) is used by many TOP500 supercomputers MPI is a language-independent communications protocol used to program parallel computers. Both point-to-point and collective communication are supported. MPI "is a message-passing application programmer interface, together with protocol and semantic specifications for how its features must behave in any implementation.