CS 282: Principles of Operating Systems II: Systems Programming for Android

Douglas C. Schmidt, Vanderbilt University

Developing high quality distributed systems software is hard; developing high quality reusable distributed systems software is even harder. The principles, methods, and skills required to develop reusable software cannot be learned by generalities. Instead, developers must learn through experience how reusable software components and frameworks can be designed, implemented, optimized, validated, maintained, and enhanced by applying good development practices and patterns.

Designing applications for mobile devices presents unique challenges. User interface, mobile-specific technologies, and the importance of performance require special consideration. The Android SDK has its own interesting aspects to learn: the multi-touch model, accelerometer, important APIs will receive attention. Students will learn important development concepts applicable to any mobile device programming environment, as well as Android-specific APIs. CS 282 will provide an intensive focus on conceptual and practical aspects of designing, implementing, and debugging concurrent and networked software systems using Android middleware. Key topics covered in this course include:
* Developing, documenting, and testing applications using object-oriented frameworks associated with Android middleware.
* Reuse of patterns and software architectures
* Developing concurrent and networked software using Java.

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.

We will construct networked system components and applications using popular programming tools available on modern operating systems, such as make, emacs, and SVN. You are expected to be familiar with Java and Linux.

Сессии:
  • Детали не анонсированы
Характеристики онлайн курса:
  • Бесплатный:
  • Платный:
  • Сертификат:
  • MOOC:
  • Видеолекции:
  • Аудиолекции:
  • Email-курс:
  • Язык: Английский Gb

Отзывы

Пока никто не написал отзыв по этому курсу. Хотите быть первым?

Зарегистрируйтесь, чтобы оставить отзыв

Show?id=n3eliycplgk&bids=695438
Входит в подборки курсов:
Os Операционные системы
4 курс МИЭМ ВШЭ, 6 кредитов.
NVIDIA
Ещё курсы на эту тему:
Coursera_image_maayan Network Analysis in Systems Biology
An introduction to data integration and statistical methods used in contemporary...
34067_30ff_7 Online Courses - Anytime, Anywhere
Get to grips with installing the Titanium Studio for Windows and kick start...
Feamstercourseimage Software Defined Networking
In this course, you will learn about software defined networking and how it...
107082_5803_5 Mobile Game Development: Making Simple 2D-Games for Android
This course is a step-by-step training that covers everything you need to know...
97328_8645_5 C# Android Development Tutorial - Mono Tutorial - Udemy
Learn to create mobile applications for Android using Mono and C# in this introductory...
Ещё из рубрики «Компьютерные науки»:
Banner_ruby Ruby on Rails Tutorial: Learn From Scratch
This post is part of our “Getting Started” series of free text tutorials on...
Logo-30-128x128 NYU Course on Deep Learning (Spring 2014)
Lectures from the NYU Course on Deep Learning (Spring 2014) This is a graduate...
Cppgm C++ Grandmaster Certification
The C++ Grandmaster Certification is an online course in which participants...
Umnchem Computational Chemistry (CHEM 4021/8021)
Modern theoretical methods used in study of molecular structure, bonding, and...
Photo Machine Learning Course - CS 156
This is an introductory course by Caltech Professor Yaser Abu-Mostafa on machine...

© 2013-2019