Course Synopsis
CS 282 will provide students with an intensive focus on conceptual and
practical aspects of designing, implementing, and debugging concurrent
and networked software systems using patterns and frameworks related
to Java and Android
middleware. Key topics covered in this course include:
- Developing, documenting, and testing applications using
object-oriented frameworks associated with
Java and Android middleware.
- Reuse of patterns and software architectures
- Developing concurrent and networked software using Java and Android.
Design and implementation based on patterns and frameworks are central
themes to enable the construction of reusable, extensible, efficient,
and maintainable networked system software. In addition, abstraction
based on patterns and OO techniques (such as separation of interface
from implementation) will be the central concepts and principles
throughout the course. These concepts and principles will enable you
to construct reusable, extensible, efficient, and maintainable
networked system software.
Patterns will be taught so that you will have good role models for
structuring their own designs, as well as to clearly articulate the
tradeoffs of alternative methods for designing systems. OO techniques
will be taught so that you will learn by example how to build highly
decentralized networked system software architectures that decouple
inter-dependencies between components. You are expected to be
familiar with Java and basic Android.
Course Contents
The following is a representative sample of the course contents, which
may change as the course progresses.
- Section 0: Course Introduction
- Module 1: Course Organization & Topics
- Section 1: Overview of Foundations
- Module 1: Overview of Android & Concurrency
- Module 2: Overview of Patterns & Frameworks
- Section 2: Android Concurrency
- Module 1: Java Concurrency Mechanisms
- Module 2: Android Concurrency Frameworks
- Section 3: Android Services, IPC, & Content Providers
- Module 1: Android Services & Communication Frameworks
- Module 2: Android Network Programming
- Module 3: Android Content Providers & Data Storage
- Section 4: Concurrency & Communication Patterns Applied in Android
- Module 1: Concurrency Patterns
- Module 2: Communication Patterns
Back to CS 282 home page.