The University of Washington is offering free online course on Programming Languages. This course is an introduction to the basic concepts of programming languages, with a strong emphasis on functional programming.
The course assumes students are familiar with programming covered by most introductory courses, but it is explicitly designed not to be a particularly advanced course. The course will start on May 14, 2018.
Course At Glance
Effort: 8-16 hours/week
Subject: Computer Science
Institution: University of Washington and Coursera
Certificate Available: Yes
Session: Course starts on May 14, 2018
Founded in 1861, the University of Washington is one of the oldest state-supported institutions of higher education on the West Coast and is one of the preeminent research universities in the world.
About This 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.
Why Take This Course?
This is a free online course. Applicants can get a verified certificate.
The course assumes students are familiar with programming covered by most introductory courses, but it is explicitly designed not to be a particularly advanced course. Students should be comfortable with variables, conditionals, arrays, linked lists, stacks, and recursion (though recursion will be reviewed and expanded upon), and the difference between an interface and an implementation. Students should be eager to write programs in languages new to them. Part C of the course analyzes basic object-oriented concepts and contrast them with those of other languages, so familiarity with Java or a closely related language (e.g., C#) might be helpful for Part C, but it is not necessary for the assignments. This course is based on a course designed for second- and third-year undergraduates: not a first computer science course, but not an advanced course either. So it certainly will not cover everything in the beautiful world of programming languages, but it is a solid introduction. It is designed to be eye-opening and fascinating both for learners seeking a “third or fourth programming course” and for learners with more experience who are looking for a clear and precise foundation in programming languages. The assignments in the course are designed to be challenging, but with everything you need in the course content. An introductory video and another reading discuss assumed background in some more detail in Week 1 of Part A of the course.
Dan Grossman, Professor, Computer Science & Engineering
How To Join This Course
- Go to the course website link
- Sign Up At Coursera
- Select a course and Join