Skip to content

ShrRa/python-intermediate-development

 
 

Repository files navigation

Note that the lesson material can change at any point - if you are planning a workshop using this material, 
either let the maintainers know or make sure you use your own fork of the lesson.

Intermediate Python for Astronomical Software Development

An intermediate-level course in research software engineering and development skills and working as part of a team (using Python as an example language). This lesson teaches intermediate-level software development skills in a way that mimics a typical software development process in a team, starting from an existing piece of software. The lesson is based on the Carpentries Incubator "Intermediate Research Software Development" workshop but modified independently from the developers of the original course.

This course is made for astronomers who already have basic software development skills obtained either by self-learning or attending a foundational course such as the novice Software Carpentry Python course. However, their software development-related projects are now becoming larger and more complex and they need more intermediate software engineering skills to help them design more robust software code, automate the process of testing and verifying its correctness and support collaborations with others.

Lesson Status

The lesson is currently in development.

Teaching the Lesson

The lesson is suitable for both instructor-led teaching or guided self-learning where instructors provide help and answer questions (synchronously or asynchrounously) as learners go through the course on their own. Initially, in sections 1-3 of the lesson, learners are working on a software project and going through exercises individually. In sections 4 and 5, they are grouped and work in teams, as they would when collaborating on a team software project development.

The lesson has 5 sections; each section can be delivered or worked through in self-learning mode over a half a day to a day, depending on the pace. We would recommend setting aside one day per section to make sure the delivery is not rushed.

Contributing

We welcome all contributions and comments.

Maintainer(s)

Current maintainers of this lesson (in alphabetical order) are:

Authors

A list of all contributors to the lesson can be found in AUTHORS.

Licence

Instructional material from this lesson is made available under the Creative Commons Attribution (CC BY 4.0) licence. Except where otherwise noted, example programs and software included as part of this lesson are made available under the MIT licence. For more information, see LICENSE.md.

Citation

To cite this lesson, please consult with CITATION.

Contact

Acknowledgements

The authors of this lesson are endorsed by the LSST TVS Science Collaboration.

The authors of the original "Intermediate Research Software Development" lesson, Aleksandra Nenadic, James Graham, and Steve Crouch, were supported by the UK's Software Sustainability Institute via the EPSRC, BBSRC, ESRC, NERC, AHRC, STFC and MRC grant EP/S021779/1.

About

Intermediate Python for Astronomical Software Development

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Jupyter Notebook 52.2%
  • Python 27.8%
  • SCSS 5.9%
  • R 4.1%
  • Makefile 3.1%
  • CSS 2.6%
  • Other 4.3%