AP Computer Science A: Java Programming Classes and Objects
date_range Starts on January 14, 2020
event_note Ends on March 3, 2020
list 6 sequences
assignment Level : Introductory
chat_bubble_outline Language : English
card_giftcard 384 points
Users' reviews
0 reviews

Key Information

credit_card Free access
verified_user Fee-based Certificate
timer 48 hours in total

About the content

In this computer science course, you will learn the basics of programming in the Java language, and cover topics relevant to the AP Computer Science A course and exam.

This course will cover:

  • classes
  • objects and object-oriented design
  • fields and visibility
  • constructors, mutators and accessor methods
  • encapsulation
  • interfaces
  • the List interface
  • method overriding

This course is for anyone interested in taking a first-level computer-programming course, particularly those who attend a school that does not provide a similar class.

No previous programming knowledge is needed, but it is recommended that learners be comfortable with the topics addressed in AP Computer Science A: Java Programming and AP Computer Science A: Java Programming Data Structures and Loops.

We are looking forward to helping you explore this exciting new world!

  • classes
  • objects and object-oriented design
  • fields and visibility
  • constructors, mutators and accessor methods
  • encapsulation
  • interfaces
  • the List interface
  • method overriding

more_horiz Read more
more_horiz Read less


Unit Name or Timeframe: Methods and Classes (3 weeks)

  • Object-oriented design and encapsulation
  • Top-down development and functional decomposition
  • State and behavior
  • Fields and visibility
  • Methods and parameters
  • Calling methods and passing parameters by-value and by-reference
  • Constructors and instantiation
  • The static keyword
  • Scope
  • Method overloading
  • Encapsulation
  • Accessors and mutators
  • Immutable objects

Unit Name or Timeframe: Interfaces (1 week)

  • Interfaces and abstraction
  • Interface implementation
  • Reference types
  • List interface and iterators
  • Comparable interface

Unit Name or Timeframe: Inheritance (2 weeks)

  • Inheritance and the Object class
  • Public and private data and methods
  • The super, this and null references
  • Encapsulation and information hiding
  • Inheritance using extends, recognizing single-inheritance
  • Equality vs identity
  • has-a vs is-a relationships involving inheritance and aggregation
  • Method overriding
  • The instanceof operator


Sunil Prabhakar
Professor of Computer Science
Purdue University

Debbie Perouli
Assistant Professor of Computer Science
Marquette University

Phil Sands
K-12 Outreach Coordinator for Computer Science
Purdue University


Content Designer

Purdue University

Purdue University is a world-renowned, public research university that advances discoveries in science, technology, engineering and math.




Harvard University, the Massachusetts Institute of Technology, and the University of California, Berkeley, are just some of the schools that you have at your fingertips with EdX. Through massive open online courses (MOOCs) from the world's best universities, you can develop your knowledge in literature, math, history, food and nutrition, and more. These online classes are taught by highly-regarded experts in the field. If you take a class on computer science through Harvard, you may be taught by David J. Malan, a senior lecturer on computer science at Harvard University for the School of Engineering and Applied Sciences. But there's not just one professor - you have access to the entire teaching staff, allowing you to receive feedback on assignments straight from the experts. Pursue a Verified Certificate to document your achievements and use your coursework for job and school applications, promotions, and more. EdX also works with top universities to conduct research, allowing them to learn more about learning. Using their findings, edX is able to provide students with the best and most effective courses, constantly enhancing the student experience.

You are the designer of this MOOC?
What is your opinion on this resource ?