Programming Basics
Week 1
Working environment
Accounting: Logbook, PmWiki, GitHUb
Programming environment:
- Linux, Bash Shell, Gmake
To Do:
- System programming - Bash: startup files, environment variables, customization
- Application programming: Read C++ Chapter 4, pp107-114,pp127-138. Special attention: data types, pointers, references.
- Write, compile, and run HelloWorld.C. Using GitHub create a project "Sound2Picture".
- Under Linux create gmake environment for the projects; recompile HelloWord binary using gmake, save the entire project in GitHub.
**Document everything in the Logbook and PmWiki
Week 2
C++ programming
- Improve the structure of project "Battleship"
- /battleship
- /bin
- /doc
- /include
- /src
- /build
- Readme
- setup.sh
- /battleship
- create and use "class SUBattleship"
Programming specials:
- main program argument processing
- classes, namespaces, structures, private and public class members
- constructors, destructors, functions
- passing functions arguments by value and by reference
- use of standard libraries (strings, math, iostream, e.t.c. )
Week 3
C++ programming
- Read and write binary and text files
- Create a program to convert an image into sound file and vice versa ( class SUConvert)
System environment
- environment modules
- CVMFS, access to external software libraries
Week 4
C++ programming
- ROOT, simulation of data analysis
- ntuples, histograms, fits
Weeks 4-6
- ROOT TMVA; use of neural networks for data classification
- use of GPU for deep neural network calculations
Weeks 6-8
- PYTHON, PYTHON scripts, libraries, packages
- TensorFlow for neural networks