Advanced Computational Systems and Data Engineering
Material Copyright 2017, 2018 by Timothy Middelkoop. Sourcecode licensed under the Apache License, Version 2.0. Documentation licensed under CC by SA 3.0.
Enable students to utilize advanced computational and data capabilities for research and industrial practice through 1) proper project, code, and data management techniques; 2) wide range of research workflows to solve complex problems; 3) integration of optimization or other domain specific software tools; and 4) parallel computing on High Performance Computing clusters.
The objective of this course is give students the skills, tools, and hands-on experience required to effectively utilize advanced computational and data capabilities for their research. Topics will include command line usage, source code revision management systems, relational and non-relational databases, message and data structures, web application programmer interfaces, computational engineering software, scientific and engineering workflows, data management, and the life-cycle of research projects. Tools include Git, Python, R, and Julia with domain specific tools such as CPLEX, Gurobi, and others.
“High Performance Computing: Modern Systems and Practices” by Maciej Brodowicz, Matthew Anderson, and Thomas Sterling, Elsevier Science, 2017. ISBN: 9780124201583
A Secure Shell Client (ssh) is required. The following ssh clients are recommended:
- MobaXterm (https://missouri.app.box.com/rcss-mobaxterm) for Windows,
- Chrome browser “Secure Shell” extension for Windows, Mac, and Chromebooks (https://chrome.google.com/webstore/detail/secure-shell/pnhechapfaindjhompbnflcldabbghjo).
- R, Python, Julia, SQL, CSV, JSON, Linux Shell, Jobfiles, SLURM, Git, Markdown, Gitlabs
- Software Carpentry https://software-carpentry.org/lessons/
- HPC Carpentry https://hpc-carpentry.github.io/
- Git https://git-scm.com/book/en/v2
- Database design with UML and SQL, 4th edition http://web.csulb.edu/colleges/coe/cecs/dbdesign/
- Markdown https://docs.gitlab.com/ee/user/markdown.html
- JSON http://www.json.org/
- SQLite Tutorial http://www.sqlitetutorial.net/
- SQLite Reference https://www.sqlite.org/lang.html
- Python 3 Tutorial https://docs.python.org/3/tutorial/
- Python Reference https://docs.python.org/3/
- R Language https://www.r-project.org/
- R Tutorial http://www.cyclismo.org/tutorial/R/
- Julia Docs https://docs.julialang.org