Classroom -- Monday and Wednesday from 8:40-9:55am in the Engineering Science Building room 48.
Final exam time will be discussed in class.
Philosophy
Developing high quality Java concurrent and parallel microservices is
hard; developing high quality reusable concurrent and parallel
microservices is even harder. The principles, methods, and skills
required to develop reusable microservices cannot be learned by
generalities. This course therefore teaches students how reusable
concurrent and parallel microservices can be designed, implemented,
optimized, validated, maintained, and enhanced by applying effective
object-oriented, functional, and reactive development practices,
patterns, and frameworks.
Prerequisites
Proficiency in Java, i.e., as covered in CS 1101
Proficiency in software patterns, i.e., as covered in CS 3251
Knowledge of email, the Web, and online discussion forums
Awareness of--and adherence to--the Vanderbilt University Honor Code that governs all work in this course (e.g. tests, quizzes, homework assignments, etc.), which must be done individually and in a "closed-book" manner (i.e., no outside help, no notes, no Internet, etc.)
All lecture videos for this course will be available on my CS
*891 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 lecture videos covering foundational Java functional
programming features and classes, including lambda expressions, method
references, and functional interfaces and this
playlist for lectures videos covering Spring Web
platform.