• 新华社评论员:聚焦新目标 开启新征程 2019-04-14
  • 德州齐河司法所开展人民调解“回头看”工作 2019-04-14
  • 辽宁:电商成为精准扶贫的“利器” 2019-03-28
  • 人民网评:教师欠薪为何又成新闻了? 2019-03-23
  • 张继科状态低迷 刘国梁倍感压力 2019-03-23
  • 湖北浠水十月村经济史料及其研究价值 2019-03-17
  • 双色球走势图表近50期:Scala 功能编程专项课程

    Functional Programming in Scala

    体彩排列3和值走势图 www.3l5g.net Program on a Higher Level. Write elegant functional code to analyze data that’s big or small

    洛桑联邦理工学院

    Coursera

    计算机

    普通(中级)

    5 个月

    • 英语, 法语, 韩语, 其他
    • 1413

    课程概况

    Discover how to write elegant code that works the first time it is run.

    This Specialization provides a hands-on introduction to functional programming using the widespread programming language, Scala. It begins from the basic building blocks of the functional paradigm, first showing how to use these blocks to solve small problems, before building up to combining these concepts to architect larger functional programs. You’ll see how the functional paradigm facilitates parallel and distributed programming, and through a series of hands on examples and programming assignments, you’ll learn how to analyze data sets small to large; from parallel programming on multicore architectures, to distributed programming on a cluster using Apache Spark. A final capstone project will allow you to apply the skills you learned by building a large data-intensive application using real-world data.

    你将学到什么

    Write purely functional programs using recursion, pattern matching, and higher-order functions

    Design immutable data structures

    Write programs that effectively use parallel collections to achieve performance

    Manipulate data with Spark and Scala

    包含课程

    第 1 门课程
    Scala 函数式程序设计原理
    课程概述
    函数式编程在工业界的应用日趋广泛。Scala作为众多应用使用的主要语言大力推进了这一趋势。Scala融合了函数式编程和面向对象编程的有点,可以和Java以及JavaScript无缝衔接。很多重量级的应用框架像Apache Spark,Kafka以及Akka都是使用Scala实现的。而这些应用框架正是很多网站的核心基础框架,像Twitter,Tumblr 和Coursera。

    这门课程会带你认识函数式编程风格,以及如何把这种风格应用于日常的生产开发中。通过探索函数编程中广泛存在的不可变元素,追踪程序运行过程中函数标记的变化,你也会对函数式编程的原理有深刻认识。

    这门课程注重实践,课程中的大部分单元都会使用一些简短的程序来阐述基本原理和概念,听众可以试着运行这些程序并尝试改写它们。这门课程附带有一些列的编程项目作为家庭作业。

    学习目标,完成这门课程的学习后,你会:

    -理解函数式编程的原理
    -会使用递归,模式识别,高级函数
    编写纯函数式程序
    -会在函数式程序中使用对象和类
    -会设计不可变的数据结构
    -会分析函数的性质
    -理解函数式编程的泛型类型

    听众最好有以下背景:至少一年的编程经验,最好能熟练掌握Java或者C#,但是使用过其他语言像是 C/C++, Python, Javascript或者Ruby也足以上这门课。熟悉命令行编程。

    第 2 门课程
    Functional Program Design in Scala
    课程概述
    In this course you will learn how to apply the functional programming style in the design of larger applications. You'll get to know important new functional programming concepts, from lazy evaluation to structuring your libraries using monads. We'll work on larger and more involved examples, from state space exploration to random testing to discrete circuit simulators. You’ll also learn some best practices on how to write good Scala code in the real world.

    Several parts of this course deal with the question how functional programming interacts with mutable state. We will explore the consequences of combining functions and state. We will also look at purely functional alternatives to mutable state, using infinite data structures or functional reactive programming.

    Learning Outcomes. By the end of this course you will be able to:

    - recognize and apply design principles of functional programs,
    - design functional libraries and their APIs,
    - competently combine functions and state in one program,
    - understand reasoning techniques for programs that combine
    functions and state,
    - write simple functional reactive applications.

    第 3 门课程
    并行编程
    课程概述
    With every smartphone and computer now boasting multiple processors, the use of functional ideas to facilitate parallel programming is becoming increasingly widespread. In this course, you'll learn the fundamentals of parallel programming, from task parallelism to data parallelism. In particular, you'll see how many familiar ideas from functional programming map perfectly to to the data parallel paradigm. 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. Throughout, we'll apply these concepts through several hands-on examples that analyze real-world data, such as popular algorithms like k-means clustering.

    Learning Outcomes. By the end of this course you will be able to:

    - reason about task and data parallel programs,
    - express common algorithms in a functional style and solve them in parallel,
    - competently microbenchmark parallel code,
    - write programs that effectively use parallel collections to achieve performance

    第 4 门课程
    Big Data Analysis with Scala and Spark
    课程概述
    Manipulating big data distributed over a cluster using functional concepts is rampant in industry, and is arguably one of the first widespread industrial uses of functional ideas. This is evidenced by the popularity of MapReduce and Hadoop, and most recently Apache Spark, a fast, in-memory distributed collections framework written in Scala. In this course, we'll see how the data parallel paradigm can be extended to the distributed case, using Spark throughout. We'll cover Spark's programming model in detail, being careful to understand how and when it differs from familiar programming models, like shared-memory parallel collections or sequential Scala collections. Through hands-on examples in Spark and Scala, we'll learn when important issues related to distribution like latency and network communication should be considered and how they can be addressed effectively for improved performance.

    Learning Outcomes. By the end of this course you will be able to:

    - read data from persistent storage and load it into Apache Spark,
    - manipulate data with Spark and Scala,
    - express algorithms for data analysis in a functional style,
    - recognize how to avoid shuffles and recomputation in Spark,

    第 5 门课程
    Functional Programming in Scala Capstone
    课程概述
    In the final capstone project you will apply the skills you learned by building a large data-intensive application using real-world data.

    You will implement a complete application processing several gigabytes of data. This application will show interactive visualizations of the evolution of temperatures over time all over the world.

    The development of such an application will involve:
    — transforming data provided by weather stations into meaningful information like, for instance, the average temperature of each point of the globe over the last ten years ;
    — then, making images from this information by using spatial and linear interpolation techniques ;
    — finally, implementing how the user interface will react to users’ actions.

    Self-Driving Cars. Become an autonomous vehicle engineer.
    声明:MOOC中国发布之课程均源自下列机构,版权均归他们所有。本站仅作报道收录并尊重其著作权益,感谢他们对MOOC事业做出的贡献!(排名不分先后)
    • Coursera
    • edX
    • OpenLearning
    • FutureLearn
    • iversity
    • Udacity
    • NovoEd
    • Canvas
    • Open2Study
    • Google
    • ewant
    • FUN
    • IOC-Athlete-MOOC
    • World-Science-U
    • Codecademy
    • CourseSites
    • opencourseworld
    • ShareCourse
    • gacco
    • MiriadaX
    • JANUX
    • openhpi
    • Stanford-Open-Edx
    • 网易云课堂
    • 中国大学MOOC
    • 学堂在线
    • 顶你学堂
    • 华文慕课
    • 好大学在线CnMooc
    • 以及更多...

    © 2008-2018 www.3l5g.net 慕课改变你,你改变世界

  • 新华社评论员:聚焦新目标 开启新征程 2019-04-14
  • 德州齐河司法所开展人民调解“回头看”工作 2019-04-14
  • 辽宁:电商成为精准扶贫的“利器” 2019-03-28
  • 人民网评:教师欠薪为何又成新闻了? 2019-03-23
  • 张继科状态低迷 刘国梁倍感压力 2019-03-23
  • 湖北浠水十月村经济史料及其研究价值 2019-03-17
  • 排列五和值走势图 澳客网首页 黑龙江时时彩三星综合走势图 体彩浙江飞鱼开奖结果 竞彩足球胜平负联盟 奥客竟彩比分直播 奥客竟彩比分直播 秒速时时彩预测 天津时时彩遗漏最大值 河南福利彩票销售额 河南快赢481app下载 极速飞艇全天走势图 江西多乐彩出号走势图-彩乐乐 云南时时彩开奖结果表 天津老时时彩开奖结果 河北时时彩软件手机版