Programming Languages, Part B

所在平台: Coursera

课程主页: https://www.coursera.org/learn/programming-languages-part-b

课程评论:没有评论

第一个写评论        关注课程

课程简介

课程名称:编程语言,第二部分 课程概述:这是为期三部分课程的第二部分,参与者必须先完成第一部分。该课程旨在介绍编程语言的基本概念,重点强调函数式编程。课程使用 ML、Racket 和 Ruby 等语言作为教学工具,旨在帮助学员理解任何编程语言的构成,从而提高在任何语言中的编程效率及学习新语言的能力。 本课程不仅限于理论或编程细节,而是提供一种框架,帮助学生有效使用语言构造,设计正确且优雅的程序。通过使用不同的编程语言,学员能够超越单一语言的语法,深入思考编程。强调函数式编程对编写健壮、可重用和优雅的程序至关重要,许多现代编程语言的重要概念都源于此。准备好以全新和优美的视角来看待软件并享受构建过程。 本课程假设参与者已经具备一定的编程经验,具体信息在第一部分的首个模块中详细说明。第二部分将基于第一部分的成功完成。 课程分为三部分:第一部分、第二部分和第三部分。整个课程的内容较为庞大,三部分的安排为学员提供了中间里程碑和休息机会,以便在继续学习第三部分之前进行消化。所有三部分课程需按顺序进行,以激励学员完成到第三部分。 第一部分的第一周对课程的主题有更详细的列表,但预计大多数参与者尚未完全了解所有主题内容。 课程大纲: 1. 欢迎与软件安装:了解课程组织及信息,开始学习。 2. Racket 编程及延迟评估习语:开始使用 Racket 编程,学习相关的习语。 3. 数据结构与解释器实现:聚焦于动态类型语言中的数据结构构建,以及用解释器实现编程语言。 4. 静态类型与动态类型的比较:利用在 ML 和 Racket 中的编程经验,比较这两种类型,了解其重要性。完成测验后观看课程总结和第三部分预览视频。

课程大纲

Name:Introduction, Course-Wide Information, and Software Installation (Start Here)

Description:Welcome! Start here! Learn about this course and how it's organized.

Name:Section 5 and Homework 4 (First Module with Racket)

Description:Let's get started programming with Racket and then learning idioms related to delaying evaluation. The welcome message has a few additional comments about picking up a new language and how to approach the homework assignment, so let's get started...

Name:Section 6 and Homework 5 (Second Module with Racket)

Description:Welcome to the second week of Part B where we will focus on (a) building data structures in dynamically typed languages and (b) implementing programming languages with interpreters. Most of the programming assignment is focused on (b) -- implementing a small programming language that has function closures. As usual, start with the welcome message and enjoy!

Name:Section 7 Including a Quiz

Description:In the last module of Part B we will use our experience programming in ML and Racket to compare and contrast static typing and dynamic typing. This is not only the most important difference between these two languages, but it is a fundamental topic in the study of programming languages. Learning it can help you program more effectively in both kinds of languages. After completing this week's quiz, don't forget to watch the Part B Wrap-Up and Part C Preview video.

课程评论(0条)

课程详情

[As described below, this is Part B of a 3-part course. Participants should complete Part A first -- Part B "dives right in" and refers often to material from Part A.] 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.

课程标签

0人关注该课程

主题相关的课程