Dr Stephan Robert
Biography
Enseignement
Research
Summer University
Divers
Blog
Pour me contacter
Tour-2012
2012 Summer University

Big Data 

July 2-20



Haute Ecole d'Ingénierie et de Gestion du Canton de Vaud (HEIG-Vd)

    
Switzerland 



Today’s scientists and engineers are increasingly working in an international environments. Cultural diversity and communication in different languages are an enrichment of our work environment but they can also present challenges.

The goal of the International Summer University is to allow students from Switzerland, the United States and India to work together in an international environment to:

    • gain understanding of different cultures
    • allow students to develop a professional network in Europe an the US
    • encourage students to pursue part of their studies or professional career abroad
Following the success of the 2007, 2008, 2009, 2010 and 2011 editions of the International University in Computer Science and Networking, a new edition of the Summer University will take place in Yverdon-les-Bains, Switzerland.  Advanced courses in the field of information technology will be taught in English by international renowned experts from SJSU (San José State University, California), PES-IT (India) and HEIG-VD (Haute Ecole d’Ingénierie et de Gestion du Canton de Vaud).
 
This program rich in cultural and scientific exchange is undoubtedly beneficial, even necessary for future engineers. In addition to the academic program, students and instructors will participate in cultural activities in order to foster cultural exchange between all participants. This International Summer University 2012 in Computer Science is jointly organized by HEIG-VD, SJSU and PES-IT. It will be held during 3 weeks from July 2 to July 20 at Yverdon-les-Bains, offering courses in Computer Science.

Here is the presentation of the concept: 
.pdf

 
Schedule


Courses

Big data analytics

Teacher: Prof. Chris Tseng, San Jose State University, USA
Webpage

Big data consists of datasets that grow so large that they become difficult in capturing, storage, search, and analytics. Big Data is growing exponentially. One of the challenges is the analytics needed handle the unstructured and time sensitive nature of big data.

In this course we will study fundamental analytics techniques suitable for big data. These include basic analytic methods like K-Means Clustering, Association Rules, and Text Analytic. We will discuss how MapReduce/Hadoop can be used for analyzing unstructured data. Concept of XML/JSON and Amazon Web Service (AWS) for big data will also be introduced.

This class will include a hands-on data analysis project on generating and summarizing unstructured text data.  IBM’s Unstructured Information Modeler, Splunk, or similar software will be used for this purpose. Students interested in taking this course are expected to have knowledge of data structure.


Scala for the impatient

Teacher: Prof. Cay HorstmannSan Jose State University, USA
Webpage

Scala was created to be a "scalable" language, ranging from mundane scripting tasks to running the most massive backend systems, such as Twitter. That's smart because you don't have to learn a new language for every problem domain. Scala cleverly combines a small number of very powerful features, resulting in a language with far more power than Java or C++.

In this course, you will learn just enough Scala to be dangerous. Need to generate a hundred graphs. Rewrite the HTML in a thousand web pages? Write a mini-programming language without reinventing the wheel? Do number crunching and keep those processor cores busy--even if you know nothing about concurrency? Scala can do all that easily, and it is a lot of fun to wield that power.

The course has a "mini-lecture + lab" format. I lecture for 20-30 minutes. You do a short lab with a partner. I lecture again, you do another lab, etc. There will be a small-scale project.

Prerequisites: Intermediate Java or C++. Unwillingness to do the same routine task over and over (i.e impatience).

You need to bring a laptop to the course and install some software ahead of time.


EcoComputing

Teacher: Prof. Jon Pearce, Chair of CS, San Jose State University, USA
Webpage

The NetLogo language is based on an intriguing eco-oriented paradigm:  virtual turtles swimming around in a virtual pond. Turtles are provincial.  They know nothing of the pond beyond their limited field of vision. A turtle's behavior is determined by a list of simple procedures that it perpetually executes. Turtles eat, mate, age, and die. They cheat and cooperate. They buy and sell. They hunt and flee. They spread rumors and diseases. They imitate their neighbors. Oh, I almost forgot, they can also draw.

Although turtles are provincial and their behavior simple, the behavior of the ecosystem as a whole (pond + turtles) can be surprisingly complex.  Patterns emerge: self regulation, self organization, boom and bust cycles,  synchronicity, flocking, rebelling, tipping points, evolution, even  standards of morality.

NetLogo can be viewed as a laboratory for studying the emergent behavior of agent-based systems. Its ease of use (NetLogo is based on Logo, which was  designed for children) makes it popular among biologists, economists,  sociologists, chemists, physicists, and artists. Agent-based architectures are also interesting to computer scientists attempting to leverage massively  parallel systems while avoiding the complexity of centralized control.
In this course we will use NetLogo to model complex systems. We will also explore the eco-oriented paradigm as an approach to games, ambient  computing, and grid computing.


Multi-core architecture and programming

Teacher: Prof. A. Srinivas, PES Institute of Technology, India
Webpage

Introduction :   The present day processor technology has reached high levels of maturity in terms of performance. But the technology has physical constraints in terms of the number of transistors that it can accommodate, power handling abilities and the addressing problems. The processors have hit the clock speed limits that are directly related to the above parameters.  With these in view, there is a natural need to migrate to multi-core architecture.

With the ever increasing need for faster execution time in specialized applications, the hardware has to support multiple simultaneous executions of threads, both for data and for instructions.  This calls for a multi-core architecture that supports parallelism. This course aims to introduce a student to a detailed account of parallel hardware architectures in terms of multi-core technologies and also deals in detail with the programming artifacts that render the execution of applications very efficient on multi-core platforms. The course is aimed to be very hands-on.

Course Objectives :  At the end of the course, students will be able to:

  • Understand the need for multi-core architecture in terms of processor evolution for multcore, memory organization etc.
  • Understand the existing multi-core architectures, specially with case studies from Intel multi-core processors.
  • Develop expertise on multi-core programming in ‘C’ language and apply the same to problems of practical relevance.
  • Optimize multi-core programming code for effectively utilizing the power of multi-core.

Course Content:

  • Introduction to Multi-core Architecture: Motivation, Parallel computing platforms, Distinction between multi-core architecture and hyper threading, Amdahl’s Law.
  • Overview of Threading: Threading above the operating system, Threads inside the Hardware and inside OS, Application programming models and threading, Virtual Machines and Platforms, Runtime Virtualization.
  • Task and data flow decomposition, Parallel programming Patters, Examples.
  • Threading and Parallel Programming: Synchronization, Critical sections, deadlock, Semaphores, Locks, Messages, Fence, Barrier.
  • Threading APIs: Threading APIs for Microsoft Windows, WIN32/MFC  Thread APIs, Creating and managing threads, Thread Synchronization
  • OpenPM: A portable solution for threading, Data race conditions, Managing shared and private data, Loop scheduling and partitioning, OpenMP library functions, OpenMP environment variables, compilation, debugging, Performance evaluation.
  • Multithreaded Debugging techniques: Debugging multithreaded applications in Windows- Threads window, Trace points, Breakpoint filters
  • Threading on Intel Multicore Processors: Hardware based Threading, Threading from Intel, Hyperthreading Technology, Comparison between multiprocessors and multi-core, Multi-core power considerations.

Course Schedule: 2 hrs of Theory and 2 hrs of Lab for 12 working days (Total : 48 hrs)

Evaluation: 100 Marks
Continuous Assessment: 70 Marks
Five Programming Assignments : 50 marks
Mini Project : 20 marks
End Semester Exam for 2 hrs: 30 marks

Grading: Relative grading with respect to the class average

Contact: Dr. A. Srinivas
Email: a.srinivas@pes.edu
Phone: 
+91-80-26721983, Ext 740 (Work)
Mobile: 
+91-9880283288


Past Courses


Groups

LinkedIn: International Summer University of the state of vaud - Computer Science

Links

  • Handbook

Organization

Academic Program Coordinator
Prof. Stephan Robert
stephan.robert at heig-vd dot ch

Participants 


 

 

 

 

 






BiographyEnseignementResearchSummer UniversityDiversBlogPour me contacterTour-2012