When Chase Jenkins was selected for a summer internship at Globus Labs, he was excited to apply his computer science and interface design knowledge to a real-world software development project. Since May of 2023, he has been helping to build web tools to support an open source web platform aimed at making machine learning datasets and models findable, accessible, interoperable, and reusable (FAIR). This initiative is part of an NSF-funded collaboration between the University of Chicago, the University of Wisconsin, and the Argonne National Laboratory. By making it easier for scientists to share their findings and research – as part of a broader “Open Science” movement – Chase and his Globus collaborators are helping to lower the barriers to sharing scientific information.

Chase’s knowledge of programming, web development, and user interface design (UX/UI) – which he has learned through the department’s Information Systems concentration and through his own explorations – was instrumental in making him competitive for the position. We interviewed Chase to learn more about his experiences as a computer science student at UNCA, what his internship was like, and what he hopes to do next.

Computer Science at UNC Asheville

How did you become interested in computer science?

I became interested in computer science when a friend’s older brother showed me a project that he was working on. He was coding and showed me his laptop and it all looked so confusing, but then he showed me what it did and I was fascinated by how he was able to make something from scratch that ran and functioned on a computer.

Did you have a lot of Computer Science background coming into the major?

I had absolutely zero background in computer science before coming into the major. In fact, I actually tried to run a simple “Hello World” program before taking my first computer science class and couldn’t get it to work. I was a complete beginner in computer science when I enrolled at UNCA.

What computer science topics are you most interested in?

I am most interested in full-stack web and app development. I have had a lot of experience with this sort of development and I have a lot of fun with it. Making applications that not only have functionality on the backend but look and work great on the frontend is something that is challenging yet fulfilling.

What do you like about the Computer Science Department?

I have had a wonderful experience at UNCA, the professors both in and out of the computer science department are super helpful and supportive and I have always been able to find a path to success in my classes. I love the area, the people, and the opportunities that I have gotten during my time here.

I also really appreciate the small class sizes. Because you get to know all of your professors – kind of whether you want to or not (laughs). And all of your professors want you to succeed, so that’s great.

You have also been a CS Supplemental Instructor and a Peer Advising Leader at UNCA. Tell us about what that’s been like.

I was a Computer Science Supplemental Instructor for CSCI 201 – Introduction to Object-Oriented programming. In that role, I attended the class, answered questions that students had, and organized weekly study sessions. Anyone could come to the sessions, ask questions, and get homework help. We would also go over whatever we went over in class (lectures, videos) or do mid-term and exam reviews. It also, honestly, just reinforced my knowledge of the underlying concepts – things like polymorphism and inheritance. I hadn’t necessarily forgotten them, but revisiting these ideas again further cemented my knowledge of object-oriented programming.

I was also a Peer Advising Leader for the Ignite program, which is designed for first-year UNCA students. I was an orientation leader at the beginning of the school year, and then during the first semester, we hosted a weekly class for first years where we would talk about how to succeed in college. Like, how to plan ahead, make sure you’re on the right path for your major. And also letting people know that it’s OK if they don’t have a major. We also taught them about the core values of the school – like having empathy and respect for people…basically sharing what I had learned from being in college for two and a half years and teaching them that stuff.

How do you balance your studies with all of your other commitments?

I set a schedule for myself, meaning I have time for class, time for homework, time for work, and then downtime. Usually, I try to do homework during the day between classes and before work, that way I have nights to work on personal projects or just hang out with friends.

Interning at Globus Labs

Could you tell us a little about your summer internship at Globus Lab?

During my summer internship, I worked as a frontend developer. I was responsible for a lot of the frontend tasks, most of which were implementing designed web pages that are dynamically populated with data. I also do other things like making efficient search pages with filtering functionality, handling bad URL requests, and modernizing the UI of preexisting features. I learned a ton during this experience, including a lot of coding “best practices” but also things like how to work on a software project with a team, agile methodology, and the importance of documentation. I was lucky enough to work in a very supportive team where I was able to do real and meaningful work while also being given constructive feedback and an open door for questions if I had them.

What were some of the bigger goals of the project you worked on?

The bigger goal of Globus is ensuring reproducibility and accessibility – the FAIR principles – for scientific communities who want to share data. So a lot of what we do revolves around datasets and machine learning models. Some of the datasets are really big and difficult to share, so Globus helps by providing an easy way to store and transmit those really big files. My group specifically worked on the user-facing side of the project. For instance, one of the tools that the Lab supports is called Garden, which is a command line tool. But for people who aren’t as familiar with the command line, they can use our web interface, because their end goal is to access the data and models – not to download, configure, and learn a bunch of new libraries and do all of this coding.

For instance, if someone is looking for a particular dataset hosted on Globus, they can go to one of our websites (e.g., https://thegardens.ai/), search it by author, contributors, the kind of data, etc. And then they will be able to see code snippets, links to datasets, and the specific instructions you need to get that model with its datasets onto your own personal machine (pictured below).

How is “learning on the job” similar / different from “learning in the classroom”?

Learning on the job is different than in the classroom because I was often implementing features with strict and predetermined requirements. In school, I have a lot of freedom to implement things how I want, but on the job, I have to learn new things on the fly to ensure I am implementing exactly what is expected of me. Another thing I have noticed is that when learning in school, you learn more about concepts and bigger topics, while when learning on-the-job, you learn more of the specific functions and libraries of a certain language/framework.

I do think that if I were to name one class that helped me in my internship, it would be Advanced Web Tech (CSCI 344), because React was super scary to me at first. Like I looked up things about it and was like, “this doesn’t make any sense.” And now I work with React all the time and I love it and I love JavaScript. Frameworks are easier to learn now – I’ve learned a couple on the job, and it’s easier to learn with that background knowledge.

Closing Thoughts & Next Steps

You’re graduating in the Spring of 2024. What are you interested in doing after graduation?

After graduation, I am going to pursue any software engineering roles as I want to be a well-rounded developer and get experience anywhere I can. Ideally, though, I would love to continue along the web/app development route, specifically in full-stack roles.

What advice would you give someone who is thinking about majoring in computer science?

Computer science has a major learning curve, and it can be very discouraging at times. With that being said, it is also very rewarding once you get the core concepts down and there are tons of resources available to help you learn when you get stuck. As long as you commit to learning, and take time outside of school to code, you are setting yourself up for success.