Niks Technology Workshop on Software Development Environment for Science & Engineering Applications
Software Development Workshop
This workshop will focus on the set of software tools (editors, compilers, debuggers, optimization tools, etc.) needed to develop applications for petascale and beyond computers as well as the numerical and communications libraries, programming languages, and software engineering practices needed by the scientists and engineers to develop these applications. In particular, the workshop will consider the feasibility of developing an integrated software development environment for science and engineering applications, similar in concept, although not in detail, to the IDEs used in the commercial world. Such an environment would transform the development, debugging, optimization, deployment and execution of scientific and engineering applications on parallel computers, ranging from the scientist's multicore personal computer to the most sophisticated NSF- and DOE-funded high-performance computing systems.
Git is today’s premier version control repository and an important collaboration tool for software development organizations because of its ease of use, facilitation of code review, and flexible branching model.
In this deep-dive workshop, we’ll show you how to use the most important Git functions effectively in both the command line and RubyMine IDE. We’ll show you how to initialize, commit, branch, merge, and share repositories with others. We’ll look at the Github and Bitbucket cloud repo services and examine web flow, pull requests, resolving code conflicts, and deployment systems. We’ll also discuss some best practices for enterprise-level code teams.
This workshop will provide a solid understanding of why distributed version control systems are an essential part of any development effort, and equip you with skills to effectively apply Git to your everyday work.