pages.courses.show.header

pages.courses.show.course_updated

pages.courses.show.subscribe

pages.courses.show.subscription_description

pages.courses.show.included.header

pages.courses.show.included.theory.value
pages.courses.show.included.exercises.value
pages.courses.show.included.questions.value
pages.courses.show.included.self_study
pages.courses.show.included.extra_materials
pages.courses.show.included.extended_material

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

Course Cover
  • pages.courses.pros.right_in_browser
  • pages.courses.pros.lifetime_access
  • pages.courses.pros.learn_as_you_go
pages.courses.show.subscribe

pages.courses.show.subscription_description