EdX

AP Computer Science A: Java Programming Polymorphism and Advanced Data Structures (edX)

Offered by Purdue University, PurdueX,
AP Computer Science A: Java Programming Polymorphism and Advanced Data Structures (edX)

AP Computer Science A from Purdue University. This computer science course covers advanced OOP strategies, including polymorphism, abstract classes, super keyword, exceptions, generics, sorting and searching algorithms. 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.

Class Deals by MOOC List - Click here and see EdX's Active Discounts, Deals, and Promo Codes.

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

What you'll learn

  • Polymorphism
  • super keyword
  • Abstract classes and methods
  • Exceptions
  • try-catch-finally structure
  • throws keyword
  • Handled and unhandled exceptions
  • ArrayLists
  • Generics
  • Big-O notation
  • Algorithm analysis
  • Searching
  • Sorting

Course Syllabus

Unit Name or Timeframe: Polymorphism (3 weeks)

  • Polymorphism and the relationship of parent and child classes
  • Calling parent constructor and casting with super keyword
  • Abstract class and interfaces and the use of late binding
  • Abstract methods

Unit Name or Timeframe: Exceptions (1 weeks)

  • Generic Exception class
  • Arithmetic, ArrayIndexOutOfBounds, NullPointer, ClassCast, IllegalArgument
  • The try-catch structure
  • The throws keyword
  • Handled vs unhandled exceptions

Unit Name or Timeframe: Dynamic data structures (3 weeks)

  • Use List reference and by extension the ArrayList classes
  • Generics
  • Traversals, insertions, deletions
  • Swap operations
  • Bubble sort, Selection sort, Insertion sort and Merge sort
  • Binary search and Linear search
  • Big-O Notation and algorithm analysis

Prerequisites
Some basic algebra needed. Students should have taken:
CS180.1x - AP Computer Science A: Java Programming
CS180.2x - AP Computer Science A: Java Programming Data Structures and Loops
[CS180.3x - AP Computer Science A: Java Programming Classes and Objects]()

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

CS50's Introduction to Computer Science (edX) EdX
HarvardX,Harvard University

CS50's Introduction to Computer Science (edX)

An introduction to the intellectual enterprises of computer science and the art of programming. This is CS50, Harvard University's introduction to the intellectual enterprises of computer science and the art of programming for majors and non-majors alike, with or without prior programming experience. An entry-level course taught by David J. Malan, CS50 teaches students how to think algorithmically and solve problems efficiently.

Self Paced
Self-Paced
CS For All: Introduction to Computer Science and Python Programming (edX) EdX
Harvey Mudd College,HarveyMuddX

CS For All: Introduction to Computer Science and Python Programming (edX)

A fun, fast-paced introduction to solving interesting problems with computer science through Python programming. Looking to get started with computer science while learning to program in Python? This computer science course provides an introduction to computer science that’s both challenging and fun.

No sessions available
13-24 Weeks
Introduction to Java Programming - Part 1 (edX) EdX
The Hong Kong University of Science and Technology - HKUST,HKUSTx

Introduction to Java Programming - Part 1 (edX)

Learn the fundamental elements of Java programming and data abstraction. Do you want to become a better problem solver? This Java course will provide you with a strong understanding of basic Java programming elements and data abstraction using problem representation and the object-oriented framework.

Self Paced
Self-Paced
Aplicaciones de la Teoría de Grafos a la vida real II (edX) EdX
Universitat Politècnica de València,UPValenciaX

Aplicaciones de la Teoría de Grafos a la vida real II (edX)

Aprenderemos a modelizar problemas del mundo real mediante su representación con grafos y a resolverlos mediante sus algoritmos asociados. Este curso trata la Teoría de Grafos desde el punto de vista de la modelización, lo que nos permitirá con posterioridad resolver muchos problemas de diversa índole. Presentaremos ejemplos de los distintos problemas en un contexto real, analizaremos la representación de éstos mediante grafos y veremos los algoritmos necesarios para resolverlos.

Self Paced
Self-Paced
Introduction to Java Programming - Part 2 (edX) EdX
The Hong Kong University of Science and Technology - HKUST,HKUSTx

Introduction to Java Programming - Part 2 (edX)

The first MOOC to teach the fundamental elements of Java programming and data abstraction. Do you want to become a better problem solver? This Java course will provide you with a strong understanding of basic Java programming elements and data abstraction using problem representation and the object-oriented framework.

Self Paced
Self-Paced
Introduction to Java Programming: Writing Good Code (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Writing Good Code (edX)

Learn to program in an easy and interactive way and enter the fascinating world of computer science. This is an introductory course to learn programming with Java designed to teach how to code good programs in Java, understanding “good” as both correct and efficient. Basic principles of software engineering will be introduced to make it easier for our future self and others to reuse code. Ethical issues and the intellectual property of our programs will also be addressed in the last part of this course. Examples and case studies will be provided, so that learners can implement simple but increasingly complex programs in Java.

Self Paced
Self-Paced
Enterprise Software Lifecycle Management (edX) EdX
National Research Nuclear University MEPhI,MEPhIx

Enterprise Software Lifecycle Management (edX)

Learn the best models, methods and practices for effective lifecycle management for large-scale software. Want to manage software development, but unsure where to begin? This computer science course will teach you the models, methods and practices of software development to make the process manageable and result in high-quality and efficient software products.

Self Paced
Self-Paced
Autonomous Mobile Robots (edX) EdX
ETH Zurich,ETHx

Autonomous Mobile Robots (edX)

Basic concepts and algorithms for locomotion, perception, and intelligent navigation. Robots are rapidly evolving from factory workhorses, which are physically bound to their work-cells, to increasingly complex machines capable of performing challenging tasks in our daily environment. The objective of this course is to provide the basic concepts and algorithms required to develop mobile robots that act autonomously in complex environments.

Self Paced
Self-Paced