Showing posts with label software carpentry. Show all posts
Showing posts with label software carpentry. Show all posts

Monday, November 25, 2019

Software Carpentry

Have you ever wanted to get hands-on experience with programming languages and practices? Have you tried to start learning a programming language and eventually gave up because you didn’t have anyone to help you? The OSU Library hosts Software Carpentry classes each semester to help undergraduates, graduate students and researchers. These classes introduce participants to basic programming practices and techniques.

The first thing many people may think is “I can’t take this class because I have no previous experience with programming.” This is the perfect situation to be in for these classes. They are designed for people with little to no experience with the tools that are being used. Participants who do not have laptops can use the laptops provided in the workshop room. These Software Carpentry classes are an easy way to learn baseline knowledge of computer programming.


Software Carpentry classes are taught by multiple organizations around the world in many different languages. The topics and resources covered in these classes are all provided by a single foundation for volunteers to teach. This ensures that all of the classes have regulated and helpful content. The OSU Library routinely offers these workshops, which are conducted by Library personnel.


After attending these workshops, you will have the knowledge essential to move forward educating yourself or making use of the knowledge you gained in the class for your research or projects.


These workshops are aimed at a more general audience than the intense programming crowd. With that being said, it can still be beneficial to experienced programmers. As a senior in computer science, I attended a workshop and was received valuable information. I can call this valuable information because it gives me more knowledge in my field of study, but what about individuals who have no aspirations of developing applications, software or anything for their career? Despite what most people would probably believe, these people have the most to gain from this type of workshop.


The topics addressed in these carpentries are aimed to help people solve common problems and inconveniences for researchers or students. For example, a part of the workshop I attended covered convenient ways to organize data using Python. We learned how to graph large amounts of data, reorganize it and explore it efficiently.


The participants are also learning basic programming skills during the class. Currently, the two languages covered are R and Python. These skills are the basic building blocks that allow you to continue to gain knowledge in programming if you decide to learn more about it.


In addition to pure programming instruction, the workshop also introduces participants to topics like version control and Unix Shell. Version control using Git helps to keep everybody in a project on the same page by allowing them to update a repository from anywhere. The Unix Shell is a powerful command-line tool that allows users to automate their tasks and reduce repetitive actions.

The topics covered in these carpentries are constantly being updated and improved to keep up with changes in technology. As the world continues to become more invested in mobile applications and software, the need to understand basic programming principles will continue to increase.

How would you use basic programming skills in your field of study or workplace?

Posted by Jacob Hinchey, Emerging Technology Intern

Thursday, November 15, 2018

Data and Software Carpentries

What is Data Science?

Well, simply put, it is the act of collecting new and insightful ideas and methods from data sets. The modern world revolves around data, and data is an important factor in any business or organization. You have your finances, your social media interaction, your production, your employee and partner information - the list goes on. No matter where you are in life, you’re going to have to deal with data at some point. Data Science deals specifically with digital data, which is based on various systems of code that are interpreted, processed and altered by computers.

The Data and Software Carpentries are programs that are looking to teach people how to conveniently and effectively manage the data that they gather in their businesses, organizations and even research opportunities at school. The benefits are that research becomes less painful, and the techniques learned through the data carpentries lead to more research being done more effectively.

According to Phillip Doehle, the program coordinator in the Oklahoma State University High Performance Computing Center, the tagline of the Carpentries is to “help researchers get their work done with less pain and more convenience.”

Software and Data Carpentry are not the same thing, though there is much overlapping between the two and many of the same tools are used. The difference is that Data Carpentry deals with a method of organizing data in an easy and understandable way so that interpretation and analysis are more simple and convenient. A huge factor that plays into Data Carpentry is the Data Lifecycle, which consists of data collection, data organization/cleaning, data analysis and a positive production trend.

Alternatively, Software Carpentry focuses on programming skills and techniques such as software development. Coding is a big tool within this program, which is used to create a reproducible method. According to Evan Linde, a research cyberinfrastructure analyst from the OSU High Performance Computing Center, Software Carpentry can give you the introductory knowledge needed to get you out of a tight situation. For example, a graduate student struggling with a data problem can learn how to write a specific bit of code needed to link multiple processes together and solve that problem.

Now you might be thinking, “I have no experience with stuff like this, and I don’t think I’ll be able to keep up with it!” According to the official Data Carpentry website, their initial target audience is “learners with little to no computational experience.” Even if there is a bit of a learning curve, the experience and benefits gained are worth the time investment.

Software and Data Carpentries are starting points for coding and data management. The idea of the Carpentries is “Reproducible Data.” What this means is that the data can be duplicated through different means. When a data set is duplicated through different methods, then error risks are reduced, results are validated and it shows that the data can be adaptive to multiple different conditions.

While the techniques learned in the Carpentries can be very useful and informative, they don’t necessarily make you ready to immediately go out and work at a research facility. The Carpentries have a larger emphasis on the academics of research rather than an industrial emphasis. Even so, they provide a beneficial and explanatory introduction to the world of Data Science and Data Analysis. The programs are beneficial for graduate students who are getting involved in research or are interested in concepts of data science. Faculty members have told me that the knowledge they gained from the Data and Software Carpentries helped them maximize the time that they spent as a graduate student when they were working with research because their data was organized and reproducible.

The Carpentries are an informative and practical method for somebody who is looking to delve into a career based around data science, as well as students who are involved in research opportunities. They provide a foundation for understanding how to organize and interpret data, as well as how to make that data applicable within various situations. They’re an opportunity that many don’t know about, and they can potentially give somebody an extra push in understanding their career or research choice.

Posted by Braiden Ellis, student staff member, Research and Learning Services