강의

멘토링

커뮤니티

Programming

/

Programming Language

Getting started with functional programming in Swift

This course is designed for developers who are new to functional programming, and is comprised of theory and practice to help them gradually change their existing way of thinking.

(4.5) 10 reviews

158 learners

3시간 만에 완강할 수 있는 강의 ⏰
iOS
Swift
Functional Programming

Reviews from Early Learners

What you will gain after the course

  • Basic concepts of functional programming

  • Implementing a practical project using Swift

  • Refactoring an existing program to a functional programming style

  • Functional programming techniques for solving concurrency problems

Get a preview of what you'll learn by watching the introductory video above.

Things to learn

With the growing interest in functional programming, this course begins with a basic understanding of functional programming, then moves on to practical projects and practical applications. You'll learn how to convert existing source code to functional programming, developing a natural and practical understanding of functional programming. Ultimately, you'll develop an iOS app with a UI, mastering design techniques and practical application methods.

Part 1: Concepts of functional programming Part 2: Structured to allow hands-on learning of frequently used techniques Part 3: Converting an existing program to functional programming Part 4: Developing an iOS app that applies UI


Functional Programming, Getting Started with Swift - Swift FP

This course is designed for those who, no matter how hard they try to understand Functional Programming (FP), find its fundamental structure overwhelmingly unfamiliar, its differences from OOP, and its inconvenient and challenging nature. This special lecture is designed for those new to FP, and it combines theory and practice to help them gradually shift their existing mindset.
  • Case-based, not theory-based
  • Explain with direct code rather than explaining difficult concepts or terms.
  • It is structured as a hands-on course so that you can learn by typing directly.
  • Pair programming method allows learning functional thinking and programming process.
  • Includes projects that proceed from functional design to UI app implementation.

  • Operating environment: Mac OS, XCode 9 or later
  • Prerequisites: Swift 4.x
Functional programming is something that many developers want to learn now.
In recent years, interest in functional programming (FP) has grown significantly. Discussions about FP have become a common sight at meetups and seminars across various fields. In particular, we often see examples of refactoring existing code using FP techniques, and we often hear encouragement to widely adopt this beneficial approach. However, given that many developers are accustomed to the object-oriented programming paradigm, transitioning to a new paradigm requires significant effort. This is different from learning a new language and mastering its syntax.
Why is it difficult to move to a functional programming paradigm?
A programmer's cognitive system (paradigm) is deeply involved in every process, from designing the program structure to writing the source code. Assuming this programmer has spent their entire life programming within the object-oriented programming paradigm, learning functional programming anew can present the following challenges:
  • The very idea of not changing the value of a variable feels strange. To put it more developer-friendly, the very idea of programming without state feels incredibly awkward.
  • The concept of "currying" in FP is also strange. I don't understand what it means to create a function that creates a function that creates a function (that's not a typo).
  • It's strange to control the behavior of a program without changing its data. It just feels weird.

Helpful people

  • Anyone who knows Swift
  • Anyone who wants to learn functional programming
  • Those who have learned functional programming but are unable to use it in practice
  • Those who want to apply functional programming in practice
  • Those who want to develop services where concurrency and asynchrony are important
  • People who are worried about writing concise source code
  • Anyone interested in learning FP

Introduction of knowledge sharers

Developer Song Chi-won
A mobile developer with 15 years of experience. I'm a passionate mobile developer and have been working on iOS since 2008.
  • iOS Meetup "Let Us: Go!" Presenters for Fall 2017, Spring 2018, and Summer 2018. All topics were FP-related!
  • Embedded/Mobile Software Programmer
  • Embedded/Application Programming/Arduino/3D Printer Instructor
  • Ministry of Employment and Labor's Spec-Transcending Mentor School Mentor
  • Embedded Software Industry Association member
  • Blog , GitHub
If you have any suggestions for additions to the course or questions, please post them in the "Questions" section. This course was created through a partnership between instructor Song Chi-won and Programmers.

Recommended for
these people

Who is this course right for?

  • Anyone familiar with the Swift language

  • Anyone who wants to understand the evolution of programming paradigms

  • Anyone who wants to apply functional programming to a practical project

  • Anyone who wants to convert an existing code base to functional programming

Hello
This is

158

Learners

10

Reviews

2

Answers

4.5

Rating

1

Course

Curriculum

All

29 lectures ∙ (1hr 25min)

Published: 
Last updated: 

Reviews

All

10 reviews

4.5

10 reviews

  • ho201280577님의 프로필 이미지
    ho201280577

    Reviews 1

    Average Rating 3.0

    3

    55% enrolled

    • sanghopark13714님의 프로필 이미지
      sanghopark13714

      Reviews 1

      Average Rating 5.0

      5

      100% enrolled

      関数型プログラミングが何であるかがわかりました。

      • eossu님의 프로필 이미지
        eossu

        Reviews 1

        Average Rating 5.0

        5

        100% enrolled

        一人で分かりにくい部分が多かったのですが、シンプルで直感的な例でわかりやすく説明していただきありがとうございます。

        • kater1020191님의 프로필 이미지
          kater1020191

          Reviews 1

          Average Rating 5.0

          5

          86% enrolled

          本当に良いです。直接問題を解決する過程があり、役に立ちます。

          • h2is12340448님의 프로필 이미지
            h2is12340448

            Reviews 6

            Average Rating 5.0

            5

            100% enrolled

            とても面白くて不思議でした

            $38.50

            Similar courses

            Explore other courses in the same field!