Functional Programming in Scala

share ›
‹ links

Below are the top discussions from Reddit that mention this online Coursera specialization from École Polytechnique Fédérale de Lausanne.

Offered by École Polytechnique Fédérale de Lausanne. Program on a Higher Level. Write elegant functional code to analyze data that's big or ... Enroll for free.

Reddsera may receive an affiliate commission if you enroll in a paid course after using these buttons to visit Coursera. Thank you for using these buttons to support Reddsera.

Taught by
Martin Odersky
Professor
and 27 more instructors

Offered by
École Polytechnique Fédérale de Lausanne

This specialization includes these 5 courses.

Reddit Posts and Comments

12 posts • 255 mentions • top 35 shown below

r/scala • post
83 points • joshlemer
Coursera launches Functional Programming in Scala Specialization
r/scala • comment
8 points • JamieTidman

I currently work with Scala, and I came into it from a Java background.

This Coursera course was quite useful for me and some of my colleagues. It's run by Martin Odersky, who is the creator of Scala.

In my case, I was able to find a job as a Scala developer because:

  1. It was a full-stack role and I have experience with front-end dev
  2. The app I was hired for was a microservices architecture with some services in Java, some in Scala.

I didn't find the technical interview particularly hard, I did a very basic Scala code test (more than covered by any basic Scala course), and the rest was pretty standard data structure and CS fundamental stuff.

The Scala job market definitely favors candidates right now, so it's a good time to be looking for a Scala job.

r/apachespark • post
6 points • nokeechia
5 new courses to assist in learning Scala (culminating in big data analysis in Spark)
r/scala • comment
4 points • BigMeetch

I thought martin oderskys course on coursera was great! https://www.coursera.org/specializations/scala

r/scala • comment
4 points • some_coreano
r/scala • comment
3 points • porl

https://www.coursera.org/specializations/scala this is the one I'm going through

r/scalastudygroup • post
3 points • hanslower
Is anybody taking up the Coursera Specialization on Scala?How good is it?
r/scala • comment
2 points • BBQ_RIBZ

I highly recommend this course.

https://www.coursera.org/specializations/scala

I started learning Scala here, and although the course is a bit dated by now it’s probably still a great starting resource. They also have video tutorials about installing the necessary tools for Windows, Mac and Linux. If you have further trouble, you can always ask google, stack overflow, or here!

r/gatech • comment
4 points • CanJammer

We unfortunately don't have a class purely about functional programming right now. I know many other schools offer a class on it. I personally have done much of my FP learning online, since there are great courses online to get you started:

https://www.edx.org/course/introduction-functional-programming-delftx-fp101x-0

https://www.coursera.org/specializations/scala (FP course in Scala taught by the creator of Scala)

r/scala • comment
4 points • GazingIntoTheVoid

On Coursera there are a couple of courses you might be interested in. The Specialisation "Functional programming in Scala" is partly taught by Martin Odersky himself. I've taken a precursor to this a couple of years ago and found it well put together and interesting.

This course looks interesting as well: Effective Programming in Scala

r/scala • comment
3 points • The-_Captain

I'd recommend this strategy for studying any technology:

  1. Some basic course or book for the language. For Scala, I recommend at least the first course in the Functional Programming Specialization on Coursera and at most the first two. You can also do what's called in the community "The Red Book", either on its own instead of the MOOCs I linked before or in addition. Don't spend too much time here. You just need to be able to write Scala code after you're done, it doesn't need to be very good. The most common mistake people make when learning to program is spending too much time in stage 1. This is called "Tutorial Purgatory".
  2. Build stuff. I built a messaging server that connects between some client and SMS over Twilio. Now I am building a scraping library that creates infinite data streams out of HTTP queries. I learned a lot by just coding a ton in Scala, experimenting with different libraries to see what works and what doesn't and what I like. This is the most important stage. You should never leave it.
  3. As different styles pique your interest, get deeper in specialized fields. In Scala right now there is Spark/distributed big data (most people here hate on it, but it's still a massive employer in the Scala community), the Lightbend/Reactive Manifesto stack (I am personally a big fan of Akka stream) that's typically useful for distributed systems, the Typelevel/Cats Effect stack for functional programming, and the newest incomer, the Zio stack, which another stack/library for functional effects programming that's pivoting more and more to compete with Typelevel. This should be done at the same time as stage 2.

The hype (for good reason, it's fucking cool) right now in the community is around Zio and Cats Effect. Both are systems for describing side effects as immutable data structures, which is sometimes called a "free monad". Especially cool is that both offer optimized runtimes for evaluating this data structure that uses fibers and other optimizations.

​

I am planning to start this process now with low level programming in Rust and Zig, wish me luck :)

r/functionalprogramming • comment
1 points • met0xff

Hmm if you're going to do Scala anyway you can probably do Odersky's course, which is pretty popular afaik https://www.coursera.org/specializations/scala

r/scala • comment
1 points • MaximaxII

The Scala Moocs on Coursera are fun. You can probably skip the first two courses if you've read the book. If you'd like to try the language out in a project, you can do the Capstone project

r/apachespark • comment
1 points • mao1990

https://www.coursera.org/specializations/scala The first course of this series would be enough to know the basic Scala syntax. And the knowledge of SBT.

r/scala • comment
1 points • use_a_name-pass_word

Try this. It is taught by the creator of Scala

https://www.coursera.org/specializations/scala

r/apachespark • comment
1 points • sib_n

Coursera courses by Scala creator Martin Odersky: https://www.coursera.org/specializations/scala

r/dataengineering • comment
1 points • Umeume3

https://www.coursera.org/specializations/scala

About to start it myself for my work

r/scala • comment
1 points • ModeratelyStrange

I always recommend the Coursera courses.

r/scala • comment
1 points • PositiveZombie

I think this is the most commonly cited course regarding scala: https://www.coursera.org/specializations/scala

r/dataengineering • comment
1 points • novicedataengineer

If you prefer a video course to books, take a look at the functional programming in Scala course on Coursera. It's taught by Martin Odersky himself.

As for where is Scala used in DE - primarily while writing Spark jobs.

Good luck on your learning path :)

r/java • comment
2 points • C4dm1um

Give a try to FP with scala => https://www.coursera.org/specializations/scala

Then you can give a look at Kotlin to ease connecting things with Java.

And finally (since you are a backend developper) give a try to Reactive programming (Vert.x and mutiny are fine to start).

It will totally disturb you but at the end you'll better understand type systems and threading and that should change your everyday life with Java.

r/scala • comment
1 points • mypenissmellsoranges

There is a whole Scala specialization on Coursera from Martin Odersky. The guy is the creator of Scala, so I think he knows the stuff =)

You can check it out here: https://www.coursera.org/specializations/scala

r/AskProgramming • comment
1 points • DecisiveVictory
r/scala • comment
1 points • CSHunter33

I'm learning Scala in my spare time because a local company I admire uses it. I'm coming from a mostly Java background, with some university experience of Haskell. My plan is to learn the language and several of the tools in the company's stack, then use them in a personal project that I can list on my CV when I apply.

I've seen some of their roles listing Akka HTTP, http4s, Play, Akka Streams, Spark, Kafka, Kubernetes and Terraform.

Any suggestions for learning materials? I'm currently working through Scala and Functional Programming for Beginners on Udemy, although I am considering switching to Oderky's Scala Coursera specialisation and/or textbook (Programming in Scala 3e).

r/learnprogramming • comment
2 points • pacificmint

There are two courses on Coursera, taught by Martin Odersky, that are a good introduction to Scala and functional programming.

Edit: there is actually a whole Scala specialization now. But anyway, here are the two courses:

Functional Programming Principles in Scala

Functional Program Design in Scala

r/scala • comment
1 points • thrimbda

please take this! https://www.coursera.org/specializations/scala?

a series of courses taught by Martin Odersky, the creator of Scala, using SICP as the outline.

HIGHLY RECOMMENDED!!

r/scala • comment
1 points • me_yeah_me

I highly recommend completing the projects from at least the first 2 courses in https://www.coursera.org/specializations/scala#courses , taught by the designer of the language himself. These projects were real eye-openers for me, and made me change my way of thinking when it comes to Functional Programming. I don't think I would be exaggerating if I admitted that this could possibly have been one of the most life-changing courses I have ever come across. Besides, the fact that you can take these courses for free is the real icing on the cake.

r/scala • comment
1 points • dgs_sgd

Functional Programming Specialization in Scala on Coursera is a five course series that's great for learning Scala + Big Data. It starts off very beginner. The first three courses focus on Scala itself + some parallelization techniques and the last two teach about Spark. I personally completed up to the fourth course and found it very useful.

https://www.coursera.org/specializations/scala

r/dataengineering • comment
1 points • TheFragan

Can you give me your thoughts about this one : https://www.coursera.org/specializations/scala

r/scala • comment
1 points • Odersky

For books I'd recommend:

  • The Scala book. Available for free on the Scala website. https://docs.scala-lang.org/scala3/book/introduction.html
  • Programming in Scala by Bill Venners, Lex Spoon and myself, or Programming Scala by Dean Wampler, the classic introductions.
  • Hands-On Scala by Haoyi-Li, shows how to build real applications in Scala.

I also heard good things about "Functional Programming Simplified" by Alvin Alexander, but I have not read it yet.

For online courses I'd recommend:

  • https://www.coursera.org/specializations/scala. The courses have gotten over 700 thousands subscriptions so far.
  • https://www.coursera.org/learn/effective-scala. A more practice-oriented, faster introduction.

Or, out MOOCs on Coursera, that's another beginner-friendly option. My course

r/scala • comment
1 points • kag0

Certainly. A quick look at https://docs.scala-lang.org/tutorials/scala-for-java-programmers.html or https://learnxinyminutes.com/docs/scala/ should show that as a language, there's nothing terribly surprising in the basics. Interfaces become traits, <s become [s, there are no primitives, static members get moved to their own object, etc.

However, as you go along, https://www.coursera.org/specializations/scala will probably be immensely helpful to understand how/why code is written in this different non-side effecting way that you see in most of the scala ecosystem.

r/scala • comment
1 points • ModeratelyWeird

When it comes to designing REST services, Scala shines with tools like tapir because it allows you to reuse a lot of code between service endpoints, gives you automatic and perfect documentation, and everything is type-safe and checked at compile time. Not sure why you're looking into Scala, but for web services I see real practical benefits there.

I would advise against Play, mostly because it's a framework, its approach feels outdated, its future uncertain, and the documentation cannot compare with Akka. But with tapir the decision about the underlying library becomes a bit irrelevant, as it supports all the major players.

Besides web services, Scala excels at streaming. Especially for integrating with other services, I'd look into Alpakka. Again, the documentation is excellent. There are other interesting options for streaming, like fs2 and ZIO, but my experience with them is limited.

If you can give us some insights about your use cases, maybe we can come up with more concrete recommendations.

Finally, be aware that Scala is a powerful programming language which has a learning curve. I can recommend the courses on Coursera for getting into it.

r/scala • comment
1 points • Jaitl

i recommend you read something about JVM: 1. how JVM works, which parts 2. what kind of GC (garbage collector) exists

Scala: 1. official documentation: https://docs.scala-lang.org/tour/tour-of-scala.html 2. https://twitter.github.io/effectivescala/ 3. https://www.scala-exercises.org/ 4. https://www.coursera.org/specializations/scala

r/OMSCS • comment
1 points • farga1983

That's correct. For Moocs I took https://www.coursera.org/specializations/algorithms https://www.coursera.org/learn/algorithms-part1 https://www.coursera.org/learn/algorithms-part2 and had started https://www.coursera.org/specializations/scala

r/scala • comment
1 points • ivan_kurchenko

Apart from famous Odersky Coursera Course https://www.coursera.org/specializations/scala I'd recommend taking a look at https://rockthejvm.com - recently one candidate who passed an interview to my company was referring to them. This does not mean they guarantee employment, but a very good sign for me.