Foundations of Programming and Software Engineering for Molecular Science#
This course provides an overview of topics relevant to programming and creating software projects. Students will become familiar with tools and practices commonly used in software development such as version control, documentation, and testing. Central to this course is a hands-on molecular simulation project where students work in groups to create a software package using concepts taught in the course.
Pre-Bootcamp: Set-Up#
Lesson Title |
Questions |
Objectives |
---|---|---|
|
|
Day 1#
Lessons#
Lesson Title |
Questions |
Objectives |
---|---|---|
|
|
|
|
|
|
|
|
|
|
|
Discussions and Assignments#
Type |
Description |
---|---|
Command Line and Git Review |
|
Submitting a Pull Request to a Central Repository |
Day 2#
Lessons#
Lesson Title |
Objectives |
Questions |
---|---|---|
|
|
|
|
|
Discussions and Assignments#
Type |
Description |
---|---|
Get to Know your Group |
|
Tasks: Monte Carlo Error,Lennard Jones,Distance Calculation |
|
Contains the link to start Individual Assignment 1. |
Day 3#
Lessons#
Lesson Title |
Objectives |
Questions |
---|---|---|
|
|
Discussions and Assignments#
Type |
Description |
---|---|
Think Python and Energy Calculations |
|
Simulation Cut-offs and Periodic Boundaries |
Day 4#
Lessons#
Lesson Title |
Objectives |
Questions |
---|---|---|
|
|
|
|
|
Discussions and Assignments#
Type |
Description |
---|---|
Explain XCKD and Code Changes |
|
Acceptance probability, Performance, Starting configurations |
Day 5#
Lessons#
Lesson Title |
Objectives |
Questions |
---|---|---|
|
|
|
|
|
|
|
|
Discussions and Assignments#
Type |
Description |
---|---|
Warm Up Quiz and Debugging |
|
NumPy and MC Calculations |
|
Individual Assignment 2 |
Day 6#
Lessons#
Lesson Title |
Objectives |
Questions |
---|---|---|
|
|
|
|
|
Discussions and Assignments#
Type |
Description |
---|---|
Counting function calls |
|
Python and C++ Discussion and Integration via Summation |
Day 7#
Lessons#
Lesson Title |
Objectives |
Questions |
---|---|---|
|
|
|
|
|
Discussions and Assignments#
Type |
Description |
---|---|
Programming Design Recipe |
|
Monte Carlo C++ rewrite |
|
Individual Assignment 3 |
Day 8#
Lessons#
Lesson Title |
Objectives |
Questions |
---|---|---|
|
|
|
|
|
|
|
|
Discussions and Assignments#
Type |
Description |
---|---|
UC Berkeley Libraries |
|
Monte Carlo C++ rewrite |
|
Final Project Assignment |
Day 9#
Lessons#
Lesson Title |
Objectives |
Questions |
---|---|---|
|
|
Discussions and Assignments#
Type |
Description |
---|---|
Python and C++ - Function Arguments |
|
Individual Assignment 4 |