Principles of Operating Systems II: Systems Programming for Android

Video Lectures

Displaying all 26 video lectures.
Lecture 1
Overview of CS 282 and Android
Play Video
Overview of CS 282 and Android
This is the final version of a video produced from my August 21st course on Systems Programming with Android. It supersedes the version posted at http://www.youtube.com/watch?v=FpJ5vUmKwd0&feature=youtu.be and fixes some weird problems with another version that I uploaded earlier.
Lecture 2
Setting up the Android Development Environment
Play Video
Setting up the Android Development Environment
This lecture was presented by Zach McCormick on August 26th as part of my CS 282 course on Systems Programming with Android. It presents an overview of how to install and use the Android development environment. More material from this course is available at http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 3
An Overview of Patterns
Play Video
An Overview of Patterns
This video is from a lecture I gave on September 23rd, 2013 that presented an overview of patterns for my CS 282 course Systems Programming for Android. This lecture focused on what patterns are and outlined the history and contents of several class books on patterns that are relevant for Android. You can learn more about this course at http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 4
Overview of Frameworks (Parts 1 and 2 of a 3 part series)
Play Video
Overview of Frameworks (Parts 1 and 2 of a 3 part series)
This video presents the first two parts (of three parts) of my "Overview of Frameworks" lecture from the August 28th, 2013 course on "Systems Programming with Android". Check out http://www.dre.vanderbilt.edu/~schmidt/cs282/ for more information on this class, as well as links to other presentations and videos.
Lecture 5
Overview of Frameworks (Part 3 of 3) and Overview of Android Activities (Part 1 of 2)
Play Video
Overview of Frameworks (Part 3 of 3) and Overview of Android Activities (Part 1 of 2)
This video is from my CS 282: Systems Programming for Android lecture on September 2nd, 2013. It discusses Scope, Commonality, and Variability analysis in the context of frameworks and software-product lines in Android. It also provides an overview of Android Activities. Please see http://www.dre.vanderbilt.edu/~schmidt/cs282/ for all the video lectures and other course material for CS 282, which focuses on Systems Programming in Android.
Lecture 6
Overview of Android Activities (Part 2 of 2)
Play Video
Overview of Android Activities (Part 2 of 2)
This video is from my CS 282: Systems Programming for Android class that was presented on September 4th, 2013. It discusses how the Gang-of-Four Template Method pattern is used in Android and walks through an example Android app that uses Activities to display an address location on a map. The audio is not as crisp as usual due to technical problems, but it should be good enough to follow along. Please see http://www.dre.vanderbilt.edu/~schmidt/cs282/ for all the material in CS 282.
Lecture 7
Developing Android Apps Using Eclipse
Play Video
Developing Android Apps Using Eclipse
This video presents the the first four parts of my "Developing Android Apps Using Eclipse" lecture from the September 9th, 2013 course on "Systems Programming with Android". Check out http://www.dre.vanderbilt.edu/~schmidt/cs282/ for more information.
Lecture 8
Android Concurrency and Synchronization (Parts 1, 2, and 3)
Play Video
Android Concurrency and Synchronization (Parts 1, 2, and 3)
This video is from a lecture I gave on September 16th on Java concurrency mechanisms in Android. It focused on the motivation for concurrency, the accidental and inherent complexities of concurrent programming, and summarized the Java threading model. You can learn more about these topics in my CS 282 course on Systems Programming for Android, which is described at http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 9
Android Concurrency and Synchronization (parts 4 and 5)
Play Video
Android Concurrency and Synchronization (parts 4 and 5)
This video is from a lecture I gave on September 18th, 2013 on Android synchronization and concurrency mechanisms for my CS 282 course Systems Programming for Android. This lecture focused on Java monitor objects and the Monitor Object pattern from the POSA2 book. You can learn more about this course at http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 10
Android Synchronization and Concurrency Mechanisms (parts 6 and 7)
Play Video
Android Synchronization and Concurrency Mechanisms (parts 6 and 7)
This video is from a lecture I gave on September 23rd, 2013 on Android synchronization and concurrency mechanisms for my CS 282 course Systems Programming for Android. This lectured focused on Android concurrency idioms and mechanisms, including Loopers, Handlers and Runnables, Handlers and Messages, and AsyncTasks. You can learn more about this course at http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 11
Android Concurrency and Synchronization (part 8)
Play Video
Android Concurrency and Synchronization (part 8)
This video is from a lecture I gave on September 25th, 2013 on Android synchronization and concurrency mechanisms for my CS 282 course Systems Programming for Android. This lecture focused on how the Android Looper and Handlers apply the Thread-Specific Storage pattern. You can learn more about this course at http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 12
Android Network Programming (Parts 1 and 2)
Play Video
Android Network Programming (Parts 1 and 2)
This video is from a lecture I gave on September 30th, 2013 on Android network programming mechanisms for my CS 282 course Systems Programming for Android. This lecture focused on the motivations for and challenges of networked software and outlines the Android socket programming mechanisms. You can learn more about this course at http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 13
Android Concurrency and Synchronization (part 9)
Play Video
Android Concurrency and Synchronization (part 9)
This video is from a lecture I gave on October 2nd, 2013 on Android synchronization and concurrency mechanisms for my CS 282 course Systems Programming for Android. This lecture focused on how the Android Looper and Handlers implement the Active Object pattern. You can learn more about this course at http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 14
Android Concurrency and Synchronization (part 10)
Play Video
Android Concurrency and Synchronization (part 10)
This video is from a lecture I gave on October 7th, 2013 on Android synchronization and concurrency mechanisms for my CS 282 course Systems Programming for Android. This lecture focused on how the Android AsyncTask framework implements the Half-Sync/Half-Async pattern. You can learn more about this course at http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 15
Android Services and Local IPC (parts 1 and 2)
Play Video
Android Services and Local IPC (parts 1 and 2)
This video is from a lecture I gave on October 9th, 2013 on Android Services and local IPC mechanisms for my CS 282 course Systems Programming for Android. This lecture focused on how what Services are in Android, as well as provided an overview of so-called "Started Services". You can learn more about this course at http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 16
Android Services and Local IPC (parts 3 and 4)
Play Video
Android Services and Local IPC (parts 3 and 4)
This video is from a lecture I gave on October 14th, 2013 on Android Services and local IPC mechanisms for my CS 282 course Systems Programming for Android. This lecture focused on how to program so-called "Started Service"s are in Android, as well as provided an overview of the Messenger IPC mechanisms. You can learn more about this course at http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 17
Android Services and Local IPC (parts 5 and 6)
Play Video
Android Services and Local IPC (parts 5 and 6)
This video is from a lecture I gave on October 21st, 2013 on Android Services and local IPC mechanisms for my CS 282 course Systems Programming for Android. This lecture focused on how to program Android Broadcast Receivers and Pending Intends, with examples of how to use them to communicate between Services and Activities. You can learn more about this course at http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 18
Android Services and Local IPC (parts 7, 8, and 9)
Play Video
Android Services and Local IPC (parts 7, 8, and 9)
This video is from a lecture I gave on October 23rd, 2013 on Android Services and local IPC mechanisms for my CS 282 course Systems Programming for Android. This lecture focused on the Command Processor pattern and its application in Android's Intent Service framework, as well as an overview of so-called Bound Services. You can learn more about this course at http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 19
Android Services and Local IPC (parts 10, 11, 12, and 13)
Play Video
Android Services and Local IPC (parts 10, 11, 12, and 13)
This video is from a lecture I gave on October 28th, 2013 on Android
Services and local IPC mechanisms for my CS 282 course Systems
Programming for Android. This lecture focused on the programming
Bound Services, with coverage of Local Binders, Messengers,and an
initial overview of the Android Interface Definition Language (AIDL)
and Binder RPC. You can learn more about this course at
http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 20
Android Services and Local IPC (parts 14, 15, and16)
Play Video
Android Services and Local IPC (parts 14, 15, and16)
This video is from a lecture I gave on October 30th, 2013 on Android
Services and local IPC mechanisms for my CS 282 course Systems
Programming for Android. This lecture focused on the programming
Bound Services, with more detailed coverage of capabilities and
examples of Android Interface Definition Language (AIDL) and Binder
RPC. You can learn more about this course at
http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 21
Android Services and Local IPC (part 17)
Play Video
Android Services and Local IPC (part 17)
This video is from a lecture I gave on November 4th, 2013 on Android Services and local IPC mechanisms for my CS 282 course Systems Programming for Android. This lecture focused on the Activator pattern, which is used for both Android Started Services and Bound Service. You can learn more about this course at http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 22
Android Services and Local IPC (parts 18, 19, 20, and 21)
Play Video
Android Services and Local IPC (parts 18, 19, 20, and 21)
This video is from a lecture I gave on November 6th, 2013 on Android Services and local IPC mechanisms for my CS 282 course Systems Programming for Android. This lecture focused on the Activator, Proxy, and Broker patterns, which are used for both Android Started Services and Bound Services. You can learn more about this course at
http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 23
Android Services and Local IPC (parts 22, 23, and 24)
Play Video
Android Services and Local IPC (parts 22, 23, and 24)
This video is from a lecture I gave on November 11th, 2013 on Android Services and local IPC mechanisms for my CS 282 course Systems Programming for Android. This lecture focused on the Broker and Publisher-Subscriber patterns, which are used for Android Bound Services and Broadcast Receivers, respectively. You can learn more about this course at
http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 24
Android Persistent Storage and Content Providers (parts 1 and 2)
Play Video
Android Persistent Storage and Content Providers (parts 1 and 2)
This video is from a lecture I gave on November 13th, 2013 on Android persistent storage and Content Provider mechanisms for my CS 282 course Systems Programming for Android. This lecture focused on the SQLite and gave an overview of Content Providers. You can learn more about this course at
http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 25
Android Persistent Storage and Content Providers (parts 3, 4, and 5)
Play Video
Android Persistent Storage and Content Providers (parts 3, 4, and 5)
This video is from a lecture I gave on December 3rd, 2013 on Android persistent storage and Content Provider mechanisms for my CS 282 course Systems Programming for Android. This lecture focused on using Content Resolvers to access data managed by Content Providers, as well as describing the steps used to design, implement, and program Content Providers synchronously. You can learn more about this course at
http://www.dre.vanderbilt.edu/~schmidt/cs282/.
Lecture 26
Android Persistent Storage and Content Providers (parts 6, 7, and 8)
Play Video
Android Persistent Storage and Content Providers (parts 6, 7, and 8)
This video is from a lecture I gave on December 4th, 2013 on Android persistent storage and Content Provider mechanisms for my CS 282 course Systems Programming for Android. This lecture focused the steps used to design, implement, and program Content Providers asynchronously using the LoaderManager and AsyncQueryHandler frameworks. You can learn more about this course at
http://www.dre.vanderbilt.edu/~schmidt/cs282/.