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

Introduction to Linux (edX) EdX
Linux Foundation,LinuxFoundationX

Introduction to Linux (edX)

Never learned Linux? Want a refresh? Develop a good working knowledge of Linux using both the graphical interface and command line across the major Linux distribution families. Develop a good working knowledge of Linux using both the graphical interface and command line, covering the major Linux distribution families.

Self Paced
Self-Paced
Introducción a la programación en Java: escribiendo buen código (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introducción a la programación en Java: escribiendo buen código (edX)

¡Aprende programación en Java de forma fácil e interactiva y entra en el fascinante mundo de la computación! Este es un curso introductorio para aprender a programar en Java diseñado para enseñar a escribir "buen" código en este lenguaje de programación, entendiendo como "bueno" aquel que es correcto y eficiente.

Self Paced
Self-Paced
Data Structures & Algorithms IV: Pattern Matching, Dijkstra’s, MST, and Dynamic Programming Algorithms (edX) EdX
Georgia Institute of Technology,GTx

Data Structures & Algorithms IV: Pattern Matching, Dijkstra’s, MST, and Dynamic Programming Algorithms (edX)

Delve into Pattern Matching algorithms from KMP to Rabin-Karp. Tackle essential algorithms that traverse the graph data structure like Dijkstra’s Shortest Path. Study algorithms that construct a Minimum Spanning Tree (MST) from a graph. Explore Dynamic Programming algorithms. Use the course visualization tool to understand the algorithms and their performance.

Self Paced
Self-Paced
Software Construction: Data Abstraction (edX) EdX
The University of British Columbia,UBCx

Software Construction: Data Abstraction (edX)

Learn powerful data abstraction and decomposition techniques to build large, complex programs. The course begins with the topic of data abstraction - from specification to implementation. Particular attention is given to how to write robust tests using JUnit. Then the course expands on these ideas to explore how type hierarchies and polymorphism can be used to decrease redundancy in your code. The course wraps up with a discussion of how to design robust classes.

Self Paced
Self-Paced
Data Structures & Algorithms II: Binary Trees, Heaps, SkipLists and HashMaps (edX) EdX
Georgia Institute of Technology,GTx

Data Structures & Algorithms II: Binary Trees, Heaps, SkipLists and HashMaps (edX)

Become familiar with nonlinear and hierarchical data structures. Study various tree structures: Binary Trees, BSTs and Heaps. Understand tree operations and algorithms. Learn and implement HashMaps that utilize key-value pairs to store data. Explore probabilistic data structures like SkipLists. Course tools help visualize the structures and performance.

Self Paced
Self-Paced
Introduction to Java Programming: Starting to code in Java (edX) EdX
Universidad Carlos III de Madrid - UC3M,UC3Mx

Introduction to Java Programming: Starting to code in Java (edX)

Learn to program with Java in an easy and interactive way! In this introductory Java programming course, you will be introduced to powerful concepts such as functional abstraction, the object oriented programming (OOP) paradigm and Application Programming Interfaces (APIs). Examples and case studies will be provided so that you can implement simple programs on your own or collaborate with peers.

Self Paced
Self-Paced
Data Structures & Algorithms III: AVL and 2-4 Trees, Divide and Conquer Algorithms (edX) EdX
Georgia Institute of Technology,GTx

Data Structures & Algorithms III: AVL and 2-4 Trees, Divide and Conquer Algorithms (edX)

Learn more complex tree data structures, AVL and (2-4) trees. Investigate the balancing techniques found in both tree types. Implement these techniques in AVL operations. Explore sorting algorithms with simple iterative sorts, followed by Divide and Conquer algorithms. Use the course visualizations to understand the performance.

Self Paced
Self-Paced
Introduction to Object-Oriented Programming with Java III: Exceptions, Data Structures, Recursion, and GUIs (edX) EdX
Georgia Institute of Technology,GTx

Introduction to Object-Oriented Programming with Java III: Exceptions, Data Structures, Recursion, and GUIs (edX)

Learn how to create and use exceptions, data structures, recursion, and graphical user-interfaces (GUIs). This course provides students with the knowledge to handle and even create exceptions to achieve graceful error handling in programs. They will also create and utilize data structures, including lists and files. Students will also learn about recursion and how it can be a useful approach to repetition in a program. Finally, students will learn how to develop basic graphical user interfaces (GUIs) using JavaFX.

Self Paced
Self-Paced