9 Code Developer University

 

This chapter covers

  • AWS Glue and Amazon Athena
  • Using EventBridge to connect system components
  • Using Kinesis Firehose and Lambda for at-scale data processing

One idea that we’ve been mulling for a while has been a web app designed to help developers learn programming skills in a fun way with gamification and useful analytics. Our idea, let’s call it Code Developer University (CDU), evolved into a proof-of-concept website with a collection of interesting programming challenges for budding developers to solve and to build skills.

Each challenge would pose a problem. The student would have space to type in their solution and then submit it to our system for processing. The system would run the solution through a battery of tests and decide whether the solution passed or failed. If the solution failed, the user would have a chance to update their code and resubmit again. If the solution passed, the user would advance to the next challenge, receiving between 50 and 500 experience points (XP) based on the difficulty of the problem.

9.1 Solution overview

9.1.1 Requirements listed

9.1.2 Solution architecture

9.2 The Code Scoring Service

9.2.1 Submissions Queue

9.2.2 Code Scoring Service summary

9.3 Student Profile Service

9.3.1 Update Student Scores function

9.4 Analytics Service

9.4.1 Kinesis Firehose

9.4.2 AWS Glue and Amazon Athena

9.4.3 QuickSight

Summary