Data Abstraction

Abstraction (computer science)

Abstraction is a fundamental concept in computer science and software development that involves preserving relevant information and disregarding irrelevant information. It is closely related to modeling, theory, design, and mathematics, and can be applied to real-world objects, computational systems, and programming languages.

4 courses cover this concept

CSE 331 Software Design & Implementation

University of Washington

Spring 2022

This course aims to improve students' software development skills, focusing on building correct, scalable, and easy-to-understand software. It relies on a solid understanding of Java and the concepts covered in CSE 143. Students will learn about software design principles, modern programming languages, and software tools. It covers software testing, type systems, design patterns, and more.

CS 61A: Structure and Interpretation of Computer Programs

UC Berkeley

Fall 2022

A course that emphasizes software abstraction, equipping students with the skills to manage program complexity. Students will primarily use Python, with additional exposure to Scheme and SQL.

CS 106AX Programming Methodologies in JavaScript and Python

Stanford University

Autumn 2022

This course is designed for those with prior programming experience. It focuses on advanced programming methodologies in Python and JavaScript, and covers topics from object-oriented design principles to building web applications.

CSE 142 Computer Programming I

University of Washington

Summer 2022

This introductory course teaches programming using Java. Students learn computational problem-solving techniques, functional decomposition, control structures, data abstraction, and code documentation. No prior programming experience is required.