
Key Information
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
Prerequisite
Some basic algebra skills needed. Students should have taken:
Syllabus
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
Instructors
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 is a world-renowned, public research university that advances discoveries in science, technology, engineering and math.
Platform

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.