
Coursera – Programming Languages; University of Washington [171 videos (MP4) + Course Materials]
English | Size: 2.06 GB (2,214,590,966 bytes)
Category: Comp: Languages / Databases
Learn many of the concepts that underlie all programming languages. Use functional programming and contrast it with object-oriented programming. Through experience writing programs and studying three different languages, learn the key issues in designing and using programming languages, such as modularity and the complementary benefits of static and dynamic typing. 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 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 – in any language.
Coursera – Programming Languages; University of Washington
https://www.coursera.org/course/proglang
Course Syllabus
Note: About half the students completing prior offerings report an estimated workload of 8-12 hours / week is accurate while most of the other half spent more time — 15 hours / week or more. Workload naturally differs for different people depending on one’s background. Do see the recommended-background section below.
Topics (most of which may not mean anything to you until you take the course):
– Syntax vs. semantics vs. idioms vs. libraries vs. tools
– ML basics (bindings, conditionals, records, functions)
– Recursive functions and recursive types
– Benefits of no mutation
– Algebraic datatypes, pattern matching
– Tail recursion
– First-class functions and function closures
– Lexical scope
– Currying
– Syntactic sugar
– Equivalence and effects
– Parametric polymorphism and container types
– Type inference
– Abstract types and modules
– Racket basics
– Dynamic vs. static typing
– Laziness, streams, and memoization
– Implementing languages, especially higher-order functions
– Macros
– Eval
– Ruby basics
– object-oriented programming is dynamic dispatch
– Pure object-orientation
– Implementing dynamic dispatch
– Multiple inheritance, interfaces, and mixins
– OOP vs. functional decomposition and extensibility
– Subtyping for records, functions, and objects
– Subtyping
– Class-based subtyping
– Subtyping vs. parametric polymorphism; bounded polymorphism
Recommended Background
The course assumes students are familiar with programming covered by most introductory courses — this is not an introductory programming course. Conversely, it is also not a particularly advanced course — a couple good prior programming courses should be enough. 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. Later parts of the course analyze basic object-oriented concepts and contrast them with those of other languages, so familiarity with Java or a closely related language (e.g., C#) is helpful, but not required for homework assignments.
Suggested Readings
Course videos and programming exercises serve as the bulk of class content. Written notes by the instructor are also available and serve as a valuable resource.
DOWNLOAD:
http://uploaded.net/file/ob3jt86o/Coursera%20-%20Programming%20Languages%3B%20University%20of%20Washington.part1.rar
http://uploaded.net/file/6ddor6wk/Coursera%20-%20Programming%20Languages%3B%20University%20of%20Washington.part2.rar
http://uploaded.net/file/pd23k2k5/Coursera%20-%20Programming%20Languages%3B%20University%20of%20Washington.part3.rar
http://uploaded.net/file/h4wucc9d/Coursera%20-%20Programming%20Languages%3B%20University%20of%20Washington.part4.rar
http://uploaded.net/file/g74bq8w0/Coursera%20-%20Programming%20Languages%3B%20University%20of%20Washington.part5.rar
http://rapidgator.net/file/32c048c042ad02bf366efd7979213c02/Coursera_-_Programming_Languages;_University_of_Washington.part1.rar.html
http://rapidgator.net/file/8ef342dad30b54bcb1a2021325e2c06b/Coursera_-_Programming_Languages;_University_of_Washington.part2.rar.html
http://rapidgator.net/file/28599b54693c206c9fc88781eb056d69/Coursera_-_Programming_Languages;_University_of_Washington.part3.rar.html
http://rapidgator.net/file/cf18ddf487c3131045a4c521b64baa20/Coursera_-_Programming_Languages;_University_of_Washington.part4.rar.html
http://rapidgator.net/file/be06df9dcbc536456f0ea97ee718348e/Coursera_-_Programming_Languages;_University_of_Washington.part5.rar.html
If any links die or problem unrar, send request to http://goo.gl/aUHSZc
Leave a Reply