This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming. The course uses the languages ML, Racket, and Ruby as vehicles for teaching the concepts, but the real intent is to teach enough about how any language “fits together” to make you more effective programming in any language -- and in learning new ones.

Programming Languages, Part A
Ends in 3 days! Save 40% on your access to 10,000+ programs and make a real impact in your career. Save now.

Programming Languages, Part A

Instructor: Dan Grossman
Top Instructor
207,448 already enrolled
Included with Learn more
Ask Coursera
Gain insight into a topic and learn the fundamentals.
Intermediate level
Some related experience required
3 weeks to complete
at 10 hours a week
Flexible schedule
Learn at your own pace
Skills you'll gain
Tools you'll learn
Details to know

Shareable certificate
Add to your LinkedIn profile
Taught in English
See how employees at top companies are mastering in-demand skills

There are 6 modules in this course
Instructor

Offered by
Explore more from Software Development
Status: PreviewUniversity of Washington
Status: PreviewUniversity of Washington
Status: Free TrialUniversity of California, Santa Cruz
Status: PreviewKorea Advanced Institute of Science and Technology(KAIST)
Why people choose Coursera for their career

Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."

Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."

Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."

Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
¹ Some assignments in this course are AI-graded. For these assignments, your data will be used in accordance with Coursera's Privacy Notice.




