Syllabus¶
last updated: Jan 8, 2021
Welcome to the SimCenter Programming Bootcamp 2020. Due to COVID-19, this year’s offering will be solely online. A drawback of an online offering is the lack of interaction among the participants. The SimCenter team is putting in all effort to recreate some of the community building benefits through discussion sessions and social time.
The bootcamp is organized as a series of live video conferencing (ZOOM), prerecorded video lectures, hands-on exercises with online review options, and homework assignments. The ideal flow of lessons and activities is provided in the “By Day” listing below.
Python - Dec 14-18, 2020¶
Day 1
Python Basics
Data types
Loops
Exercise
Conditions
Assign Homework #1
Day 2
Homework #1 review
Python matrix data types
Exercise
Python file IO
Text files
Spread sheet data
Exercise
Python plotting
Assign Homework #2
Day 3
Homework #2 review
Intro to Object Oriented Programming (OOP)
Python OOP
Classes
Inheritance
Numeric data types: operator overload
Assign Homework #3
Day 4 - Machine Learning
Homework #3 review
Basics of Machine Learning
Popular Algorithms
Exercise
Assign Homework #4
Day 5
Homework #4 review
Short remarks on
Python modules
Organizing your code in files
system call/subprocess
Exercise: bringing python to the command line
Python Web Scrabbing
Introduction to C - Jan 4-8, 2021¶
Day 6: Basic C
Computers and Computer Programs
The C Computer Programming Language
C: Variable Types and Variable Names
C: Operations, Conditionals, and Loops
C: Functions
Day 7: More Advanced C
C: Pointers Review
C: Memory Allocation
C: File I/O
C: User Defined Datatypes
Day 8 - C: Datatypes & C++
Object Oriented Programming
C++
C++ Example
Day 9 - Parallel Programming
Parallel Computers
MessagePassing & MPI
Shared Memory & OpenMP
Day 10 - DesignSafe & Agave
Review: Exercise
Intro to DesignSafe & Tapis
Interfacing with DesignSafe through Command Line
Exercise
Building an Agave App
Exercise