Master functional programming concepts using ML. Learn language design principles and advanced coding techniques.
Master functional programming concepts using ML. Learn language design principles and advanced coding techniques.
Dive deep into the fundamentals of programming languages with a focus on functional programming. This course, taught by top instructor Dan Grossman, introduces key concepts using ML as the primary language. Learn about recursion, higher-order functions, pattern matching, and more. Explore how different languages "fit together" to write more effective, elegant, and reusable code. This course is designed for intermediate programmers looking to enhance their understanding of language design and implementation. It's the first part of a three-course series, providing a comprehensive foundation in programming language concepts.
4.9
(1,861 ratings)
1,97,009 already enrolled
Instructors:
English
پښتو, বাংলা, اردو, 3 more
What you'll learn
Understand the fundamental concepts of functional programming
Master recursion and higher-order functions in ML
Learn pattern matching and its applications in programming
Explore type inference and polymorphism in language design
Gain proficiency in using ML's module system
Develop skills to analyze and compare different programming language features
Skills you'll gain
This course includes:
13.9 Hours PreRecorded video
2 quizzes, 3 programming assignments
Access on Mobile, Tablet, Desktop
FullTime access
Shareable certificate
Closed caption
Get a Completion Certificate
Share your certificate with prospective employers and your professional network on LinkedIn.
Created by
Provided by
Top companies offer this course to their employees
Top companies provide this course to enhance their employees' skills, ensuring they excel in handling complex projects and drive organizational success.
There are 6 modules in this course
This course provides a comprehensive introduction to programming language concepts with a strong emphasis on functional programming. Students learn fundamental principles of language design and implementation using ML as the primary vehicle. The curriculum covers key topics such as recursion, higher-order functions, pattern matching, type inference, polymorphism, and modules. Participants gain a deeper understanding of how different programming languages work, enabling them to write more effective and elegant code in any language. The course is structured to build a strong foundation in functional programming paradigms while also exploring broader concepts applicable across various programming languages.
Introduction and Course-Wide Information (Start Here)
Module 1 · 1 Hours to complete
Software Installation and Homework 0
Module 2 · 1 Hours to complete
Section 1 and Homework 1
Module 3 · 6 Hours to complete
Section 2 and Homework 2
Module 4 · 6 Hours to complete
Section 3 and Homework 3 -- and Course Motivation
Module 5 · 8 Hours to complete
Section 4 and Part-A Exam
Module 6 · 4 Hours to complete
Fee Structure
Payment options
Financial Aid
Instructor
Influential Educator and Researcher in Programming Languages
Dan Grossman has been teaching programming languages at the University of Washington since 2003. He has been honored as “teacher of the year” by his undergraduate students twice and awarded second place once. His research encompasses the theory, design, and implementation of programming languages, along with their connections to computer architecture and software engineering, resulting in over 50 peer-reviewed publications.
Testimonials
Testimonials and success stories are a testament to the quality of this program and its impact on your career and learning journey. Be the first to help others make an informed decision by sharing your review of the course.
4.9 course rating
1,861 ratings
Frequently asked questions
Below are some of the most commonly asked questions about this course. We aim to provide clear and concise answers to help you better understand the course content, structure, and any other relevant information. If you have any additional questions or if your question is not listed here, please don't hesitate to reach out to our support team for further assistance.