Difference between revisions of "CompSciWeek8"

From Predictive Chemistry
Jump to: navigation, search
(Created page with "= Parallel programming examples = * Code walk-through parallel array analysis * walk-through mpi4py = Interfacing Python and C = * walk-through MPI interfaces from other languag…")
 
Line 1: Line 1:
= Parallel programming examples =
 
  +
= Reading =
* Code walk-through parallel array analysis
 
  +
Review previous chapters and complete your midterm projects by Friday!
* walk-through mpi4py
 
   
= Interfacing Python and C =
 
  +
= Classes 1 & 2 =
* walk-through MPI interfaces from other languages
 
  +
* Example project walk-through
* ctypes
 
  +
* Demonstrates use of git, python ctypes, class objects, sed, and batch job organization
  +
* Complexity of searching for a key
  +
* Design pattern: sorted list + bisection search vs. hashing
  +
* Design patterns: sorting an index to recover a permutation
  +
* Working with permutations
  +
** Random permutation, conditional probability concepts
  +
* Complexity and solution of the Hanoi tower problem
  +
  +
== Midterm Project Outline ==
  +
* Motivation - explain where this problem comes from / where the solution applies
  +
* Problem Description - explain what makes your problem difficult
  +
** If more than one paragraph of reviewing previous work is needed, put here. (ex. the [http://termemulator.sourceforge.net/ termemulator] project by Siva Chandran provides a great example of using the subprocess module to run shell programs with interactive user input. It provides ..., but does not solve ... This work builds on its use of subprocess.)
  +
* Code - explain what new code / structure / algorithm design improvement you have made (ex. My job-server design queries a directory for new problem descriptions, then either uses stored data to directly compute the result or else creates a new SGE job to produce more stored data.)
  +
* Results and Discussion - present numerical results (if applicable) or discuss the trade-offs involved in your design choices (ex. This strategy automates stored data computation and management, saving more time than it required to write the server. Manual management took ... per data set, automatic management required ... to write. It will not scale beyond 100 Gb, or work for problem ..., etc.)
  +
  +
Note that the above sections are suitable for this project, whose goal is to show proficiency in going from a scientific problem to a structured piece of code. They are inadequate for a scientific paper, for which much more effort needs to be spent on defending a single claim, anticipating the prejudices of your audience (this means literature review), and making understandable figures to illustrate your defense.

Revision as of 11:56, 13 October 2014

Reading

Review previous chapters and complete your midterm projects by Friday!

Classes 1 & 2

  • Example project walk-through
  • Demonstrates use of git, python ctypes, class objects, sed, and batch job organization
  • Complexity of searching for a key
  • Design pattern: sorted list + bisection search vs. hashing
  • Design patterns: sorting an index to recover a permutation
  • Working with permutations
    • Random permutation, conditional probability concepts
  • Complexity and solution of the Hanoi tower problem

Midterm Project Outline

  • Motivation - explain where this problem comes from / where the solution applies
  • Problem Description - explain what makes your problem difficult
    • If more than one paragraph of reviewing previous work is needed, put here. (ex. the termemulator project by Siva Chandran provides a great example of using the subprocess module to run shell programs with interactive user input. It provides ..., but does not solve ... This work builds on its use of subprocess.)
  • Code - explain what new code / structure / algorithm design improvement you have made (ex. My job-server design queries a directory for new problem descriptions, then either uses stored data to directly compute the result or else creates a new SGE job to produce more stored data.)
  • Results and Discussion - present numerical results (if applicable) or discuss the trade-offs involved in your design choices (ex. This strategy automates stored data computation and management, saving more time than it required to write the server. Manual management took ... per data set, automatic management required ... to write. It will not scale beyond 100 Gb, or work for problem ..., etc.)

Note that the above sections are suitable for this project, whose goal is to show proficiency in going from a scientific problem to a structured piece of code. They are inadequate for a scientific paper, for which much more effort needs to be spent on defending a single claim, anticipating the prejudices of your audience (this means literature review), and making understandable figures to illustrate your defense.