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
Prior to Monday's class
Think Julia Ch 1: The Way of the Program
Github tutorial (at least through “Fork a Repo”,)
Prior to Wednesday's class
The Rationale for Julia: Getting Started with Julia Programming (6pgs avaliable via "First Pages" as Preview/"Look Inside!")
Writing Scientific Software Ch 2 (22pgs): Scientific Computation and numerical analysis
If it will help you with the lab: Think Julia Ch 2: Variables, Expressions & Statements
Lab
Lab 1: Tools & Fundamentals: Floating Point Arithmetic, Functions, Tests (Due Aug 30)
Exercise 1: Get started using core development tools
Exercise 2: Floating Point Arithmetic, Functions, Tests
Exercise 3: Personal Goals (save at least 15 minutes for this one)
Additional Resources
Instructions for using ACI
Install Julia & Pluto on your local machine (optional)
See instructions from MIT Intro to Computational Thinking course (For your lab assignments, you'll use Step 2b: Open an existing notebook file, rather than Step 1a Open a notebook from the web.)