The Source for Java Technology Collaboration
User: Password:
Register | Login help    

Search

Online Books:
java.net on MarkMail:


Summer School in Switzerland

Posted by cayhorstmann on July 31, 2008 at 2:37 PM PDT

This summer, I am a guest lecturer at an interesting summer program organized by HEIG-VD, the University of Engineering and Management of the Canton de Vaud in Switzerland, located in Yverdon. The university has three summer exchange programs, in enology, management, and computer science. This is the second year that my own institution, SJSU, has been a partner, and the students from last year's exchange had a great experience and continue to network with their Swiss counterparts. This year, participants come from HEIG-VD, SJSU, Cal State Long Beach, and Arizona State. Classes ranged from ubiquitous computing to artificial intelligence and bioinformatics.

I am teaching a crash course in open source development, an abbreviated version of a semester-long course that I had previously taught at SJSU. In a couple of weeks, students picked up Ant, Subversion, diff and patch, autotools, and wxWidgets. It was quite impressive how they rose to the challenge. Here are some random observations:

  • If you run a computer lab with desktops, air conditioning is a must. (Someone told me that Swiss law forbids air conditioning in public buildings.) I have found empirically that the ability to deal with CLASSPATH problems vanishes when the ambient temperature exceeds 30 degrees centigrade.

  • Ubuntu is a great platform for software development. We covered a lot of ground in a short amount of time, and the students who used Ubuntu instead of Mac OS X or (gasp) Windows were way more productive. We particularly loved the feature where you type in a command (such as aclocal) and Ubuntu tells you to run sudo apt-get install automake if the command isn't yet installed. What could be better? I suppose it could just install it :-)
  • The Swiss and European governments have sizeable funding for computer science research. Local companies get tax breaks for collaborating with universities. There are funding efforts with impressive names (such as “nano/tera”) that disburse significant amounts of money. It is reminiscent of what the U.S. did in the 50s and 60s.
  • Next year, SJSU and Arizona State will host the Swiss students. We need some kind of evidence that the program is beneficial for students. No problem, the Swiss organizers say, we'll get a letter of support from the government. Umm...could we have a letter from the local Google or eBay office instead? There is a cultural divide. In the U.S., successful companies have credibility, whereas in Switzerland, a governnment official would be considered more objective.
  • I am hoping we can extend the summer school to a longer effort where we practice software development across international boundaries. This is obviously a hugely important skill. Last year, there was some hesitation whether the students would be up to it, but judging from what they did in my class, I think they are way ahead of the administrators.
  • Just south of Yverdon, the home of HEIG-VD, is the beautiful city of Lausanne, home of EPFL, the birthplace of the Scala language. As it happens, Jürgen Ehrensberger, one of the chief organizers of the exchange program, is a good friend of Martin Odersky, the inventor of Scala. Since it turned out the three of us were born in Germany, I organized a good old American BBQ, with good old Vietnamese potato salad (thanks to my wife), and Martin showed up, biking through a tremendous thunderstorm and sheets of rain.
  • Martin told me he had read one of my blogs on Java as a blue collar language, and he figured that Scala was a language for the intelligent programmer.
  • We talked about Ruby, and how Ruby programmers seem to be blissfully oblivious to some of the complexities of their favored language. (Thanks to Neil Gafter for this link.) Scala has a specification document, and Martin said that the IntelliJ folks are busy reimplementing Scala and finding lots of nits in that spec. That's excellent news—I never had much faith in a spec with a single implementation.
  • I will use Scala next semester in my undergraduate programming languages class, first as an example of a functional language and then with the combinator parser and BCEL to write a micro-compiler. EPFL is way ahead of me—they use Scala to follow an Abelson/Sussman approach and end up with a Prolog interpreter.
  • My wife found a wonderful home exchange, in the village of Cuarnens. We have a wheat field next to our backyard and now know firsthand how those grain harvesting machines actually work.

Comments
Comments are listed in date ascending order (oldest first)

I participated in this program and had Cay Horstmann's Open Source class (I'm pictured above second from the right in the second-to-last row, with the MacBook Pro). It was a great experience to be there in Switzerland; the people were very welcoming, the landscape was beautiful, and the opportunity to network with other students from other US universities and from HEIG-VD was priceless. The Open Source class, in particular, stressed breadth of study with a bit of practical experience. The reality of the FOSS community is that each individual must learn on his own, with the help and resources that the community has developed, and then begin to contribute to both the code and documentation bases of the community at large. This principle follows directly from the class - topics were mentioned, briefly demoed, and then it is now up to us to pursue a more in-depth personal study of each topic in which we are interested. We covered the software development tools mentioned above as well as FOSS principles including software as intellectual property, licensing, and standards (file formats, protocols, computer languages, etc). I found the class very useful and will continue to be a part of FOSS as my career unfolds.

I worked in Basel for 4 yrs, Switzerland is great !

@cayhorstmann might you tell me what are the grad program(s) where you get to teach this one, CS252 or the like? Thanks in advance.