Coursera - Programming Languages; University of Washington

seeders: 0
leechers: 46
Added on January 17, 2016 by dezy17in Other > Tutorials
Torrent verified.



Coursera - Programming Languages; University of Washington (Size: 2.06 GB)
 09-19 - Optional Dynamic Dispatch Manually in Racket (1556).mp426.11 MB
 10-05 - Double Dispatch (1446).mp422.9 MB
 08-05 - What Your Interpreter Can and Cannot Assume (1347).mp422.05 MB
 03-12 - Each of Pattern Matching _ Truth About Functions (1430).mp420.35 MB
 02-04 - ML Variable Bindings and Expressions (1432).mp420.08 MB
 10-02 - OOP Versus Functional Decomposition (1251).mp419.35 MB
 08-15 - Static Versus Dynamic Typing Part Two (1347).mp419.22 MB
 09-04 - Object State (1314).mp418.9 MB
 02-06 - The REPL and Errors (1210).mp418.51 MB
 07-09 - Local Bindings (1311).mp418.5 MB
 04-23 - Optional Java Without Closures (1208).mp418.06 MB
 09-03 - Classes and Objects (1237).mp417.89 MB
 10-08 - Mixins (1152).mp417.82 MB
 09-06 - A Longer Example (1219).mp417.79 MB
 06-05 - Optional Why ML Racket and Ruby (1234).mp417.66 MB
 10-15 - Function Subtyping (1117).mp417.45 MB
 10-03 - Adding Operations or Variants (1108).mp417.32 MB
 09-17 - Method-Lookup Rules Precisely (1131).mp416.95 MB
 02-02 - Course Introduction About the Course (1234).mp416.89 MB
 05-12 - Signatures for Our Example (1103).mp416.7 MB
 04-11 - Why Lexical Scope (1144).mp416.7 MB
 04-13 - Fold and More Closures (1128).mp416.64 MB
 04-21 - Optional Abstract Data Types With Closures (1114).mp416.63 MB
 04-24 - Optional C Without Closures (1056).mp416.55 MB
 09-16 - Overriding and Dynamic Dispatch (1056).mp416.51 MB
 09-10 - Blocks (1134).mp416.41 MB
 03-06 - Useful Datatypes (1122).mp416.16 MB
 05-11 - A Module Example (1106).mp416.13 MB
 02-03 - Course Introduction About Programming Languages (1204).mp416.08 MB
 09-09 - Arrays (1113).mp415.93 MB
 lecture_slides_section1_1_meta_intro.pptx432.3 KB
 lecture_slides_section8_section8sum.pdf246.3 KB
 lecture_slides_section7_141_manual_dynamic_dispatch.pptx131.39 KB
 lecture_slides_section2_31_eachof_pattern_matching.pptx128.16 KB
 lecture_slides_section6_120_static_vs_dynamic_one.pptx126.53 KB
 lecture_slides_section6_110_implement_a_language.pptx123.68 KB
 lecture_slides_section4_81_standard_equivalences.pptx122.9 KB
 lecture_slides_section8_155_function_subtyping.pptx121.76 KB
 lecture_slides_section1_14_let_efficiency.pptx121.46 KB
 lecture_slides_section4_70_other_inference.pptx121.41 KB


Description

image
image

University of Washington
Programming Languages
Investigate the basic concepts behind programming languages, with an emphasis on the techniques and benefits of functional programming. Use the programming languages ML, Racket, and Ruby to learn how the pieces of a language fit together to create more than the sum of the parts. Gain new software skills and the concepts needed to learn new languages on your own.



About the Course
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.

Beginning with the Fall 2014 offering, verified certificates are available for this course. The certificates look slightly different than for courses from other institutions. Here is an example.

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.

Course Format
Video segments have short question-and-answer sections, but the main work will be seven homework assignments that involve writing small programs. The programming assignments will be automatically graded and students will peer-assess each other's submissions for style. Critiquing other’s work and receiving comments about your own are invaluable learning experiences. The course also has a midterm exam and a final exam

Sharing Widget


Download torrent
2.06 GB
seeders:0
leechers:46
Coursera - Programming Languages; University of Washington

All Comments

atleast please reupload only the course meterials.they are soo valueble as i see.
great upload!

Please seeeeeeeeeeeeeeeeeeeeeeeedddddd
Thanks for the upload.

Please Seed!!!