GithubHelp home page GithubHelp logo

sjtuzhanglei / nano281 Goto Github PK

View Code? Open in Web Editor NEW

This project forked from materialsvirtuallab/nano281

0.0 0.0 0.0 96.25 MB

Data Science for Materials Science

License: BSD 3-Clause "New" or "Revised" License

Jupyter Notebook 72.08% TeX 27.84% Python 0.08% Java 0.01%

nano281's Introduction

NANO281 - Data Science in Materials Science

Welcome to the official Github repo for UCSD Course NANO281 - "Data Science in Materials Science". Here, you will find the materials for your lectures, labs, as well as other useful resources.

Lecture materials

All lecture materials are in the lectures folder.

  • slides contains the lecture slides in PDF format.
  • slides_tex contains the lecture slides in latex beamer format. This is useful if you want to extract an equation or figure.
  • notebooks contains the Jupyter notebooks that we will be using for in-lecture demos.

Labs

You will be assessed on three lab sessions. The instructions for all labs are in the labs folder.

Programming language

All lectures and labs will be conducted in Python 3.7+. Prior to the labs, please do the following:

  1. Install python on your laptop.
  2. If you are unfamiliar with Python, please go through the official Python tutorials to understand the basics of variable assignment, if and for loops, etc. While we are not expecting advanced Python knowledge, everything will go much quicker if you are already familiar with the basics.

Preparing for your lectures and labs

In preparation for your lectures and labs, please ensure that you have your Python environment setup properly. You only need to do this once. There are alternative approaches to setting up your machine, but the approach outlined here is guaranteed to work and is reproducible. Your instructors would be better able to assist if there are issues in the installation.

  1. Download the Python 3.7+ version of Miniconda (recommended) or Anaconda for your OS.
  2. Follow the official instructions and install Miniconda/Anaconda.
  3. Start the terminal (Mac/Linux) or Anaconda Prompt (Windows).
  4. Create a virtual environment for NANO281:
conda create --name nano281 python=3.7
  1. Activate the virtual environment.
conda activate nano281
  1. Install the necessary Python libraries.
conda install --yes numpy scipy matplotlib pandas jupyter seaborn scikit-learn tensorflow
conda install --channel conda-forge --yes pymatgen
  1. An alternative to steps 4-6 is to download the nano281_env.yml file from the Google classroom or Github repo and create the environment directly.
conda env create -f nano281_env.yml
  1. Subsequently, always activate your nano281 environment prior to working on your lectures/labs using:
conda activate nano281

If for any reason you find that your conda environment is corrupted and you need to start over, please run:

conda env remove --name nano281

and simply start from step 4 above to redo your setup.

Course textbooks

The course is intended to be self-contained and all textbooks are optional. However, the following are useful to have around:

  1. The Elements of Statistical Learning: Data Mining, Inference, and Prediction, Second Edition Amazon, or get the free online version.
  2. Python Data Science Handbook. Buy from Amazon or get the free online version.

nano281's People

Contributors

shyuep avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.