Write Highly Scalable, Responsive Applications
Next start date
October 9, 2017
Note: This program was previously titled Certificate in Scala Functional & Reactive Programming.
As the name would suggest, Scala functional programming is all about scaling up — increasing your organization’s ability to take advantage of available big data in the development of full-stack web applications and services for mission-critical systems. Combining Scala frameworks such as Spark and Akka allows you to build highly concurrent, distributed, and message-driven applications on the Java virtual machine (JVM).
In this three-course certificate program, you’ll acquire the skills needed to create resilient, elastically scalable, responsive and distributed web applications for big-data environments. You’ll learn to produce event-driven, fault-tolerant applications and gain an understanding of the tools and frameworks related to computing-intensive web services.
Technically oriented professionals with experience in software development, data analysis or data science.
Students in this program are expected to have fluency in a high-level, object-oriented programming language and good facility in program structure, basic data structures (sequences, trees, sets, maps), controls structures (iteration, recursion, exception handling) and object-oriented design. Typically, this means one to two years of professional development experience or a proven record of success in writing applications.
Successful completion of one or more of the following certificate programs may substitute for one year of programming experience: C++ Programming, C# Programming, Java Programming or Python Programming.
If you're not a native English speaker, you’ll need to have at least basic English language skills to enroll. To learn more, see English Language Proficiency Requirements.
To enroll, international students must have a visa that permits study in the United States. This program does not enable students to obtain or maintain F-1 visa status. For more information, see Admission Requirements for International Students.
Students are expected to have a laptop for use in class. Windows, MAC or Linux operating systems are all acceptable and must be capable of running either Intellij with Scala plugin or Scala IDE for Eclipse. The course will also require the use of SBT, the open source build tool for Scala and Java projects.
You earn the certificate by regularly attending class and successfully completing all required courses. For more information, see Completing Your Program.
Complete the courses listed below to earn the certificate. You may be able to take individual courses without enrolling in the certificate program; check the course pages for details.
Functional Programming With Scala
Concurrent, Distributed & Resilient Programming With Akka
Full Stack & Data Intensive Web Applications With Scala
Certificate in Scala Functional, Concurrent & Distributed Programming
Approved by the UW Department of Computer Science & Engineering.
Download the application form (PDF)
Apply online, or submit an application packet that includes:
We’re currently accepting applications and will be reviewing them in the order they’re received. We’ll accept applications until the program closes.
We’ll contact you within two weeks of receiving your application materials to let you know if you’ve been accepted to the program.
If you’re accepted, we’ll send you details about your first-term course, including information on paying your course fee. Your course fee is due four weeks before the first class.
With the exception of the one-time application fee, certificate program fees are charged on a quarterly basis. Payment is due when you register.
Course fees do not include any costs for class materials such as textbooks and software.
Drops, Withdrawals & Refunds
Attend class in person at one of our convenient locations. You’ll engage face to face with your classmates and instructors as part of a highly interactive curriculum. An online learning management system may be required to access some course materials and assignments.
Our special blended programs combine the convenience of online study with the vibrancy of in-person classes for a unique learning experience.
Not available for this program
Enjoy the flexibility of online learning, which allows you to participate in class activities, assignments and discussions on your schedule, from anywhere. Experience cutting-edge technology and a supportive, diverse learning community.
Senior Software Architect and Trainer, 47 Degrees
Software Engineer, Pivotal
If you’re thinking about heading back to school, you’re probably also wondering how you’ll pay for it. To help you figure that out, we’ve put together a list of ways to help fund your education.
Study distributed computing and the tools used to store and process data. Gain experience with the kinds of data flow situations commonly used to inform key business decisions.
Learn how to apply cutting-edge tools and techniques to extract meaning from data sets ranging in size from gigabytes to petabytes.
Build a solid understanding of Java fundamentals, basic syntax and object-oriented programming concepts, and become skilled at writing Java code and developing applications.
Study the probability concepts and statistical methods at the core of machine learning algorithms and explore ways to apply these techniques to address business needs and real-world challenges.
Acquire the skills to perform sophisticated data analysis and modeling, data mining and big data management using powerful statistical tools and R programming.