Method
Flexible
Term
FALL
Units
2.0 QUARTER UNITS
Cost
$760

Course Description


Databases, websites, and business applications need to exchange data. This is accomplished by defining standard data formats such as Extensible Markup Language (XML) or JavaScript Object Notation (JSON), as well as transfer protocols or Web services such as the Standard Object Access Protocol (SOAP) or the more popular Representational State Transfer (REST). Developers often have to design their own Application Programming Interfaces (APIs) to make applications work while integrating specific business logic around operating systems, languages or servers. This course introduces these concepts with a focus on the RESTful API.

The course also introduces the data exchange mechanism and common data formats. For Web exchange, you will learn the HTTP protocol, including how to use SOAP with XML. The course compares SOAP and REST, then covers the concepts of stateless transfer. It introduces software API design and best design practices. The second half of the course focuses on RESTful API design and implementations using Python Django, the most popular web development framework. You will learn how to build and consume RESTful services using JSON and XML, and integrate RESTful API with different data sources through hands-on coding projects. Through four coding assignments, which form the course project, you will apply what you have learned to implement a Single-Page Application (SPA) with both the front-end (provided by the instructor) and the Django-based backend with REST web service.

This course is intended for software developers who use data in projects. It is also useful for data professionals who need to understand the methods of data exchange and how to interact with business applications.

Prerequisites / Skills Needed

Python programming experience is required for the exercises and the project.

  • Flexible Attend in person or via Zoom at scheduled times.
Schedule
Date
Start Time
End Time
Meeting Type
Location
Wed, 12-10-2025
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Wed, 12-10-2025
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Wed, 10-22-2025
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Wed, 10-22-2025
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Wed, 10-29-2025
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Wed, 10-29-2025
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Wed, 11-05-2025
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Wed, 11-05-2025
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Wed, 11-12-2025
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Wed, 11-12-2025
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Wed, 11-19-2025
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Wed, 11-19-2025
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Wed, 12-03-2025
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
Wed, 12-03-2025
6:30pm
9:30pm
Flexible
SANTA CLARA / REMOTE
 

10/13/25: Course postponed by one week. Review full schedule for details.

This class meets simultaneously in a classroom and remotely via Zoom. Students are expected to attend and participate in the course, either in-person or remotely, during the days and times that are specified on the course schedule. Students attending remotely are also strongly encouraged to have their cameras on to get the most out of the remote learning experience. Students attending the class in-person are expected to bring a laptop to each class meeting.

No meeting on November 26, 2025. To see all meeting dates, click "Full Schedule" below.

Electronic Course Materials: You will be granted access in Canvas to your course site and course materials approximately 24 hours prior to the published start date of the course.

Demo