Programming Languages, Part C
Explore advanced Ruby programming concepts while understanding the distinctions between object-oriented and functional programming approaches.
Course Cost
₹ 2,699
Intermediate
Skill Level
17 Hours
Self-paced lessons
Dive into the final part of this comprehensive programming languages course, focusing on Ruby and object-oriented programming. This intermediate-level course, taught by top instructor Dan Grossman, builds on Parts A and B to explore advanced topics such as subtyping, multiple inheritance, and the relationship between OOP and functional programming. Learn to implement interpreters, understand advanced OOP concepts, and gain a deep understanding of programming language design principles. Ideal for programmers looking to enhance their language design and implementation skills across different paradigms.
What you'll learn
Master Ruby programming for object-oriented and functional concepts
Understand and implement subtyping and inheritance in OOP
Compare and contrast object-oriented and functional decomposition
Implement advanced OOP concepts like multiple inheritance and mixins
Explore the relationships between generics, subtyping, and polymorphism
Develop skills to reason about and implement complex language features
Gain practical experience in porting interpreters between languages
Synthesize knowledge from different programming paradigms
Skills you'll gain
This course includes:
6.4 Hours PreRecorded video
2 quizzes, 2 programming assignments
Access on Mobile, Tablet, Desktop
FullTime access
Shareable certificate
Closed caption

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 6 modules in this course
This course delves into advanced programming language concepts using Ruby as the primary vehicle. Students explore object-oriented programming paradigms, comparing and contrasting them with functional programming approaches. The curriculum covers key topics such as subtyping, multiple inheritance, mixins, and generics. Participants gain hands-on experience in implementing interpreters and understanding the nuances of language design. The course emphasizes the synthesis of concepts from previous parts, providing a comprehensive understanding of programming language principles across different paradigms. Students will also explore advanced topics like bounded polymorphism and the relationships between various programming concepts.
Introduction, Course-Wide Information, and Software Installation (Start Here)
Module 1 · 1 Hours to complete
Section 8 and Homework 6 (First Module with Ruby)
Module 2 · 7 Hours to complete
Section 8 and Homework 6 (First Module with Ruby): Lesson Choices
Module 3 · 0 Hours to complete
Section 9 and Homework 7 (Second Module With Ruby)
Module 4 · 5 Hours to complete
Section 9 and Homework 7 (Second Module With Ruby): Lesson Choices
Module 5 · 0 Hours to complete
Section 10, Final Exam, and Course Wrap-Up
Module 6 · 4 Hours to complete
Fee Structure
Payment options
Financial Aid
Reviews
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.
Faculties
These are the expert instructors who will be teaching you throughout the course. With a wealth of knowledge and real-world experience, they're here to guide, inspire, and support you every step of the way. Get to know the people who will help you reach your learning goals and make the most of your journey.
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.




