pages.courses.show.header
pages.courses.show.course_updated
pages.courses.show.subscription_description
pages.courses.show.included.header
models.attributes.base.description
In this course, you will learn abstraction with data. You'll learn the principles of building interfaces and layered applications. As a result, you will learn how to design and represent real-world objects in code and build abstraction barriers. The knowledge you'll gain in this course will help you create extensible and maintainable code. You will design your code architecture based on the intended use. To make learning easier, it's worth learning about functions and basic collection types like lists and dictionaries beforehand.
pages.courses.show.skills
- Identify entities in the subject area
- Establish the correct relationships between entities
- Choose the data structure to store the entities
- Design abstraction interfaces
- Define and follow invariants
- Make proper use of lists and dictionaries
pages.courses.show.syllabus
1 | Introduction Learning about the course and its goals |
2 | Ontology Introducing the concept of subject areas |
3 | Points on the coordinate plane Learning to model a specific area |
4 | Semantics of lists and dictionaries Learning to choose the data structure for the task |
5 | Creating an abstraction Understanding why to hide data structure and parse examples |
6 | Interfaces Learning new terminology |
7 | Level design Learning to see the boundaries of abstraction and emphasize layers |
8 | Invariants Introducing the concept of data hiding and analyzing examples |
pages.courses.show.recommended_programs

- pages.courses.pros.right_in_browser
- pages.courses.pros.lifetime_access
- pages.courses.pros.learn_as_you_go
pages.courses.show.subscription_description