A group that has an interest in scientific computing, programming, collaborating, and learning tools that can help one become more productive and efficient.
- Teach, guide, and build a group that has interest in learning basic scientific computing skills, learning how to program, and learning tools and techniques to help become more productive, efficient, and computationally sound.
- Collaborate and share knowledge.
- Help improve and expand computing skills.
- Learn and follow the best practices in scientific computing.
- Unix Shell - for learning basic commands/language to communicate with a computer; basis for learning how to program.
- Version Control with Git - for learning how to track, reproduce, and share work efficiently.
- Programming with Python - for learning how to program and to write programs in a modular and testable way.
- Scientific libraries including:
- numpy - fundamental package for scientific computing; includes arrays and matrices
- matplotlib - 2-D plotting library that produces publication quality figures in various formats
- scipy - package for scientific computing that includes routines for statistics, numerical differentiation, numerical integration, optimization, etc.
- And much more ... please see Recently Covered Topics and Upcoming Topics
Time: Each week on Wednesday's and Friday's from 12:00 PM EST - 1:00 PM EST.
Outline/Structure:
- Overview of previous covered/discussed material
- Discuss objective(s) for the meeting.
- Give introduction to topic
- Watch a related brief video that covers the topic. (if applicable)
- Work through hands-on examples together.
- Discuss topic covered and answer any outstanding questions.
How to attend: Contact Jeremiah Lant to get added to the email list and receive invites to the meetings. Anyone is welcome.
Recordings: Each meeting (live and unrehearsed) is recorded and made available at a time of your convenience at the USGS FTP site:
ftp://ftpext.usgs.gov/pub/er/ky/louisville/jglant/scientific-computing-group/recordings/
Material:
data/ ---> data files used in meetings
meetings/ ---> directories for each meeting
yyyy-mm-dd_topic/ ---> meeting summaries (yyyy-mm-dd_topic.md) and code directory (if applicable)
presentations/ ---> meeting presentations (yyyy-mm-dd_topic.pdf)
resources/
git/ ---> useful Git related documents
python/ ---> useful Python related documents, code snippets, scripts
resources.md ---> useful resources for Git, Python, Scientific Computing
Software Recommendations:
- Python 2.7.6
- Latest version of Git
- A text editor of your choice such as:
Dates | Topic |
---|---|
4/11/2014 - 5/7/2014 | Introduction to Unix |
5/9/2014 - 5/21/2014 | Introduction to Version Control with Git |
5/28/2014 - 7/2/2014 | Introduction to Python - basics, print, control structures, lists, dictionary, strings, file i/o, sys module |
8/5/2014 | SciPy 2014 Conference Discussion |
8/8/2014 - current | Mini Project - read and process sample data files, functions, aliasing, debugging, testing |
- Testing - exceptions, unit testing
- numpy, matplotlib, scipy libraries
- Oreilly - Intermediate Python
- GitHub - Guides
- Software Carpentry - Version 5 material
- Object-oriented programming
Please see resources
Jeremiah Lant
Hydrologist
U.S. Geological Survey
Kentucky Water Science Center
Louisville, Kentucky 40299
(502) 493-1949
jlant@usgs.gov