Chapter 2 updates; add .gitignore