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

No comments:

Post a Comment