{"id":20164085,"url":"https://github.com/southernmethodistuniversity/phys3340_guest_lectures","last_synced_at":"2025-09-21T12:33:08.041Z","repository":{"id":110252000,"uuid":"406208434","full_name":"SouthernMethodistUniversity/PHYS3340_Guest_Lectures","owner":"SouthernMethodistUniversity","description":"Introduction to Python and other topics","archived":false,"fork":false,"pushed_at":"2021-09-16T17:10:46.000Z","size":869,"stargazers_count":2,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-14T00:35:50.949Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Jupyter Notebook","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SouthernMethodistUniversity.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-09-14T03:15:55.000Z","updated_at":"2021-09-16T17:10:49.000Z","dependencies_parsed_at":"2023-07-18T13:46:02.819Z","dependency_job_id":null,"html_url":"https://github.com/SouthernMethodistUniversity/PHYS3340_Guest_Lectures","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SouthernMethodistUniversity%2FPHYS3340_Guest_Lectures","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SouthernMethodistUniversity%2FPHYS3340_Guest_Lectures/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SouthernMethodistUniversity%2FPHYS3340_Guest_Lectures/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SouthernMethodistUniversity%2FPHYS3340_Guest_Lectures/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SouthernMethodistUniversity","download_url":"https://codeload.github.com/SouthernMethodistUniversity/PHYS3340_Guest_Lectures/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":233754402,"owners_count":18725000,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-14T00:33:11.549Z","updated_at":"2025-09-21T12:33:07.631Z","avatar_url":"https://github.com/SouthernMethodistUniversity.png","language":"Jupyter Notebook","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PHSY3340: Introduction to Python and Related Lessons\n\nWe live in a world driven by computers, algorithms, and data. These \nlectures seek to equip students with the basic knowledge and skills to\nuse python to mainpulate data, produce basic models and make\ndecisions about the world around them. Students will also be introduced \nto high-performance computing using ManeFrame\nII.\n\n# Getting Started\n\n## Initial Setup of Your Repository and Python Environment\n\n1. Go to the [GitHub repository for our class Jupyter notebooks](https://github.com/SouthernMethodistUniversity/PHYS3340_Guest_Lectures).\n2. Select \"Fork\". This will create a personal copy of the repository.\n3. Select \"Code\" and copy the HTTPS URL for the forked repository.\n4. Go to the [HPC Portal](https://hpc.smu.edu) and log in.\n5. Select \"Interactive Apps\" and then \"JupyterLab\".\n6. Set the fields to:\n  * \"Additional environment modules to load\": `python/3`\n  * \"Custom module paths\": Clear the contents if any\n  * \"Custom environment settings\": Clear the contents if any\n  * \"Partition\": `htc`\n  * \"Number of hours\" `1`\n  * \"Number of nodes\": `1`\n  * \"Cores per node\": `1`\n  * \"GPUs per node\": `0`\n  * \"Memory\": `6`\n7. Select \"Launch\" and wait for the job and JupyterLab session to begin (this can take a few minutes).\n8. Select \"Connect to JupyterLab\", which will appear when the JupyterLab session has started.\n9. Select \"File\", \"New\", \"Terminal\" to start a new terminal session within JupyterLab.\n10. In the terminal session, type each command and press Enter:\n\n```\ngit clone \u003cpaste the URL for the forked repository without brackets\u003e\ncd PHYS3340_Guest_Lectures\ngit remote add upstream https://github.com/SouthernMethodistUniversity/PHYS3340_Guest_Lectures.git\nmkdir work\nmodule load python/3\nconda env create -f environment.yml --force\n```\n\n## Launching a JupyterLab Session and Accessing Your Notebooks\n\n1. Go to the [HPC Portal](https://hpc.smu.edu) and log in.\n2. Select \"Interactive Apps\" and then \"JupyterLab\".\n3. Set the fields to:\n  * \"Additional environment modules to load\": `python/3`\n  * \"Custom module paths\": Clear the contents if any\n  * \"Custom environment settings\": `source activate ~/.conda/envs/phys_3340`\n  * \"Partition\": `htc`\n  * \"Number of hours\" `24`\n  * \"Number of nodes\": `1`\n  * \"Cores per node\": `1`\n  * \"GPUs per node\": `0`\n  * \"Memory\": `6`\n4. Select \"Launch\" and wait for the job and JupyterLab session to begin (this can take a few minutes).\n5. Select \"Connect to JupyterLab\", which will appear when the JupyterLab session has started.\n6. Select the \"File Browser\" icon at the top of the left sidebar and browse to your `PHYS3340_Guest_Lectures` directory.\n\n## Working on Notebooks\n\n1. Right-click on a notebook and select \"Copy\".\n2. Browse into your \"work\" directory.\n3. Right-click with the directory and select \"Paste\".\n4. Double click the notebook to open.\n\n## Pulling New Notebooks\n\n1. Save the notebook.\n2. Open a terminal session via \"File\", \"New\", \"Terminal\".\n3. In the terminal session, type each command and press Enter after each line:\n\n```\ncd PHYS3340_Guest_Lectures\ngit fetch upstream\ngit merge upstream/main -m \"Merge from upstream.\"\n```\n\n```{note}\n* If you have edited a file tracked upstream, *e.g.*  `assignment.ipynb`,\n  you won't be able to merge. Checkout the file to clear the changes, *e.g.* `git\n  checkout assignment.ipynb`, and then proceed with `git merge\n  upstream/main -m \"Merge from upstream.\"`.\n* If the above doesn't work, first verify that all notebooks that you want to\n  save are in your `work` directory, then run `git reset --hard`, and then\n  proceed with the fetch and merge steps.\n```\n\n## Installing New Packages\n\nNew Python packages can be installed allowing you to build upon the work of\nothers. Both methods should be run from the Terminal from within the Jupyter\nLab session. Installing packages directly via `pip` is the suggested procedure\nfor the class when installing your personaly selected packges, while\ninstallation via the `requirements.txt` should be reserved for packages pushed\nfrom upstream.\n\n1. Open a terminal session via \"File\", \"New\", \"Terminal\".\n2. In the terminal session, type each command and press Enter after each line:\n\n### New Packages via `pip`\n\n```\ncd PHYS3340_Guest_Lectures\npip install \u003cpackage_name\u003e\n```\n\n### New Packages via `requirements.txt`\n\nBefore executing the following commands do the \"Pulling New Notebooks\" commands\nabove first. This will make sure that you have the most recent version of the\n`requirements.txt` file available to you. \n\n```                                                                           \ncd PHYS3340_Guest_Lectures                                                          \npip install --ignore-installed -r requirements.txt\n```                                                                           \n\n## Submitting Completed Assignments via GitHub\n\n1. Save the notebook.\n2. Open a terminal session via \"File\", \"New\", \"Terminal\".\n3. In the terminal session, type each command and press Enter after each line:\n\n```\ncd PHYS3340_Guest_Lectures\ngit add work/\u003cthe name of the completed notebook without brackets\u003e.ipynb\ngit commit -m \"\u003cBrief note about work witout brackets\u003e\"\ngit push\ngit tag -a \u003cassignment number without brackets\u003e -m \"\u003cCompleted assignment number without brackets\u003e\"\ngit push --tags\n```\n## Add Dr. Olness to Your Forked GitHub Repository\n\n1. Log into GitHub\n2. Go to your PHYS3340_Guest_Lectures repository\n3. Select \"Settings\"\n4. Select \"Manage access\" on the left-side panel\n5. Select \"Invite a collaborator\"\n6. Type \"olness\" in the field and then select \"Fred Olness\" when it appears\n7. Select \"Add egodat to this repository\"\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsouthernmethodistuniversity%2Fphys3340_guest_lectures","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsouthernmethodistuniversity%2Fphys3340_guest_lectures","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsouthernmethodistuniversity%2Fphys3340_guest_lectures/lists"}