Scientific Computing and Productivity
Course Introduction
Welcome!
Today we are going to go over how the class is organized and what to
expect this semester.
About Me
- Dr. C.D. Clark III
- Arrived at FHSU in 2011 after graduating from here in 2004.
- Created this class to help students learn some of the tools that I
had to learn on my own.
About this Class
The main objective of this class is to learn how to use Linux and the
command line to be productive doing science.
We will learn how to use tools like Gnuplot, LaTeX, git, scripting,
Python, and more.
About this Class: Software Requirements
You will need to install the following software for this class:
- Linux
- Zoom
- Microsoft Teams
About this Class: Structure
- Live lectures will be streamed each day via Zoom during the
regularly scheduled class time.
- The majority of lecture time will be spent doing “live demos” with
some practice problems mixed in.
- Lectures will be recorded and I will post links to the recordings in
the class Team.
- Homework problems will be posted on the class website.
- These will consist of a PDF and “tarball”.
- To complete the homework, you will take a Blackboard quiz and upload
a tarball.
Note: The online and on-campus version of this class share a single
Blackboard shell.
About this Class: Grade
Course Grade
Category |
Weight |
Homework |
40% |
Projects |
20% |
Exams |
40% |
Letter Grades
Grade |
Cutoff |
A |
88% |
B |
76% |
C |
60% |
D |
44% |
Getting Linux Installed
The first thing we need to do is get Linux installed.
There are several options for getting Linux on your computer. I have
outlined these on Blackboard, so please, read the information, watch the
videos, and let me know if you have any questions.
Class Team
- I have created a Microsoft Team for this class.
- I will post links to the lecture recordings there.
- This is also the best way to get in touch with me.
Book
- The book for this class will be used as a reference.
- The class schedule will not be based on the book.
- Homework assignments will not be out of the book.
- We will cover several topics that are not in the book.

So why do we have a book?
Use it as a reference and tutorial resource for the command line.
Topic Outline (Tentative)
- Orientation
- Introduction to the Command Line
- Working with text
- Shell Scripts
- Working with text some more
- Plotting with Gnuplot
- Using Python as a Calculator
- Latex
- More Latex
- vim
- git
- Remote access with ssh
Why Linux?
- Freedom
- Linux is free.
- Most programs that run on Linux are free.
- You don’t have to worry about entering license numbers, which
computer to install something on, or paying for updates.
- Tools
- Linux is built FGBG (for geeks by geeks)
- Many tools for doing technical work are readily available:
- compilers (C/C++/FORTRAN/etc.)
- interpreters (Python/Perl/etc.)
- Graphing Software
- LaTeX
- many, many more.
- Resume
- Linux is used in many research labs.
Which Linux?
There are many different Linux “distributions”. Which should you
choose?
Why learn the command line?
- Productivity
- How many times have you collected data, created a spreadsheet,
calculated results, and inserted a table into a Word document?
- What happens if you find out your data is bad, and you need to redo
some measurements? Or maybe you had an error in your calculation.
- Wouldn’t it be nice if you could just recollect the data or fix the
calculation, press a button, and have your entire report updated?
- Automate Tedious Task
- Computers were made to do tedious things. Why not let them?
- The command line can be easily scripted, meaning you can easily save
a series of commands and run them later.
Motivating Example
In December of 2020, FHSU had its first virtual
commencement.
Nearly 3000 students graduated.
FHSU displayed a certificate-style slide with each student’s
name, and read every student’s name while their slide was
displayed.
I was able to write a script to generate all the files
in less than 4 minutes.

The script used a command line image processing program to insert
the student’s name, college, and degree.
If this had been done with a GUI (graphical program) it would
have taken at least ~3000 minutes (50 hours)
If a mistake was found, or we wanted to make a change, every
image would have to be recreated…
First Week Plan
- We will take this first week to get setup.
- Ask to join the class Team.
- Get Linux installed on something
- Choose the option that works best for you from the list in
Blackboard and work on getting Linux installed.
- Read the information on Blackboard
- Watch the videos posted in the “Module 0” folder about
- Submitting homework
- Taking homework quizzes
- Taking exams
Last Slide