Skip to content

Hyperlinks in the lectures

Openweb edited this page Apr 8, 2015 · 11 revisions

Prof Douglas C. Schmidt: http://www.dre.vanderbilt.edu/~schmidt/DigitalLearning/ Android Source code: http://source.android.com

Google IO video: Anatomy and physiology of Android: https://youtu.be/G-36noTCaiA

  • Also at: https://sites.google.com/site/io/anatomy--physiology-of-an-android
    
  • Watch lectures carefully and multiple times. Patterns and frames provided by Android.
    

Books:

  • OS Books: http://os-book.com
    
  • Concurrent programming in Java book: http://gee.cs.oswego.edu/dl/cpj/
    
  • POSA books: http://www.dre.vanderbilt.edu/~schmidt/POSA/
    

Lectures in Youtube:

Why Concurrency:

  • Simplify program structure
  • Increase performance
  • Improve responsiveness of apps

Course Overview:

Concurrency Challenges:

  • Accidental complexity: tools, use of C libraries, low level API (non POSIX threads in C UNIX)
    
  • Inherent complexity: deadlock, scheduling, synchronization
    
  • Wiki old school debugging: http://en.wikipedia.org/wiki/Trepanning
    
  • Heisenbug: http://en.wikipedia.org/wiki/Heisenbug
    
  • Multithreaded debugging techniques: http://www.drdobbs.com/cpp/multithreaded-debugging-techniques/199200938
    
  • Race condition: http://en.wikipedia.org/wiki/Race_condition
    
  • Dynamic analysis and debugging: http://www.dre.vanderbilt.edu/~schmidt/PDF/DSIS.pdf
    
  • Synchronization: http://en.wikipedia.org/wiki/Synchronization_(computer_science)
    
  • Deadlock: http://en.wikipedia.org/wiki/Deadlock
    
  • No Silver Bullet: http://en.wikipedia.org/wiki/No_Silver_Bullet
    
  • No Silver Bullet paper: http://faculty.salisbury.edu/~xswang/Research/Papers/SERelated/no-silver-bullet.pdf
    
  • Networked architecture:  http://www.dre.vanderbilt.edu/~schmidt/PDF/BC-schmidt.pdf
    

Overview of patterns and frameworks:

Other patterns in Android:

Threads:

Code examples:

HaMeR Framework:

Week2 Links:

Elements of concurrency Framework:

Clone this wiki locally