In this workshop, students will explore the fundamental concepts behind databases, and then practice creating and updating a database of their own. They will learn about relational databases, SQL, NoSQL, and the importance and impact of databases in modern society. By the end of the workshop, each student will have access to their own database, and will be able to interact with it in multiple ways.
Student-facing content is available at hytechcamps.github.io.
Here are some general guidelines for the overall flow of the camp:
Activity | Time |
---|---|
Icebreaker | 30m |
Presentation | 15m |
Interactive Activity | 10m |
Break | 10m |
Follow-Along | 40m |
Gimkit | 10m |
Conclusion | 5m |
Here are some tips to ensure a successful run:
- Before the camp, read through this lesson plan thoroughly
- During the camp, ask the students questions as often as possible
- Ask for their names, hobbies, favorite things... anything!
- Ask for suggestions about what to do next
- Poll them to see what they know, or what they'd like to do
- Make sure to turn off notifications for Teams, Outlook, etc
- Make sure to zoom in properly on small parts of the screen
- Encourage students to make their own choices in the project
- The more they personalize things, the more fun they tend to have!
- Take it slow at first, and always check to see how the students are progressing
- Don't trust them to tell you; make sure to actually have an assistant look at their screens and give the go-ahead
- Give students time to catch up before moving too far ahead, but...
- Don't stall too long on any one part
The entirety of the camp flows through the PowerPoint Presentation.
Have students submit movie reviews using a web application powered by MongoDB. Once all students have added reviews, they will introduce themselves.
The URL for the Movie Reviews site is https://movie-reviews-62s1.onrender.com/ - students can access this by clicking the link from the camp homepage. Make sure to visit the site before the camp begins - it usually takes a minute to get up and running.
If there are reviews, you can delete them by clicking on the "Action" table header, entering "allowthis" into the prompt, and clicking the "Delete" button next to reviews. Add one or two reviews in there to start.
Additionally, log into MongoDB using these credentials:
- Username: [email protected]
- Password: Tech0utreach!
Under the Clusters section, click the Browse collections box and select the reviews collection in the movie_reviews database. This is where all the reviews should appear, and they can be manually modified from here.
Start by directing the students to the Movie Reviews Site. Have each of them submit a review, making sure they enter their full name as the reviewer. If they have never seen a movie, they are welcome to review anything else.
Once a good number of reviews have been added, go around the room and have each student introduce themselves with their name, grade, school, and which movie they reviewed.
After all of the students have been introduced, head to the Atlas UI to show what the data looks like behind the scenes - show how it can be viewed, modified, and filtered. Don't worry about explaining it too much - the presentation is next!
After students have warmed up with the icebreaker, it's time for the presentation portion of the PowerPoint. These slides contain a brief introduction to data and databases, including SQL and NoSQL design approaches. There are notes with talking points in the slides.
Direct students to the camp homepage where they can find a link to SQLBolt. Encourage them to read through the guides, and attempt to complete as many lessons as possible before the break.
Walk through the Follow-Along Activity with the students. They should create and deploy their own cluster in MongoDB Atlas, and then connect to it through a web application.
Click here to remix the web application project on Glitch.
If a student is really struggling to follow along with the activity, this connection string can be shared with them. Replace <username>
with ezekieljohnson
, and <password>
with eM4OPS9FdgsAVLpV
in this string:
mongodb+srv://<username>:<password>@cluster0.6haikte.mongodb.net/?retryWrites=true&w=majority&appName=Cluster0
If a student does use this connection string, they can still create their own personal database within the cluster. In the server.js file, on line 25, they can change the dbsettings.dbName
property to point to something new - like "posts-alice"
or "posts-bob"
. It should look something like this:
dbSettings.dbName = "posts-student-name-here";
Gimkit is a fun formative assessment tool that's similar to Blooket, but with some different game modes. Just like Blooket, there are a variety of modes where the students compete against each other in different ways. Answering questions correctly helps them achieve more success in each game.
An account is required to host the game; here are some credentials you can use:
- Username: [email protected]
- Password: Tech0utreach!
When setting up the game, try to time it so that it ends just a couple minutes before the camp ends. Note that it will likely take 2-3 minutes for all the students to join the game, so a game time limit of 7 minutes might end up taking about 10 minutes.
- Go to the Gimkit Login Page
- Enter the credentials above
- Find the Databases question set
- If it appears in the list, click the green "Play Live" button
- From the set page, click the "Play Live" link on the left side
- Select one of the freely-available game modes
- Adjust the time as needed, but keep everything else the default
- Click the Continue button
- Instruct students to go to gimkit.com/join, enter the code and a nickname, and join the game
- Once all students have joined, click the Start Game button
From there, the students will work on their own, answering questions and trying to win the game!
Make sure to close out the camp on a strong, positive note of encouragement. Here are some key points to hit:
- Thank the students for participating
- Encourage them to continue learning about databases on their own
- Tell them they can reach us at [email protected] if they have any questions or would like any guidance
- Send them on their way!