آموزش زبان‌های برنامه‌نویسی، بخش دوم - آخرین آپدیت

دانلود Programming Languages, Part B

نکته: ممکن هست محتوای این صفحه بروز نباشد ولی دانلود دوره آخرین آپدیت می باشد.
نمونه ویدیوها:
توضیحات دوره: [همان‌طور که در ادامه توضیح داده شده است، این بخش دوم از یک دوره آموزشی ۳ بخشی است. شرکت‌کنندگان باید ابتدا بخش اول را تکمیل کنند؛ زیرا بخش دوم مستقیماً وارد مباحث اصلی می‌شود و اغلب به مطالب بخش اول ارجاع می‌دهد.] این دوره مقدمه‌ای بر مفاهیم پایه زبان‌های برنامه‌نویسی با تأکید ویژه بر برنامه‌نویسی تابعی (Functional Programming) است. در این دوره از زبان‌های ML، Racket و Ruby برای آموزش مفاهیم استفاده می‌شود، اما هدف اصلی، آموزش ساختار درونی زبان‌هاست تا شما بتوانید در هر زبان دیگری با اثربخشی بیشتری برنامه‌نویسی کنید و زبان‌های جدید را سریع‌تر بیاموزید. این دوره نه صرفاً تئوری است و نه فقط محدود به جزئیات برنامه‌نویسی؛ بلکه چارچوبی برای درک نحوه استفاده موثر از ساختارهای زبانی و طراحی برنامه‌های صحیح و ظریف به شما ارائه می‌دهد. با استفاده از زبان‌های مختلف، یاد می‌گیرید که عمیق‌تر از سطح نحو (Syntax) یک زبان خاص فکر کنید. تمرکز بر برنامه‌نویسی تابعی برای یادگیری نحوه نوشتن برنامه‌های قدرتمند، قابل استفاده مجدد، ترکیب‌پذیر و ظریف ضروری است. در واقع، بسیاری از مهم‌ترین ایده‌ها در زبان‌های مدرن، ریشه در برنامه‌نویسی تابعی دارند. برای یادگیری یک نگاه تازه و زیبا به نرم‌افزار و لذت بردن از ساخت آن آماده شوید. این دوره فرض را بر داشتن تجربه قبلی در برنامه‌نویسی می‌گذارد، همان‌طور که در ماژول اول بخش اول با جزئیات بیشتر توضیح داده شده است. تکمیل موفقیت‌آمیز بخش اول برای گذراندن بخش دوم الزامی است. این دوره به سه دوره Coursera تقسیم شده است: بخش A، بخش B و بخش C. با توجه به حجم بالای مطالب چالش‌برانگیز، قالب سه بخشی امکان ایجاد نقاط توقف و بازبینی را فراهم می‌کند. این سه بخش به‌گونه‌ای طراحی شده‌اند که به ترتیب تکمیل شوند و شما را برای ادامه مسیر تا پایان بخش C تشویق کنند. در هفته اول بخش A، لیست دقیق‌تری از موضوعات هر سه بخش ارائه شده است، اما انتظار می‌رود اکثر شرکت‌کنندگان در ابتدا با معنای دقیق همه این موضوعات آشنا نباشند.

سرفصل ها و درس ها

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

  • Welcome to Part B Welcome to Part B

  • Overview of Part B Concepts Overview of Part B Concepts

  • Part B Course Structure Part B Course Structure

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

  • Introduction to Racket Introduction to Racket

  • Racket Definitions, Functions, Conditionals Racket Definitions, Functions, Conditionals

  • Racket Lists Racket Lists

  • Syntax and Parentheses Syntax and Parentheses

  • Parentheses Matter! (Debugging Practice) Parentheses Matter! (Debugging Practice)

  • Dynamic Typing Dynamic Typing

  • Cond Cond

  • Local Bindings Local Bindings

  • Toplevel Bindings Toplevel Bindings

  • Mutation with set! Mutation with set!

  • The Truth About Cons The Truth About Cons

  • mcons For Mutable Pairs mcons For Mutable Pairs

  • Delayed Evaluation and Thunks Delayed Evaluation and Thunks

  • Avoiding Unnecessary Computations Avoiding Unnecessary Computations

  • Delay and Force Delay and Force

  • Using Streams Using Streams

  • Defining Streams Defining Streams

  • Memoization Memoization

  • Macros: The Key Points Macros: The Key Points

  • Optional: Tokenization, Parenthesization, and Scope Optional: Tokenization, Parenthesization, and Scope

  • Optional: Racket Macros With define syntax Optional: Racket Macros With define-syntax

  • Optional: Variables, Macros, and Hygiene Optional: Variables, Macros, and Hygiene

  • Optional: More Macro Examples Optional: More Macro Examples

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

  • Datatype Programming in Racket Without Structs Datatype-Programming in Racket Without Structs

  • Datatype Programming in Racket With Structs Datatype-Programming in Racket With Structs

  • Advantages of Structs Advantages of Structs

  • Implementing Programming Languages Implementing Programming Languages

  • What Your Interpreter Can and Cannot Assume What Your Interpreter Can and Cannot Assume

  • Implementing Variables and Environments Implementing Variables and Environments

  • Implementing Closures Implementing Closures

  • Optional: Are Closures Efficient? Optional: Are Closures Efficient?

  • Racket Functions As “Macros”For Interpreted Language Racket Functions As “Macros” For Interpreted Language

Section 7 Including a Quiz Section 7 Including a Quiz

  • ML Versus Racket ML Versus Racket

  • What is Static Checking? What is Static Checking?

  • Soundness and Completeness Soundness and Completeness

  • Weak Typing Weak Typing

  • Static Versus Dynamic Typing, Part One Static Versus Dynamic Typing, Part One

  • Static Versus Dynamic Typing, Part Two Static Versus Dynamic Typing, Part Two

  • Optional: eval and quote Optional: eval and quote

  • Part B Wrap Up and Part C Preview Part B Wrap-Up and Part C Preview

نمایش نظرات

آموزش زبان‌های برنامه‌نویسی، بخش دوم
جزییات دوره
16h 35m
43
(آخرین آپدیت)
69,316
5 از 5
دارد
دارد
دارد
Chris Croft
جهت دریافت آخرین اخبار و آپدیت ها در کانال تلگرام عضو شوید.

Google Chrome Browser

Internet Download Manager

Pot Player

Winrar

Chris Croft Chris Croft

مربی مدیریت، سخنران، نویسنده