This course is an Introduction to Scientific Computing for students of all sciences. We use Linux to learn the basic tools that allow us to handle structured data and extract valuable scientific information from it.
This page will be updated during the semester. Please check it regularly.
Course Forum
Please visit https://groups.google.com/d/forum/iu-csp and register yourself. Then you can write your questions, answer other people’s answers, and check the previous messages. You can also send your questions by email to iu-csp@googlegroups.com.
Slides used in classes
Some material is presented only on the blackboard, so you need to take good notes on classes to improve your learning. We recommend taking notes with pen and paper using the Cornell Method.
- Class 1: Why “Computing Science” in Science
Faculty?. (Sep 26, 2019). [Slides].
What is a computer? Why do we care? - Class 2: First steps on UNIX. (Sep 26,
2019). [Slides].
Introduction to Command Line Interface - Class 3: Operating systems. (Oct 3, 2019).
[Slides].
Introduction to Command Line Interface - Class 4: Creating folders and files. (Oct 3,
2019). [Slides].
Introduction to Command Line Interface - Class 5: Reading Text Files. (Oct 10,
2019). [Slides].
Seeing what is inside each file. - Class 6: Finding text. (Oct 10, 2019).
[Slides].
Finding text with grep, standard input and standard output. - Class 7: Redirection and pipes. (Oct 17,
2019). [Slides].
Connecting standard input and standard output. - Class 8: Processes, Jobs, and Permissions. (Oct
17, 2019). [Slides].
Wildcards, file modes, background processes - Class 9: Other useful UNIX commands. (Oct 24,
2019). [Slides].
Measuring disk space. Selecting, sorting and counting data from text files. Also, practice for midterm exam - Class 10: UNIX Variables. (Oct 31, 2019).
[Slides].
Configuring your session - Class 11: Regular Expressions. (Nov 21,
2019). [Slides].
How to look for complex text patterns - Class 12: Intro to AWK. (Nov 28, 2019).
[Slides].
Smarter Processing - Class 13: Miscellany. (Nov 28, 2019).
[Slides].
Several details - Class 14: AWK assignments and conditions. (Dec
5, 2019). [Slides].
Smarter Processing - Class 15: AWK internal variables. (Dec 12,
2019). [Slides].
Changing the behavior of AWK - Quiz. (Dec 12, 2019). [Slides].
Practice using AWK - Class 16: AWK functions and loops. (Dec 19,
2019). [Slides].
for loops, predefined functions. - Class 17: AWK arrays. (Dec 19, 2019).
[Slides].
Practice using AWK - Quiz 2. (Dec 19, 2019). [Slides].
Practice using AWK
On line material
A Command Line Crash Course and Resources there
Google “Learn Unix Command Line”
If you use windows, please download Git Bash for Windows
See also Windows Subsystem for Linux
Take a look at Microsoft Cloud Servers
Regular-Expressions.info
Learn Regular Expressions with simple, interactive exercises. Good examples
For testing: https://regex101.com/
A Crash Course In AWK. Event-based Programming
Common threads: Awk by example (by IBM)
Awk - A Tutorial and Introduction - by Bruce Barnett - The Grymoire!
Videos interviews to Arthur C. Clark
Recommended reading
- Brian W. Kernighan. 2011. “D is for Digital: What a Well-Informed Person should Know about Computers and Communications”. CreateSpace Independent Publishing Platform, USA.
- naming things by Jenny Bryan
- Code and Data for the Social Sciences: A Practitioner’s Guide by Matthew Gentzkow and Jesse M. Shapiro
- Good enough practices in scientific computing by Greg Wilson, Jennifer Bryan, Karen Cranston, Justin Kitzes, Lex Nederbragt, Tracy K. Teal
- The Plain Person’s Guide to Plain Text Social Science by Kieran Healy
- What They Forgot to Teach You About R by Jennifer Bryan and Jim Hester
- How to be a modern scientist by Jeffrey Leek
- Happy Git and GitHub for the useR by Jenny Bryan, the STAT 545 TAs, Jim Hester
Attendance
By regulation from the Rectory, students need to attend at least 70% of the classes. The attendance book is updated every week and can be seen in Google Sheets. Please check it and verify if it is right.