Skip to content

Commit

Permalink
Issue #2, #3 2/3, #4 2/3, #5 2/3, #8 0/3
Browse files Browse the repository at this point in the history
  • Loading branch information
famedeiros committed Oct 19, 2016
1 parent 2061935 commit 6d67618
Show file tree
Hide file tree
Showing 5 changed files with 85 additions and 60 deletions.
43 changes: 38 additions & 5 deletions Get_involved/0_Get_involved.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,40 @@
~this is a draft~
# Getting Started
This is our repository of open source computational resources for students of Thermodynamics. Our target audience are students that may not yet know what *GitHub* or *Python* is, so we will present brief introductions and point to some tutorial material on both of them.
First of all, *GitHub* is this website , where you are most likely reading this text. It provides hosting of open source projects from developers (students, researchers, engineers) from all around the world, including us. You can always read more about it on [Wikipedia](https://en.wikipedia.org/wiki/GitHub).
The content you will see here is curated by us members of this research group, and either developed by ourselves or adapted from cited sources. We are always accepting indirect suggestions and direct contributions.
We are developing our material in the *Python* programming language, through the *Jupyter notebook* interface. If you are not familiar with these tools, *Python* is a programming language that can work with some useful libraries for numerical methods (*numpy*), symbolic algebra (*sympy*) and graphical plots (*matplotlib*) comparable to Matlab. *Jupyter notebook*, on the other hand, is a browser based interface for developing *Python* codes, with intercalating blocks of descriptive documentation and graphical results for easy exposition of the code and underlying ideas in an educational material.
This "getting started" material will cover three **Levels of 'getting involved'**
> **Level 1 - just reading**
You can browse through our material here in *GitHub* from an internet browser in your personal computer or phone by simply clicking on each `\*.ipynb` file and letting *GitHub* render its graphical visualization, including pre-calculated results, and see our material on applied thermodynamics as you would do in a regular formatted textbook.

here we will develop three levels of complexity
** **
> **Level 2 - interacting**
You can also interact with them directly and modify them by changing inputs or instructions and seeing how results change along. For that, you have to download each file and run them in a *Jupyter notebook* execution in your own device. The easiest way of installing *Jupyter notebook*, along with *Python*, *numpy*, *sympy* and *matplotlib* is through the *Anaconda* bundle (it’s free).

beginners - simplest thermodynamics along with programming and python/jupyter tutorial
intermediate - zone for developing and testing of classical thermodynamics without
advanced - zone for consolidating of portable packages
** **
> **Level 3 - contributing**
To get further involved, you can contribute with modifications. In order to do that, you will need to create an account for yourself in *GitHub* (also free). For minor propositions, you could modify any file in the browser and click "commit". However, for submission of more complex modifications (a modification that affects simultaneously more than one file), you should better install *Git* tools. *Git* is a software for version control of code and text (free too). This way you can download our `\*.ipynb` files, run and edit them in an execution of *Jupyter notebook* in your device, and after modifications are done, submit the modified files to our repository in *GitHub* using *Git*.

From here, you can start reading our material ([GetInvolved](https://github.com/iurisegtovich/PyTherm/tree/master/GetInvolved/)) on applied thermodynamics. Our beginner's material include some orientation on *Python* and *Jupyter notebook* as you go. Also, check out our quick recipes for [installing and running *Anaconda*](https://github.com/iurisegtovich/PyTherm/blob/master/GettingStarted/1_Get_going_with_Jupyter_notebook.md), and for [submiting contributions on *GitHub*](https://github.com/iurisegtovich/PyTherm/blob/master/GettingStarted/2_Get_going_with_GitHub.md), there, we present the steps to start using those tools in a windows environment. However, note that all our material in this repository is open source and should be able to run with the free tools mentioned also in a [free operating system](http://www.ubuntu.com/).

There is plenty of learning material regarding these specific tools on the web. We recommend some, in case you want to learn more, independently.

* *Python*
* [official page](https://www.python.org/)
* [official "getting started"](https://www.python.org/about/gettingstarted/)
* [CodeCademy](https://www.codecademy.com/courses/introduction-to-python-6WeG3)'s introduction to python.
* *numpy*
* [official page](http://www.numpy.org/)
* *sympy*
* [official page](http://www.sympy.org/en/index.html)
* *matplotlib*
* [official page](http://matplotlib.org/)
* *Jupyter notebook*
* [official page](https://jupyter.org/)
* [official beginner guide](https://jupyter-notebook-beginner-guide.readthedocs.io/en/latest/)
* *Anaconda*
* [official page](https://www.continuum.io)
* *GitHub*:
* [official page](https://github.com/)
* *Git*
* [official page](https://git-scm.com/)
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
"source": [
"Jupyter notebook, Python and Applied Thermodynamics\n",
"===\n",
"This notebook intends to present basics of Jupyter notebook and Python in the context of solution of simple problems in classical thermodynamics.\n",
"This notebook intends to present the basics of Jupyter notebook and Python in the context of solution of simple problems in classical thermodynamics.\n",
"\n",
"> **Here you will meet the following topics:**\n",
">- Thermodynamics: `1st law`, `\"cyclic process\"`, \n",
Expand All @@ -15,7 +15,7 @@
"\n",
"\n",
"## A Jupyter notebook *Cell*\n",
"This, from \"Jupyter notebook, Python and Applied Thermo...\" to \"...see some python code.\" is a Jupyter notebook cell, we can set its type to *Markdown* or to *Code*. In the first option, we write plain text, and using some special tokens as \\*, \\[, \\(, < ... we can get some nice formatting. In the second option, we write code in Python programming language, a we get it to run and display results just below the given cell.\n",
"This unit, from \"Jupyter notebook, Python and Applied Thermo...\" to \"...see some python code.\" is a Jupyter notebook cell. We can set its type in the CellToolbar dropdown to *Markdown* or to *Code*. In the first option, we write plain text, and using some special tokens as \\*, \\[, \\(, < ... we can get some nice formatting. In the second option, we write code in Python programming language, a we get it to run and display results just below the given cell.\n",
"You can see the special tokens as raw text if you click the cell inside a running instance of jupyter notebook (because then you enter cell editing mode), and you can get out of the cell editing mode pressing Ctrl+Enter. Now let's see some python code."
]
},
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
~this is a draft~

Get going with *jupyter notebook*
==
In order to be able to interact and modify our material you will need to install *python*, *numpy*, *sympy*, *matplotlib* and *juyter notebook*, thay all come together in a bundle by *Anaconda*.
In order to be able to interact and modify our material you will need to install *python*, *numpy*, *sympy*, *matplotlib* and *jupyter notebook*. They all come together in a bundle by *Anaconda*.

Here are the key steps to interact with our material and modify them:

Expand All @@ -19,32 +17,29 @@ Here are the key steps to interact with our material and modify them:
* Access their [official site](https://www.continuum.io/downloads), download the setup file `Anaconda3-4.1.1-Windows-x86_64.exe`.
* Run the installer
* complete the installation proccess
now you should have anaconda installed with python, jupyter notebook along with many libraries including numpy, sympy and matplotlib
now you should have anaconda installed with python, jupyter notebook, along with many libraries including numpy, sympy and matplotlib

## Start *Jupyter notebook*
* find `Anaconda3 (64-bit)` in your start menu folders and click `Jupyter Notebook` to start it
now a terminal screen should open, and after a few seconds a tab in your browser should open with the address `http://localhost:8888/tree/`
You will be able to see a directory browsing tree view showing some of the files on your PC, probably just the ones under `Libraries`, i.e. `My documents`,`My pictures`,`My videos` and `My music`
Now you have to download our material:
You will be able to see a directory browsing tree view, showing some of the files on your PC, probably just the ones under `Libraries`, i.e. `My documents`,`My pictures`,`My videos` and `My music`
Now you have to download our material and place it inside some of these folders, e.g. inside `My documents\PyTherm\GITSYNC`. (note that we recommend the directory name PyTherm to identify the project and the subdirectory name GITSYNC to identify that those are the files downloaded from github and that you might want to synchronize them with the official repository when someone contributes with new stuff.)

## Download our material from GitHub
you can dowload it either as a guest on github, as a zip file

* a) as a zip file using your browser
>* click the green button "Clone or download"
>* choose "Download ZIP"
you can download it either as a guest on github or as a zip file.

Place the downloade files inside some of these folders, e.g. inside `My documents\PyTherm\GITSYNC`. (note that we recommend the directory name Pytherm to identify the project and the subdirectory name GITSYNC to identify that those are the files downloaded from github and that you might want to synchronize with the official repository when someone contributes with new stuff.)

or using git tools, which you would have to use if you ever want to submit modifications
* as a zip file using your browser

or using git tools. you will have to use them, if you ever want to submit modifications
- b) using Git tools, *pull* (see [Get going with GitHub](https://github.com/iurisegtovich/PyTherm/blob/master/Getting_started/Get_going_with_Windows/2_Get_going_with_GitHub.md) )

anyways, place the files in a directory that jupyter notebook can find, as mentioned before

## Interact

open each `\*.ipynb` file is file in your execution of jupyteran ipython notebook file notebook
open the `\*.ipynb` file you want to read in jupyter-notebook on your browser
>`\*.ipynb` stands for *ipython notebook*, that is a file containing a mix of python code and descriptive text, that runs on the ipython kernel, that in turn, you can run on jupyter nortebook.
* just browse the folders in the directory tree view of *Jupyter notebook* to find them and click it!
* just browse the folders in the directory tree view of *Jupyter notebook* to find the *.ipynb files and click on them!

start with the [beginners coures](https://github.com/iurisegtovich/PyTherm/tree/master/Get_involved/1_Beginner) according to levels, there we will explain the essential of python, the libraries tha we want use and jupyter notebook itself treating the simplest problems of classical thermodynamics.
start with the [beginner's course](https://github.com/iurisegtovich/PyTherm/tree/master/Get_involved/1_Beginner). there we will explain the essential of python, the libraries that we use and jupyter notebook itself by treating the simplest problems of classical thermodynamics.
34 changes: 16 additions & 18 deletions Getting_started/Get_going_with_Windows/2_Get_going_with_GitHub.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
~this is a draft~

Get going with *GitHub*.
==
In order to be able to submit your contributions you will need to have a account in *GitHub* and to install *Git*. Here are the key steps to submit modifications:
In order to be able to submit your contributions you will need to have an account in *GitHub* and to install *Git*. Here are the key steps to submit modifications:

>**GitHub**
>- sign up
Expand All @@ -25,43 +23,43 @@ In order to be able to submit your contributions you will need to have a account

### fork our repository

* Access [our repository](https://github.com/iurisegtovich/PyTherm) and click the fork button, then you will get to have copy of our material in your profile to do as you wish with it.
* Access [our repository](https://github.com/iurisegtovich/PyTherm) and click the fork button, then you will get a copy of our material in your profile to modify it as you wish.

## install *Git*

* Access their [official site](https://git-scm.com/), download the setup file `Git-2.10.0-64-bit.exe`.
* Run the installer
* **accept GNU General Public License** [next]
* **choose a destination folder**, the default option is fine [next]
* **select components**, the default option (windows explorer integration, .git* and .sh files association) is fine [next]
* **select components**, the default option (windows explorer integration, .git* and .sh files association) is fine [next]
* **create a start menu folder**, or not, whatever is fine [next]
* **adjusting your path enviroment**, choose option 1 (use git for bash only - "the safest choice") [next]
* **configuring the line ending conversions**, choose option 1 ("recommended setting o0n windows for cross platform projects) [next]
* **configure the terminal** - use minTTY, its more user-friendly than windows's cmd [next]
* **adjusting your path environment**, choose option 1 (use git for bash only - "the safest choice") [next]
* **configuring the line ending conversions**, choose option 1 ("recommended setting on windows for cross platform projects) [next]
* **configure the terminal** - use minTTY. its more user-friendly than windows's cmd [next]
* **configuring extra options** - enable caching and credential manager, as default [install]
* **launch** choose not to launch *git bash* yet [finish]

## "git pull"

* Using Git GUI (graphical user interface mode)
* create a folder in your device named in a way to identify the project, e.g. `C:\Users\_your_windows_user_name_here_\Documents\PyTherm`
* create a folder in your device named so you can identify the project, e.g. `C:\Users\_your_windows_user_name_here_\Documents\PyTherm`
* right click on the folder and select `Git GUI Here` from the context menu
* choose `clone existing repository`
* on `source location`, paste your repository URL `https://github.com/_your_github_profile_name_here_/PyTherm`
* on target directory paste the directory you created appended with a name for a new folder, in a way to identify that the files inside it will synchronize wirth the github repositopry. e.g. `C:\Users\_your_windows_user_name_here_\Documents\PyTherm\GITSYNC`
* now you will see a window open with some yellow orange and green colors, this window just tracks the files you modify in the folder -- change something in any file inside the folder then come back to this window and click rescan
* identify yourself to Git: click `Edit > Options` and fill in `name` with your real name or nickname and also your `email address` of preference, git will use this information to sign your modifications, this is not an authentication so no password is required at this stage. However it should match your information in GitHub so your profile is automatically linked.
* on target directory, paste the directory you created appended with a name for a new folder, so you can be sure that the files inside it will synchronize with the github repositopry. e.g. `C:\Users\_your_windows_user_name_here_\Documents\PyTherm\GITSYNC`
* now you will window open with some yellow orange and green colors. this window just tracks the files you modified in the folder -- change something in any file inside the folder adn then come back to this window and click rescan
* identify yourself to Git: click `Edit > Options` and fill in `name` with your real name or nickname and also your `email address` of preference. git will use this information to sign your modifications. this is not an authentication so no password is required at this stage. however it should match your information in GitHub so your profile is automatically linked.

## time for those modifications

just edit the files using jupyter notebook, see [Get going with jupyter notebook](https://github.com/iurisegtovich/PyTherm/blob/master/Getting_started/Get_going_with_Windows/1_Get_going_with_Jupyter_notebook.md) for that, if you havent already. You can use jupyter notebook both for \*.ipynb files and \*.md files.
just edit the files using jupyter notebook. see [Get going with jupyter notebook](https://github.com/iurisegtovich/PyTherm/blob/master/Getting_started/Get_going_with_Windows/1_Get_going_with_Jupyter_notebook.md) for that, if you haven't done it already. You can use jupyter notebook both for \*.ipynb files and \*.md files.

> **Note:** if you downloaded zip, extract, edit, then any modification you made there can enter here by pasting/replacing your files with the files just pulled from the repository.

## stage
* click rescan and git will findou whatever yu changed in te project.
* click stage to tell git that you want it to consider the files you modified created deleted or renamed over the old ones as a new version of the project.
* click rescan and git will find out whatever you changed in the project.
* click stage to tell git that you want it to consider the files you modified (created, deleted or renamed) over the old ones as a new version of the project.

## commit
* write some commit message, it should state briefly what you changed in the project.
Expand All @@ -75,17 +73,17 @@ to upload the new version to you online github profile you need to *push*

## create a pull request
to submit it to our official repository you need to create a pull request
* again in github site, browse to the repository version that is in your profile, click pull request to submit it to us, we will evaluate the changes and merge them
* again in github site, browse to the repository version that is in your profile, click pull request to submit it to us and then we will evaluate the changes and merge them

> **what to do if somebody changes the official repo before you commit your own changes?**
> Want to take a look at the files from the upstream repository?
>- Branch > checkout > tracking Branch (fetch tracking branch)
Now all the files in your folder will match those in th upstream repository, take a look

> Want to take a look at your current version of the files?
> Want to take a look at your current version of the files?
>- Branch > checkout > local Branch
Now all the files in your folder will again match your version, take a look.

> lets get your modifications based on the old version of upstream and merge them into the new versions of the upstream.
>- merge > local merge > TRacking branch (this will merge the files version currently checked-out into the tracking branch (upstream) )
>- merge > local merge > Tracking branch (this will merge the files version currently checked-out into the tracking branch (upstream))
Loading

0 comments on commit 6d67618

Please sign in to comment.