Skip to content

Tech-at-DU/ACS-4330-Query-Languages

 
 

Repository files navigation

4390 Query Languages

ACS 4390 Query Languages explores modern alternatives to REST. In this class you will learn to use languages that facilitate communication between client and server applications, expand and improve on the tired and frustrating REST paradigm.

Query languages solve many of the problems of REST. Modern query languages such as GraphQL were made with the goal of solving all of the problems of REST.

Using Modern query languages, you will be able to define requests at your client and receive only the data you requested. Imagine making multiple nested requests with a single query and only receiving the data you asked for. Query languages are the future of web APIs and are currently used by hundreds of companies like: FaceBook/Meta, Twitter, GitHub, AirBnB, Coursera, Intuit, Lyft, Paypal, Pinterest, and more.

GraphQL

Learn GraphQL the better replacement for REST! Invented at Facebook to solve problems imposed by REST. GraphQL is an open source alternative that offers a new way of managing network resources.

Why you should know this (optional)

GraphQL provides many advantages over REST. It's used by all of the biggest services.

FaceBook, Coursera, GitHub and many others

GraphQL is built with a schema and strong types. GraphQL provides reliablity through it's strong typing system. GraphQL provides a solution to over fetching and unders fetching data, and allows front end requests to determine what data is returned from an endpoint.

If you want to work with a future of network resources learn GraphQL.

Course Specifics

Course Delivery: online | 7 weeks | 14 sessions

Course Credits: 3 units | 37.5 Seat Hours | 75 Total Hours

Prerequisites

  • Senior Standing
  • Instructor Approval

Learning Objectives

Students by the end of the course will be able to ...

  1. Compare GraphQL with REST
  2. Describe the Features of the GraphQL language
  3. Write a basic GraphQL Query and Schema
  4. Implement GraphQL in a CRUD Application

Schedule

Course Dates: Tuesday, January 21 – Thursday, Mar 7, 2024

Class Times: Tuesday and Thursday at 4:00 PM - 6:45 PM

Class Date Topics Assignment
1 Tue, Jan 21 Lesson 1 - GraphQL Intro SWAPI Query Challenges
2 Thu, Jan 23 Lesson 2 - GraphQL Schemas and Types GraphQL Resolver Challenges
3 Tue, Jan 28 Lesson 3 - GraphQL + Express GraphQL OpenWeatherMap API
4 Thu, Jan 30 Lesson 4 - React Intro React GraphQL Weather
5 Tue, Feb 4 Lesson 5 - React and GraphQL -
6 Thu, Feb 6 Lesson 6 - GraphQL Mutations -
7 Tue, Feb 11 Lesson 7 - Websockets Subscriptions
8 Thu, Feb 13 Lesson 8 - Subscriptions -
9 Tue, Feb 18 Lesson 9 - Subscriptions Lab GraphQL Hackernews
10 Thu, Feb 20 Lesson 10 - Advanced Queries -
11 Tue, Feb 25 Lesson 11 - Lab -
12 Thu, Feb 27 Lesson 12 - GraphQL ORM -
13 Tue, Mar 4 Final Presentations -
14 Thu, Mar 6 Final Assessment -

Homework

  • Class 1 - Start: Tues. Jan 21 Due: Thurs. Jan 23
    • Watch How To GraphQL (first 4 sections)
    • Answer Questions on Gradescope
    • Due Class 2
  • Class 2 - Start: Thurs. Jan 23 Due: Tues. Jan 28
    • Watch How to GraphQL (remaining videos)
    • Complete challenges in Lesson-2 #challenges
      • Submit to GradeScope
      • Due Class 3
  • Class 3 - Start: Tues. 28 Due: Thrus. Feb 14
    • OpenWeatherMap graphQL API
      • Complete the challenges in Lesson-3
      • Submit to GradeScope
      • Due Class 5
  • Class 4 - Start: Thurs. Jan 30 Due: Thurs. Feb 6
    • Lab for assignment 3
    • GraphQL Express server and Mutations
    • Complete the challenges in Lesson-4
      • Submit to Gradscope
  • Class 5 - Lab day for assignment 3 and 4
  • Class 6 - Start: Thurs. Feb 6 Due: Thurs. Mar. 6
    • How to GraphQL tutorial

Evaluation

To pass this course you must meet the following requirements:

  • Complete all required tutorials
  • Pass all projects according to the associated project rubric
  • Pass the final summative assessment >=75%
  • Actively participate in class and abide by the attendance policy
  • Make up all classwork from all absences

Attendance

Just like any job, attendance at Make School is required and a key component of your success. Attendance is being onsite from 9:30 to 5:30 each day, attending all scheduled sessions including classes, huddles, coaching and school meetings, and working in the study labs when not in a scheduled session. Working onsite allows you to learn with your peers, have access to support from TAs, instructors and others, and is vital to your learning.

Attendance requirements for scheduled sessions are:

  • No more than two no call no shows per term in any scheduled session.
  • No more than four excused absences per term in any scheduled session.

Failure to meet these requirements will result in a PIP (Participation Improvement Plan). Failure to improve after the PIP is cause for not being allowed to continue at Make School.

Information Resources

Any additional resources you may need (online books, etc.) can be found here. You can also find additional resources through the library linked below:

Resources

About

learn to use query languages with JavaScript and GraphQL.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 45.5%
  • CSS 28.6%
  • HTML 14.0%
  • SCSS 11.9%