Archive

Archive for the ‘Uncategorized’ Category

An Exercise With Functions and Plotting

May 6th, 2012 No comments

[Code and Data]

Let’s say you have a text file called workout.csv that contains information about your workouts for the month of March:

# date, kind of workout, distance (miles), time (min)
"2012, Mar-01", run, 2, 25
"2012, Mar-03", bike, 10, 55
"2012, Mar-06", bike, 5, 20
"2012, Mar-09", run, 3, 42
"2012, Mar-10", skateboarding, 2, 10

# Broke my leg :( 

"2012, Mar-11", Wii, 0, 60
"2012, Mar-12", Wii, 0, 60
"2012, Mar-13", Wii, 0, 60
"2012, Mar-14", Wii, 0, 60

It’s a common-separated value (CSV) file, but contains comments and blank lines. The first line (a comment) describes the fields in this file, which are (from left to right) the date of your workout, the kind of workout, how many miles you traveled, and how many minutes you spent.

Our goal will be to read this data into Python and plot a graph with the day of the month on the x-axis and the time worked out on the y-axis. Let’s get started.

Read more…

Categories: Uncategorized Tags:

Lessons Learned at the University Of Chicago

April 5th, 2012 4 comments

Software Carpentry brought a boot camp to the University of Chicago with collaboration from the FLASH Center at the University of Chicago’s Computational Institute and The Hacker Within . The instructors were Milad Fatenejad, Katy Huff, Anthony Scopatz, and Joshua R. Smith.

Read more…

Categories: Uncategorized Tags:

The Trieste Workshop, One Week Later

March 12th, 2012 No comments

Katy Huff and I are back from Trieste, Italy, where we were instructors in the Advanced School for Scientific Computer at the ICTP. This was a different sort of workshop in many ways. First of all, it was 2 weeks long and the students were from all over the globe. Countries represented include Russia, Bangladesh, China, India, Pakistan, Albania, Iran, Palestine, Ghana, Nigeria, Chad, South Africa, Serbia, Romania, Ukraine, Argentina, Ecuador, and Colombia. The level of effort they showed was astounding: between our exercises and the project they brought from home, many students were in the computer labs until 11:00 at night.

There are a few things that we’ve learned:

Read more…

Categories: Uncategorized Tags:

Happy People

March 5th, 2012 No comments

Our workshop at the International Center for Theoretical Physics in Trieste has ended, and judging from the participants’ smiles, it went well:
Photo credit Ezequiel Ferrero
Thanks once again to Tommy Guy and Katy Huff for teaching, to Stefano Cozzini for inviting them, and to everyone who took part for all their hard work.

Trieste, Italy Workshop – Week 1

February 24th, 2012 No comments

Last Sunday, Tommy Guy and Katy Huff flew to Trieste, a small city in northeastern Italy, to assist in teaching an Advanced School on Scientific Software Development at the International Center for Theoretical Physics (ICTP).

Stefano Cozzini, Graziano Giuliani, and Antun Balaz invited us to help them teach this two week workshop which is one in a series of workshops focused on high performance computing for scientific applications. The ICTP mission is to extend access to advanced scientific tools and education to scientists from developing countries. Undergraduate students, graduate students, and post-graduate scientists gathered in Italy from nations all over South America, Asia, the Middle East, and Africa.

Read more…

Categories: Uncategorized Tags:

Fourth (or Sixth) Online Tutorial

February 24th, 2012 No comments

For the past four weeks, I’ve been meeting online with learners from the Space Telescope Science Institute to work through some Python topics and exercises. (We split the group in two for a couple of those sessions to accommodate different interests and levels.) I think it’s been going pretty well: about half the people who took part in the two-day workshop in January are still with us, and we’ve just covered basic image processing with PIL. I’m looking forward to finding out whether the model scales to more groups with more people in the coming four months.

Categories: Uncategorized Tags:

Hello from Trieste!

February 21st, 2012 1 comment

Day 1 of the Trieste bootcamp was a success! Katy and I covered the Bash shell and git. It was encouraging to see students in the lab after dinner working on their shell exercises. In general, the students are very enthusiastic. Later we’ll try to list their home countries. So far, I’ve met people from Colombia, Mexico, Argentina, South Africa, Cameroon, Nigeria, Romania, Italy, Pakistan, Iran, India, and China. Their fields range from astronomy to nuclear physics to climate science.

Today, we are starting Python. You can follow our material on our github page’s wiki. Pay particular attention to Katy’s lectures on git and github, where she introduced git for personal use in hour one then introduced collaborative use through github in the second hour.

Here’s a picture (more to come!)

Categories: Uncategorized Tags:

New Kinds of Content

February 14th, 2012 1 comment

Mark Guzdial, whose blog on CS education is always interesting, recently posted about using worksheets to help people learn to write programs. As he says, research going back 30 years shows that reading and writing skills develop independently; there’s also a ton of research showing that partially-worked examples are a very effective (possibly the most effective) way to teach people new skills.

Which immediately suggests two questions:

Read more…

Knowledge of the Second Kind

November 19th, 2011 No comments

Over the last three years, a group of students has quietly been converting snacks and enthusiasm into scientists who can program.

The Hacker Within is a student club at the University of Wisconsin – Madison which came about when a number of nuclear engineering graduate students needed a forum to exchange tools and share best practices for their increasingly software intensive research. The success that followed provides an example of an educational model that has fostered necessary software skills among science and engineering graduate students.

Knowledge is of two kinds. We know a subject ourselves, or we know where we can find information upon it.

–Samuel Johnson

Since 2008, we’ve met every other week for an hour to discuss some useful computing tool (and eat snacks). We cover a broad range of topics, from peer-taught fundamental skills to more technical invited talks. The meetings attract students mostly from engineering, biology, and physics, but also have regular members from less predictable fields, such as psychology and limnology (the study of lakes!). We also pool the skills of our members to teach three and four day intensive, example-driven bootcamps. These attempt to impart fundamental programming skills such as C++, UNIX, and Python, and focus on a great deal of curriculum inspired by Software Carpentry. The bootcamps have received great praise from attendees (who hail from a staggering array of disciplines, see this cool chart).

This bootcamp educational model has the advantage over a traditional course in that the time intensive nature of scientific coursework limits the feasibility of formal curriculum in software skills for scientists. That is to say, even if the right course were offered (and what would that be, exactly?), scientific curriculum leaves no room for a software development course (or worse, many).  For this reason, students in scientific disciplines typically lack the software skills with which to conduct computational research effectively, but are unwilling or unable to invest time in formal training.

The current state of affairs in academic research is often one in which students and researchers are programming in a vacuum, teaching ourselves computational tools unfamiliar to peers in our fields, and then using those tools to do our ‘peer reviewed’ research. This toxic situation demands a real change in the way we educate students in preparation for scientific computing.

The Hacker Within community model has the potential to alleviate this situation in any institution that has a few individuals to spearhead it. A few snacks and some enthusiasm can replace a disconnected collection of researchers scattered across disciplines, with an inter-departmental forum in which those researchers can find and share knowledge efficiently with their peers.

Categories: Uncategorized Tags:

2011 Software Carpentry Bootcamp Sold Out!

October 4th, 2011 No comments

Software Carpentry is teaming up with The Hacker Within to offer a 2 day bootcamp for scientific programmers on November 7-8. Forty tickets and ten faculty observer slots filled up within two weeks of announcing the workshop on campus.

So what are we going to cover? From what we know, the participants are a diverse group. They include Industrial Engineers, Physicists, Psychologists, and many other departments on campus. One thing they all deal with is data, and often lots of it. Data analysts need a place to store data, so we’ll introduce databases using SQLite and version control with Subversion. Data analysts also need programming tools to reformat, clean, and analyze their input. We will spend over half of the time introducing Python, and we’ll also introduce the shell.

How can you help? One thing we really want to get right is a running example that we can use to motivate the topics we’ll be teaching. What is a good topic that is accessible and interesting to engineers and people in the life scientists, that looks like data analysis, and that would benefit from SVN, databases, and Python?

Categories: Uncategorized Tags: