Difference between revisions of "CompSciWeek3"

From Predictive Chemistry
Jump to: navigation, search
(Reading Assignment)
Line 7: Line 7:
 
= Class 1: Intermediate shell utilities =
 
= Class 1: Intermediate shell utilities =
 
* commands
 
* commands
** cat
 
  +
** man/info <-> help()
** grep
 
  +
** ls <-> dir()
** sort
 
  +
** cat <-> print
** head / tail
 
  +
** grep <-> string.find()
** tr, sed
 
  +
** sort <-> list.sort()
  +
** head / tail <-> list.__slice__ (i.e. l[:10])
  +
** tr, sed <-> string.replace()
 
** find
 
** find
 
** w, top, last
 
** w, top, last
 
* shell variables
 
* shell variables
 
* control flow
 
* control flow
** pipes, &&, ||
 
  +
** shell functions -- f() { commands; }
** for loops
 
  +
** pipes, redirection, &&, || -- a | b, a && b, a || b
  +
** for, while loops -- for i in 1 2 3; do ... done, for((i=0; i<$n; i++)); do ... done
  +
  +
References:
  +
* [https://docs.python.org/3/ Python Syntax]
  +
* [http://tldp.org/HOWTO/Bash-Prog-Intro-HOWTO.html Bash Syntax]
  +
* [http://sed.sourceforge.net/sed1line.txt Sed One-Liners]
   
 
= Class 2: Python vs. shell =
 
= Class 2: Python vs. shell =

Revision as of 12:29, 8 September 2014

Reading Assignment

  • Beginning Python, Chapter 6
  • Algorithms, Chapters 1-2
    • focus on tree data structures (formal complexity next week)
    • ignore python 'Class' for now

Class 1: Intermediate shell utilities

  • commands
    • man/info <-> help()
    • ls <-> dir()
    • cat <-> print
    • grep <-> string.find()
    • sort <-> list.sort()
    • head / tail <-> list.__slice__ (i.e. l[:10])
    • tr, sed <-> string.replace()
    • find
    • w, top, last
  • shell variables
  • control flow
    • shell functions -- f() { commands; }
    • pipes, redirection, &&, || -- a | b, a && b, a || b
    • for, while loops -- for i in 1 2 3; do ... done, for((i=0; i<$n; i++)); do ... done

References:

Class 2: Python vs. shell

  • Reading / Writing Files
  • Advanced control structures (list comprehensions)
  • Code profiling
  • Hash tables
  • Graphs

Homework 2 - due Monday, Sept. 15

  • Coding problems:
    • Write a loop to sum 100 random numbers (import random, random.random()) using each of the following control structures: for, while, list and `tuple` comprehension.
    • Write a shell loop to save 100 numbers from $RANDOM to a file, writing one number per line.
    • Write a shell loop to sum files with 1 number per line.
    • Write python and shell programs to print the smallest 10 numbers from such a file.
    • Write a text processing script using sed to get the numbers for the following quantities from File:Multiwfn.txt
      1. Basin electric monopole moment: (1 number for ea. line)
      2. Basin electric dipole moment: and Basin electron contribution to molecular dipole moment: (3 numbers from ea. line tagged X=, etc)