Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

*AI Tools for Code Development

GitHub Copilot can be useful for speeding up repetitive coding tasks. This guide covers practical ways to use it effectively in this course—and importantly, when to be careful about trusting its output.

What Copilot is Good For

What to Be Careful About

Real examples where Copilot stumbled in this course:

Practical Workflow

Inline Completions

Press Tab to accept a suggestion, Esc to dismiss, Alt+[ to see alternatives.

Chat for Questions

Common Patterns in This Course

Loading materials data:

# Type the function name and docstring
def load_energies_from_output(filename):
    """Read energies from VASP OUTCAR file."""

Computing properties:

# Be specific about what you're calculating
def compute_elastic_modulus(stress_strain_pairs, volume):
    """Calculate elastic modulus from stress-strain data (GPa)."""

Tests:

def test_structure_has_valid_lattice():
    """Verify lattice vectors have correct shape."""

Copilot is often good at these patterns. But test it immediately with real data.

Tips That Actually Help

  1. Write good comments first. The better your docstring, the better Copilot’s suggestion.

  2. Be specific about libraries. Don’t just say “load a CSV”—say “use pandas to load relaxation_energies.csv and return a DataFrame.”

  3. Use type hints. They give Copilot crucial context:

    def compute_formation_energy(e_defect: float, e_perfect: float, 
                                dopant_mu: float) -> float:
  4. Run the code immediately. Don’t accept suggestions and move on. Test with your actual data right away.

  5. Ask for alternatives. If the first suggestion doesn’t look right, press Alt+[ to see other options.

When Things Go Wrong

Copilot is not responding: Check the Copilot icon in the status bar. You probably just need to sign in or restart VS Code.

Suggestions look wrong: They probably are. This is normal. Copy-paste the code somewhere safe, look it up in the docs, or ask on Stack Overflow. Don’t blindly trust scientific code from an AI.

You’re spending more time debugging Copilot than coding: Don’t use it for that task. Stick to the things it’s good at (boilerplate, tests, repetitive parsing).

Privacy & Safety

Use environment variables or config files instead:

import os
api_key = os.environ.get('MATERIALS_PROJECT_API_KEY')

Bottom Line

Copilot is a time-saver for routine tasks, not a substitute for understanding your code. Use it to speed up the boring parts (boilerplate, tests, data loading), but always understand what the code is doing before you run it. In materials science especially, wrong code can look correct—you’ll only catch it by testing with real data.

The best use is: let Copilot write the first draft of routine code, then review and test it immediately.