Recommended background: You should have at least one year programming experience. write programs that effectively use parallel collections to achieve performance competently microbenchmark parallel code, express common algorithms in a functional style and solve them in parallel, reason about task and data parallel programs, By the end of this course you will be able to: Throughout, we'll apply these concepts through several hands-on examples that analyze real-world data, such as popular algorithms like k-means clustering. We'll start the nuts and bolts how to effectively parallelize familiar collections operations, and we'll build up to parallel collections, a production-ready data parallel collections library available in the Scala standard library. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. ![]() With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. This course is intended to be taken after Functional Programming Principles in Scala. You should have some familiarity with using the command line. Proficiency with Java or C# is ideal, but experience with other languages such as C/C++, Python, Javascript or Ruby is also sufficient. We will also look at purely functional alternatives to mutable state, using infinite data structures or functional reactive programming. We will explore the consequences of combining functions and state. Several parts of this course deal with the question how functional programming interacts with mutable state. Finally, you will learn how to leverage the ability of the compiler to infer values from types. You’ll also learn some best practices on how to write good Scala code in the real world. We'll work on larger and more involved examples, from state space exploration to random testing to discrete circuit simulators. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. In this course you will learn how to apply the functional programming style in the design of larger Scala applications. Last, you should have some familiarity with using the command line. You should have some background in mathematics (e.g., algebra, logic, proof by induction). Proficiency with Java or C# is ideal, but experience with other languages such as C/C++, Python, Javascript, or Ruby is also sufficient. Recommended background: You should have at least one year of programming experience. The course is complemented by a series of programming projects as homework assignments. ![]() The course is hands-on most units introduce short programs that serve as illustrations of important concepts and invite you to play with them, modifying and improving them. You will also develop a solid foundation for reasoning about functional programs, by touching upon proofs of invariants and the tracing of execution symbolically. In this course, you will discover the elements of the functional programming style and learn how to apply them usefully in your daily programming tasks, such as modeling business domains or implementing business logic. ![]() It provides the core infrastructure for sites such as Twitter, Netflix, Zalando, and also Coursera. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It interoperates seamlessly with both Java and Javascript. Scala fuses functional and object-oriented programming in a practical package. This trend is driven by the adoption of Scala as the main programming language for many applications. Functional programming is becoming increasingly widespread in industry.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |