CS *253: Parallel Functional Programming with Java and Android

Douglas C. Schmidt
d.schmidt@vanderbilt.edu
Professor of Computer Science
School of Engineering
Vanderbilt University

Times and Location


Philosophy

Developing high quality Java parallel software is hard; developing high quality reusable parallel software is even harder, especially in a networked microservices environment. The principles, methods, and skills required to develop reusable software cannot be learned by generalities. This course therefore teaches students how reusable parallel programs can be designed, implemented, optimized, validated, maintained, and enhanced by applying effective object-oriented, functional, and reactive development practices, patterns, and frameworks.


Prerequisites


Course Logistics

Course Overview

Course Videos and Slides By Week

All lecture videos for this course will be available on my CS *253 YouTube playlist as they are created. I will also post links to the individual videos and PDF versions of the slides below. Please see this playlist for videos covering foundational Java functional programming features and classes, including lambda expressions, method references, and functional interfaces.

Programming Assignments

All assignments for this course will be available here as they are created.


Back to CS Courses home page.