Tags
Language
Tags
September 2025
Su Mo Tu We Th Fr Sa
31 1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 1 2 3 4
    Attention❗ To save your time, in order to download anything on this site, you must be registered 👉 HERE. If you do not have a registration yet, it is better to do it right away. ✌

    ( • )( • ) ( ͡⚆ ͜ʖ ͡⚆ ) (‿ˠ‿)
    SpicyMags.xyz

    Coursera - Programming Languages

    Posted By: groovebeat
    Coursera - Programming Languages

    Coursera - Programming Languages
    WEB-Rip | AVC1 @ 500 Kbit/s | 960x540 | AAC Stereo @ 128 Kbit/s 48 KHz | 25 Hours | 2.06 GB
    Genre: Development / Programming | Language: English | Course Materials Included

    Programming Languages

    Investigate the basic concepts behind programming languages, with a strong emphasis on the techniques and benefits of functional programming. Use the programming languages ML, Racket, and Ruby in ways that will teach you 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. Develop a programming style known as 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.

    Course Syllabus

    Note: About half the students in 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.

    Course at a Glance

    8-16 hours of work / week
    English
    English subtitles

    Instructors

    Dan Grossman

    University of Washington
    Coursera - Programming Languages

    Coursera - Programming Languages

    Coursera - Programming Languages

    Coursera - Programming Languages


    Coursera - Programming Languages