Chevron Left
Back to Programming Languages, Part C

Learner Reviews & Feedback for Programming Languages, Part C by University of Washington

4.9
stars
446 ratings

About the Course

[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....

Top reviews

SS

Jan 7, 2019

Great course, nicely rounded off the discussions from previous parts. Really puts OOP style programming in context and nicely contrasts it from the functional programming concepts. Highly recommended!

KA

Jun 28, 2023

This course covers many concepts in detail and provides the opportunity to practice them through challenging homework. It is highly recommended. Also, the teacher's enthusiasm helps a lot ;)

Filter by:

76 - 96 of 96 Reviews for Programming Languages, Part C

By dynasty919

Mar 3, 2018

that last assignment is pretty neat.

By daniel 1

May 20, 2018

very good programming language in c

By Zack W

Aug 26, 2019

definitely a rewarding course

By Wang Y

Aug 1, 2017

The best course on coursera!

By Aydin S

Dec 17, 2020

Fantastic end to the series

By Gerhard K

Jan 12, 2017

Absolutely Brilliant Course

By Guilherme B

Oct 23, 2016

Best course of my life!

By Atsushi

Jan 30, 2019

great course material

By pffy233

Nov 20, 2016

excellence experience

By Kevin X

Dec 19, 2016

Really impressive!

By 郑

Jan 10, 2018

very good course!

By Hussein K

Nov 15, 2022

Great Adventure.

By Sam R

Jan 11, 2019

Fantastic course

By Morton L

Apr 4, 2020

Great course.

By Alejandro M

Dec 17, 2016

Excellent!

By YZ H (

Nov 13, 2022

fruitful

By jani k

Mar 28, 2018

exellent

By Abdifatah A

Dec 19, 2017

great!!

By Melwyn S

Aug 5, 2023

Fab!!!

By UmbraSeven

Sep 28, 2017

Great!

By Brandon I

Mar 7, 2020

Again, great course - I was a little bit shaky on the Ruby, but to be honest this was my first real dive into what OOP is "really like" (as far as I can tell). I was also impressed by how certain important concepts from Part B were also tested towards the end (e.g., streams). I also enjoyed the material on subtyping towards the end; it makes you actually want to be interested in implementing a small language like that someday. The only caveat I must mention (and what the missing star is due to) is that, I had a little trouble on my Linux machine getting a version of Tcl/Tk to work with my installation of Ruby, since Ruby doesn't accept the latest (packaged) version of Tcl/Tk. I also had trouble with Jruby, and in the end opted to manually install older versions of Tcl and Tk. But I think the Tetris experience was worth it :) That whole little sidetrack actually also turned me on to the possibility of how PLs use graphics libraries in general, so let's see where that leads...