Save for later

Programming Languages, Part C

[As described below, this is Part C of a 3-part course. Participants should complete Parts A and B first -- Part C "dives right in" and refers often to material from Part A and Part B.] 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. This course is neither particularly theoretical nor just about programming specifics -- it will give you a framework for understanding how to use language constructs effectively and how to design correct and elegant programs. By using different languages, you will learn to think more deeply than in terms of the particular syntax of one language. The emphasis on functional programming is essential for learning how to write robust, reusable, composable, and elegant programs. Indeed, many of the most important ideas in modern languages have their roots in functional programming. Get ready to learn a fresh and beautiful way to look at software and how to have fun building it. The course assumes some prior experience with programming, as described in more detail in the first module of Part A. Part B assumes successful completion of Part A. The course is divided into three Coursera courses: Part A, Part B, and Part C. As explained in more detail in the first module of Part A, the overall course is a substantial amount of challenging material, so the three-part format provides two intermediate milestones and opportunities for a pause before continuing. The three parts are designed to be completed in order and set up to motivate you to continue through to the end of Part C. Week 1 of Part A has a more detailed list of topics for all three parts of the course, but it is expected that most course participants will not (yet!) know what all these topics mean.

Get Details and Enroll Now

OpenCourser is an affiliate partner of Coursera and may earn a commission when you buy through our links.

Get a Reminder

Send to:
Rating 4.9 based on 66 ratings
Length 4 weeks
Effort 8-16 hours/week
Starts Nov 21 (7 days ago)
Cost $29
From University of Washington via Coursera
Instructor Dan Grossman
Download Videos On all desktop and mobile devices
Language English
Subjects Programming
Tags Computer Science Software Development Mobile And Web Development

Get a Reminder

Send to:

Similar Courses

What people are saying

programming language

But it's nice to have been exposed to all the different decisions that go into creating a programming language.

It really took quite a lot effort to accomplish the course and I'm sure that I am having a much clearer mind towards different programming language, which is impossible without this course.So thank you for bringing us this wonderful course, Dan!

Read more

programming languages

Courses I've taken on programming languages often focus on one language.

I've completed his corse on programming languages several years ago but always like to return and listen again.

Learnt a lot about programming languages and highly recommend it to anyone who wants to learn more and understand deeper about programming language in general.

I would highly recommend this course to anyone interested in learning about the foundations of programming languages in a broad context.

Read more

very good

very good programming language in c Having mostly learned programming on my own I think I had many holes, following these three courses was like a new pair of glasses Finally, wrapped it all up with Ruby, OOP and other great topics.

very good course!

All three parts of this course are very good.

Read more

look at

You'll look at your programs, in any language you use, in a whole different way!

I have been writing OOP and FP programs for years but haven't look at them from such a point of view.

I think now I can look at a problem and then choose a programming languages with some good reasoning behind the choice I make.THANK YOU COURSERA!

Read more

dan grossman

This part concludes the Programming Languages series by Dan Grossman!

I aboslutely love Dan Grossman's teaching approach.

very good Wonderful course, perfectly taught, well put together, Professor Dan Grossman is awesome.

Read more

computer science

I would say I got the exact the same reason as Dan for choosing computer science to be a huge part of my life: The true Awe-inspiring thing!

I strongly recommend it to everyone studying computer science!

Read more

those concepts

Dan explains in a very clear and precise way all those concepts that an inexperienced programmer is usually afraid of: function closures, type inference, virtual methods and many more.

You learn the different concepts for that one language but don't understand why the language chose those concepts and what the alternatives are.

Read more

Careers

An overview of related careers and their average salaries in the US. Bars indicate income percentile.

Programming Coordinator 1 $54k

Programming Acquisitions $61k

CNC Programming $70k

Programming advisor $72k

Network Programming $78k

NC Programming $79k

functional testing $87k

DBA - Programming $103k

Gameplay Programming $120k

IT and Programming Specialist $122k

Programming Producer $129k

Functional Controller $146k

Write a review

Your opinion matters. Tell us what you think.

Rating 4.9 based on 66 ratings
Length 4 weeks
Effort 8-16 hours/week
Starts Nov 21 (7 days ago)
Cost $29
From University of Washington via Coursera
Instructor Dan Grossman
Download Videos On all desktop and mobile devices
Language English
Subjects Programming
Tags Computer Science Software Development Mobile And Web Development

Similar Courses

Sorted by relevance

Like this course?

Here's what to do next:

  • Save this course for later
  • Get more details from the course provider
  • Enroll in this course
Enroll Now