link Source: www.coursera.org
list 6 sequences
assignment Level : Intermediate
chat_bubble_outline Language : English
language Subtitles : Korean, Serbian, French
card_giftcard 300 points
Users' reviews
4.3
starstarstarstarstar
Read review

Key Information

credit_card Free access
verified_user Fee-based Certificate
timer 30 hours in total

About the content

Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for many applications. Scala fuses functional and object-oriented programming in a practical package. It interoperates seamlessly with both Java and Javascript. Scala is the implementation language of many important frameworks, including Apache Spark, Kafka, and Akka. It provides the core infrastructure for sites such as Twitter, Tumblr and also Coursera. 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. You will also develop a solid foundation for reasoning about functional programs, by touching upon proofs of invariants and the tracing of execution symbolically. 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. The course is complemented by a series programming projects as homework assignments. Recommended background: You should have at least one year programming experience. Proficiency with Java or C# is ideal, but experience with other languages such as C/C++, Python, Javascript or Ruby is also sufficient. You should have some familiarity using the command line.

more_horiz Read more
more_horiz Read less
dns

Syllabus

  • Week 1 - Getting Started + Functions & Evaluation
    Get up and running with Scala on your computer. Complete an example assignment to familiarize yourself with our unique way of submitting assignments. In this week, we'll learn the difference between functional imperative programming. We step through the basics...
  • Week 2 - Higher Order Functions
    This week, we'll learn about functions as first-class values, and higher order functions. We'll also learn about Scala's syntax and how it's formally defined. Finally, we'll learn about methods, classes, and data abstraction through the design of a data struct...
  • Week 3 - Data and Abstraction
    This week, we'll cover traits, and we'll learn how to organize classes into hierarchies. We'll cover the hierarchy of standard Scala types, and see how to organize classes and traits into packages. Finally, we'll touch upon the different sorts of polymorphism ...
  • Week 4 - Types and Pattern Matching
    This week we'll learn about the relationship between functions and objects in Scala; functions *are* objects! We'll zoom in on Scala's type system, covering subtyping and generics, and moving on to more advanced aspects of Scala's type system like variance. Fi...
  • Week 5 - Lists
    This week we dive into Lists, the most commonly-used data structure in Scala.
  • Week 6 - Collections
    After a deep-dive into Lists, this week we'll explore other data structures; vectors, maps, ranges, arrays, and more. We'll dive into Scala's powerful and flexible for-comprehensions for querying data.
record_voice_over

Instructors

Martin Odersky
Professor
Computer Science

store

Content Designer

École Polytechnique Fédérale de Lausanne

The École polytechnique fédérale de Lausanne (EPFL, English: Swiss Federal Institute of Technology in Lausanne) is a research university in Lausanne, Switzerland, that specialises in physical sciences and engineering.

One of the two Swiss Federal Institutes of Technology, the school was founded by the Swiss Federal Government with the stated mission to:

Educate engineers and scientists to the highest international standing
Be a national center of excellence in science and technology
Provide a hub for interaction between the scientific community and the industry
EPFL is considered one of the most prestigious universities in the world for engineering and sciences, ranking 17th overall and 10th in engineering in the 2015 QS World University Rankings; 34th overall and 12th in engineering in the 2015 Times Higher Education World University Rankings.

assistant

Platform

Coursera

Coursera is a digital company offering massive open online course founded by computer teachers Andrew Ng and Daphne Koller Stanford University, located in Mountain View, California. 

Coursera works with top universities and organizations to make some of their courses available online, and offers courses in many subjects, including: physics, engineering, humanities, medicine, biology, social sciences, mathematics, business, computer science, digital marketing, data science, and other subjects.

Reviews
4.3 /5 Average
starstarstarstarstar
1
starstarstarstarstar
0
starstarstarstarstar
0
starstarstarstarstar
0
starstarstarstarstar
0
Content
5/5
Platform
5/5
Animation
3/5
Best Review

very good course by the creator of scala himself. The explanations are very clear and the exercises well chosen (not always easy)

Published on April 8, 2017
You are the designer of this MOOC?
What is your opinion on this resource ?
Content
5/5
Platform
5/5
Animation
5/5
April 8, 2017
starstarstarstarstar

very good course by the creator of scala himself. The explanations are very clear and the exercises well chosen (not always easy)