Master Racket programming and explore advanced language concepts. Compare static and dynamic typing.
Master Racket programming and explore advanced language concepts. Compare static and dynamic typing.
Dive deeper into programming language concepts with a focus on Racket and functional programming. This intermediate-level course, taught by top instructor Dan Grossman, builds on Part A to explore advanced topics such as delayed evaluation, macros, and interpreter implementation. Learn to build complex data structures, implement small programming languages, and understand the trade-offs between static and dynamic typing. Ideal for programmers looking to enhance their language design and implementation skills across different paradigms.
4.9
(764 ratings)
61,206 already enrolled
Instructors:
English
العربية, Deutsch, Tiếng Việt, 4 more
What you'll learn
Master Racket programming for functional and dynamic language concepts
Implement advanced data structures and programming techniques in Racket
Understand and apply delayed evaluation and memoization strategies
Design and implement small programming languages with interpreters
Explore macro systems and their role in language extension
Compare and contrast static and dynamic typing systems
Skills you'll gain
This course includes:
6.4 Hours PreRecorded video
1 quiz, 2 programming assignments
Access on Mobile, Tablet, Desktop
FullTime access
Shareable certificate
Closed caption
Get a Completion Certificate
Share your certificate with prospective employers and your professional network on LinkedIn.
Created by
Provided by
Top companies offer this course to their employees
Top companies provide this course to enhance their employees' skills, ensuring they excel in handling complex projects and drive organizational success.
There are 4 modules in this course
This course delves into advanced programming language concepts using Racket as the primary vehicle. Students explore functional programming paradigms, delayed evaluation techniques, and macro systems. The curriculum covers implementing small programming languages, building complex data structures, and understanding the nuances of static versus dynamic typing. Participants gain hands-on experience in interpreter design and implementation, enhancing their ability to reason about language features across different programming paradigms. The course emphasizes the practical application of these concepts to improve overall programming skills and language design understanding.
Introduction, Course-Wide Information, and Software Installation (Start Here)
Module 1 · 1 Hours to complete
Section 5 and Homework 4 (First Module with Racket)
Module 2 · 7 Hours to complete
Section 6 and Homework 5 (Second Module with Racket)
Module 3 · 6 Hours to complete
Section 7 Including a Quiz
Module 4 · 2 Hours to complete
Fee Structure
Payment options
Financial Aid
Instructor
Influential Educator and Researcher in Programming Languages
Dan Grossman has been teaching programming languages at the University of Washington since 2003. He has been honored as “teacher of the year” by his undergraduate students twice and awarded second place once. His research encompasses the theory, design, and implementation of programming languages, along with their connections to computer architecture and software engineering, resulting in over 50 peer-reviewed publications.
Testimonials
Testimonials and success stories are a testament to the quality of this program and its impact on your career and learning journey. Be the first to help others make an informed decision by sharing your review of the course.
4.9 course rating
764 ratings
Frequently asked questions
Below are some of the most commonly asked questions about this course. We aim to provide clear and concise answers to help you better understand the course content, structure, and any other relevant information. If you have any additional questions or if your question is not listed here, please don't hesitate to reach out to our support team for further assistance.