Write Highly Scalable, Responsive Applications
Next start date
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
Reactive & Concurrent Programming With Akka
Web & Data Tier Application With Scala
Certificate in Scala Functional, Concurrent & Distributed Programming
Approved by the UW Department of Computer Science & Engineering.
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
Courses are streamed online in real time from the classroom. You interact with your instructors and fellow students via chat, using Adobe Connect web conferencing software. Assignments and other course materials are delivered through Canvas, a web-based learning management system that also serves as a communications hub.For added flexibility, each quarter you may view recordings of up to 40 percent of your class sessions instead of attending in real time. You also can attend the classroom sessions in person if space is available.
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.