Week 1: Getting Started with Software Development Tools

Goals

  • Understand course goals, organization and expectations

  • Recognize opportunities to improve productivity through software development practices

  • Exercise 1: Use software development tools

    • Access ICDS-ACI Portal's Jupyter Server with BYOE (bring your own environment)

    • Optionally setup Julia+Pluto+git on your own computer

    • Use Git & GitHub.com for retrieving and submitting lab assignments

    • Use variables, strings and Markdown in Julia

    • Use unit tests

  • Exercise 2: Floating Point Arithmetic, Functions

    • Write code as a function

    • Use/write tests of code

    • Recognize potential pitfalls with floating-point arithmetic

  • Exercise 3: Develop your personal goals for semester

Lessons along the way

  • Types: Strings, Floating point types

  • Functions, Docstrings

  • Modules, Packages, Namespace

  • using/import, include

  • Pseudo-random numbers

  • Broadcasting

  • Type stability

  • Online algorithms

  • Writing markdown text

Readings

Lab

Lab 1: Tools & Fundamentals: Floating Point Arithmetic, Functions, Tests (Due Aug 30)

Additional Resources

Instructions for using ACI

Install Julia & Pluto on your local machine (optional)