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 Lynx Portal's Pluto and/or Jupyter Lab Server
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 Friday's class
Log in to the Lynx cluster to verify your account is set up
Read Github tutorial (at least through “Fork a Repo”,)
This week
Think Julia Ch 1: The Way of the Program
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 Sept 3)
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 Lynx Cluster
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.)