We may earn an affiliate commission when you visit our partners.
Gerald Britton

Python is one of the most popular programming languages in the world today. Functional programming is also enjoying a resurgence of popularity. This course shows you how to marry the two and apply functional programming principles in Python.

Read more

Python is one of the most popular programming languages in the world today. Functional programming is also enjoying a resurgence of popularity. This course shows you how to marry the two and apply functional programming principles in Python.

Functional programming (or FP) is a fifty-year-old idea that is becoming more and more relevant in building low-fault, high-concurrency systems. In this course, Functional Programming with Python 2, you will learn six essential paradigms of FP and how to implement them in Python. You will learn how to recognize problems that lend themselves to functional solutions, how to implement them professionally, and how they can be used to make your programs more robust and succinct. When you're finished with this course, you will be well on your way to adapting a functional style of programming to your Python projects.

Enroll now

What's inside

Syllabus

Course Overview
Introducing Functional Programming
First Class Functions
Pure Functions
Read more
Immutable Variables
Lazy Evaluation
Recursion
Simplifying Condition Testing with Matching
Summary

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Taught by Gerald Britton, well-known for their work in this field
Discusses functional programming, which is a topic of growing relevance in the tech industry
Suitable for students with experience in functional programming who want to apply it in Python

Save this course

Save Functional Programming with Python 2 to your list so you can find it easily later:
Save

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Functional Programming with Python 2 with these activities:
Review Python Syntax
Strengthen pre-requisite foundation for better course comprehension.
Browse courses on Python
Show steps
  • Review Python syntax using documentation or online resources
  • Write a few simple Python programs to practice
Read Functional Programming in Scala
Provide a high-level overview of ideas from the course to improve context and retention.
Show steps
  • Acquire the book
  • Read the preface and skim the table of contents
  • Read chapters 1-3
Code Exercises on Lambda Functions
Practice the use of lambda functions to build familiarity and improve recall.
Browse courses on Lambda Functions
Show steps
  • Go to a coding practice website
  • Solve 10-15 practice drills
Five other activities
Expand to see all activities and additional details
Show all eight activities
Tutorial on Pure Functions
Solidify the understanding of pure functions
Browse courses on Pure Functions
Show steps
  • Find a tutorial on pure functions
  • Follow the tutorial and complete the exercises
Join a Study Group on Functional Programming
Enhance understanding through collaboration and discussion with peers.
Browse courses on Functional Programming
Show steps
  • Find a study group focused on functional programming
  • Attend the study group meetings regularly
  • Participate in discussions and ask questions
Blog Post on Recursion
Develop a deeper understanding of recursion by explaining it to others.
Browse courses on Recursion
Show steps
  • Brainstorm ideas for a blog post on recursion
  • Write a blog post including examples
  • Publish the blog post
Develop a Python Program Using Functional Principles
Apply course concepts in a practical setting to reinforce learning.
Browse courses on Software Development
Show steps
  • Design a Python program using functional programming principles
  • Write and test the program
  • Document the program
Participate in a Coding Competition Focused on Functional Programming
Challenge understanding and expose to real world application.
Browse courses on Functional Programming
Show steps
  • Find a coding competition focused on functional programming
  • Prepare for the competition by practicing and studying
  • Participate in the competition

Career center

Learners who complete Functional Programming with Python 2 will develop knowledge and skills that may be useful to these careers:
Data Scientist
Data scientists use Python, including its functional programming capabilities, extensively. Functional programming helps data scientists analyze data more efficiently and write code that is more concise and easier to read, which is essential in big data environments. By mastering the concepts taught in this course, you'll gain valuable skills to excel as a data scientist.
Machine Learning Engineer
In the field of machine learning, functional programming is used for various tasks such as data wrangling, feature engineering, and model building. Functional programming principles promote code reusability, making it easier to manage complex machine learning pipelines. This course provides the foundation you need to use functional programming effectively in machine learning, giving you an edge in this rapidly growing domain.
Software Developer
Functional programming is gaining popularity in the software development industry. As a software developer, taking this course will enable you to stay ahead of the curve and use functional programming techniques to build robust and efficient applications. The focus on immutable variables and pure functions in the course directly translates to writing reliable and maintainable code, which is highly valued by employers.
Data Analyst
Data analysts heavily rely on Python for data cleaning, manipulation, and analysis. Functional programming techniques, covered in this course, are particularly useful for data analysts, as they enable efficient data processing and concise code, making it easier to handle large datasets and extract valuable insights.
Quantitative Analyst
Quantitative analysts use Python for financial modeling, data analysis, and risk assessment. This course delves into the practical applications of functional programming in quantitative finance, providing you with the skills to perform complex financial calculations more efficiently. The focus on pure functions and immutability ensures reliable and accurate results, which is vital in the finance industry.
Business Analyst
Business analysts use Python for data analysis, modeling, and forecasting. Functional programming techniques can empower business analysts to automate repetitive tasks, build robust data pipelines, and extract insights from large datasets more efficiently. This course provides a solid foundation in functional programming, helping business analysts make more informed decisions and drive business outcomes.
Web Developer
Web developers can leverage functional programming to create more modular, maintainable, and scalable web applications. This course covers the practical aspects of functional programming in web development, teaching you how to write concise and reusable code. By mastering these techniques, you'll be well-equipped to build high-performing web applications.
Systems Administrator
Systems administrators use Python for automating tasks, managing infrastructure, and troubleshooting issues. Functional programming techniques can enhance the efficiency and reliability of system administration tasks. This course provides a solid foundation in functional programming, enabling you to write robust and maintainable scripts and automate complex tasks, making you a more effective systems administrator.
Database Administrator
Database administrators use Python for database management tasks, including data manipulation, optimization, and backup. Functional programming techniques can help database administrators automate complex data management processes, write more efficient queries, and improve database performance. This course equips you with the skills to apply functional programming principles in database administration, enhancing your ability to manage and maintain databases effectively.
DevOps Engineer
DevOps engineers use Python for building and maintaining continuous integration and continuous delivery (CI/CD) pipelines. Functional programming techniques can help DevOps engineers create more reliable and efficient pipelines by allowing them to compose smaller, reusable functions. This course provides the necessary knowledge to apply functional programming principles in DevOps, enabling you to automate and streamline the software development process.
Cloud Engineer
Cloud engineers use Python for managing cloud infrastructure and services. Functional programming techniques can help cloud engineers build more scalable and resilient cloud systems by promoting code reusability and immutability. This course provides a foundation in functional programming, enabling you to develop and deploy cloud solutions more effectively, making you a valuable asset in the cloud computing domain.
Quality Assurance Analyst
Quality assurance analysts use Python for testing and validating software applications. Functional programming techniques can help quality assurance analysts write more reliable and maintainable test scripts. This course provides a foundation in functional programming, enabling you to develop effective test cases and contribute to the delivery of high-quality software products.
Technical Writer
Technical writers use Python for generating documentation and tutorials. Functional programming principles, such as immutability and pure functions, can help technical writers create more accurate and consistent documentation. This course provides the necessary knowledge to apply functional programming techniques in technical writing, enabling you to produce high-quality documentation that is easier to understand and maintain.
UX Designer
UX designers use Python for prototyping and testing user interfaces. Functional programming techniques, such as immutability, can help UX designers create more consistent and maintainable prototypes. This course provides a foundation in functional programming, enabling you to develop interactive prototypes more efficiently and contribute to the design of user-friendly products.
Product Manager
Product managers use Python for data analysis and understanding user behavior. Functional programming techniques, such as lazy evaluation, can help product managers optimize product features and make data-driven decisions. This course provides a foundation in functional programming, enabling you to analyze product usage data more efficiently and gain valuable insights to drive product strategy.

Reading list

We've selected nine books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Functional Programming with Python 2.
Provides a comprehensive introduction to functional programming in Python, covering topics such as first-class functions, immutability, and recursion. It valuable resource for anyone looking to learn more about functional programming in Python.
Provides a practical introduction to functional programming using Haskell. It covers topics such as lazy evaluation, monads, and concurrency. It valuable resource for anyone looking to learn more about functional programming in a practical context.
Provides a rigorous introduction to purely functional data structures. It covers topics such as lists, trees, and graphs. It valuable resource for anyone looking to learn more about the theoretical foundations of functional programming.
Provides a comprehensive introduction to programming. It covers topics such as data structures, algorithms, and design patterns. It valuable resource for anyone looking to learn more about the fundamentals of programming.
Classic introduction to computer science. It covers topics such as data structures, algorithms, and programming languages. It valuable resource for anyone looking to learn more about the fundamentals of computer science.
Provides a comprehensive introduction to programming in Haskell. It covers topics such as syntax, types, and libraries. It valuable resource for anyone looking to learn more about programming in Haskell.
Provides a comprehensive introduction to functional programming in Scala. It covers topics such as syntax, types, and libraries. It valuable resource for anyone looking to learn more about programming in Scala.
Provides a gentle introduction to category theory for programmers. It covers topics such as categories, functors, and natural transformations. It valuable resource for anyone looking to learn more about the theoretical foundations of functional programming.
Provides a comprehensive introduction to logic in computer science. It covers topics such as propositional logic, predicate logic, and modal logic. It valuable resource for anyone looking to learn more about the theoretical foundations of functional programming.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Functional Programming with Python 2.
Functional Programming in Python 3
Most relevant
Scala 2: The Big Picture
Most relevant
Functional Program Design in Scala (Scala 2 version)
Functional Program Design in Scala
Applying Functional Principles in C# 6
Functional Programming Principles in Scala (Scala 2...
Functional Programming Principles in Scala
Applying Functional Programming Techniques in Java 8
Software Development with ChatGPT: Generating Code with AI
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser