7

I've taught a lot of people SQL in person (over 3000), and I've had to cobble together materials out of a bunch of resources to do it. For Exercises: http://sqlzoo.com http://pgexercises.com https://www.codewars.com/?language=sql For slides, you can use mine, just fork them and remove the branding (they are CC-licensed, the branding is just there to look ...


6

There are some things you can only "get" by having repetition wear it into your brain. This seems to me like a clear use case for first making them do it the hard way. So, construct a non-normalized schema and make them walk, painfully, through keeping everything in synch. Done right, they will be thoroughly sick of it after just a few updates. Then, step ...


5

I'm going to clean this up later, but am posting the verbatim work of the CSTA members so others can chime in with additional bullets. I'm aiming to have one resource per bullet: Resources name, link, annotation, example ideas for projects How about CSV Data Sets at https://vincentarelbundock.github.io/Rdatasets/datasets.html Maybe there’s something there ...


5

Based on the comments, the minimum for theory and technical is how the nomenclature of MS Access relates to Excel. If they've been doing everything in Excel anyway, they've developed habits for, or against, normalization that you're not going to break in a couple days, intensive or not. If they haven't discovered the pitfalls of redundant data in Excel, ...


5

I've been a big fan of Twitter for this type of project since 2014. You could use an API to pull some news feeds and turn them into a flat file for use with students. My students have found researching politicians interesting - especially to see if the subjects of their tweets match the issues they claim to care most about. I use the Twitter 4J API for ...


4

The National Oceanic and Atmospheric Administration (NOAA) has plenty of climate data sets (https://www.ncdc.noaa.gov/cdo-web/datasets). I've used them with students to predict how many school days we may miss in February based on historical data. Recently, I heard that the latest named tropical storm in the Atlantic is a three-letter name so I started ...


4

I'd like to expand on one source in an answer offered above: The Collection of Really Great, Interesting, Situated Datasets, or simply CORGIS. From their About page: The CORGIS project aims to transform early computer science projects by introducing real-world data via simple-to-use client libraries. Data Science offers an authentic context for your ...


4

At the state college I work for we stopped teaching Access as the "intro to databases" class a while ago. I taught the class this term using MySQL and MySQL Workbench. We had it installed on our lab machines (windows) and I also provided a VirtualBox VM with a Linux desktop, the MySQL server, the Workbench program, and a few other goodies. Since I ended ...


3

I have found the Shelly Cashman Series® of books to be effective. All too often the focus is on Microsoft products. In this case, Access is the database used in Shelly Cashman Series® Microsoft® Office 365 & Access 2016: Comprehensive, 1st Edition, (2017). Table of Contents: Microsoft's New Productivity Tools for School and Work. Office ...


3

I stil think this is basically a duplicate of this question: Good datasets for intro CS courses? You're asking for a database of interesting data. The other question is asking about interesting data. The only thing you need to do to get from the answers in that question to the answers to your question is to write a little bit of processing code that outputs ...


3

I agree that simplified rules such as this, in concept, can help students grasp the main concepts! Regarding these particular simplifications, I think for the last one you meant BCNF instead of 3NF. 3NF allows an attribute to not depend on the PK, but rather on some other element, if that attribute is part of some other candidate key. The distinction between ...


3

Students are better able to handle structured information when they understand, at the start, what that structure is. Explain the situation to your students. You are about to present a series of deeply interconnected systems, and though they form a beautiful system together, they essentially can't do anything until they're all moving in tandem. That means ...


2

I think that the "problem first" approach applies here. Rules like normal form weren't handed down from on high; they were developed as logical solutions to actual existing problems. One key principle from a favorite article on teaching: Coax into action the student’s mind to derive and establish all data which can be derived or established from the ...


2

There are a few Stack Exchange sites you might want to check out: Open Data: Open Data Stack Exchange is a question and answer site for developers and researchers interested in open data. Data Science: Data Science Stack Exchange is a question and answer site for Data science professionals, Machine Learning specialists, and those interested in learning more ...


2

SQlite is small and as the name suggest "lite" is great for storing data for mobile applications. Apart from that It can easily be used for other small scale web applications without hiccups (100k or more rows). Resources The official guide is great. Also checkout the reference of the sqlite package once you are comfortable with using SQlite. Here's a ...


2

Look into demo instances for real products that run on various databases. I see more of sqlserver, oracle, and db2 in enterprise apps. Download some free demo instances of Openmaint, Maximo, redmine, or other apps that are backed by a serious database,.


2

Is there any easy to use database platform that would allow 9th graders to enter data easily (like Google Sheets), and pull data using client-side JS? Given that you're thinking about Google Sheets as a data entry method, I understand that your goals don't extend to getting the students to implement server-side form handling. But in that case, why do you ...


2

I highly recommend Database: Principles, Programming, and Performance, by O'Neill and O'Neill. Learned from that book for my first database course and loved it.


1

There are some websites that have free APIs. One is JSONPlaceholder, but you can easily request access to some others. For instance, Strava offers some for those interested in developing applications from running / swimming / biking data; all you need is an account, which can be made at no cost! So in regards to the challenge at hand, you could use these ...


1

I'll start by saying that my experience is in industry, not in a classroom. I worked for a fortune 500 company that brought a new division up to the billion dollar per year mark using an MS Access database. For five years, over a decade ago, I was one of the people working in Access daily to expand and manage the product until it was retired. While MS ...


1

Disclaimer: This recommendation comes from my experience teaching web development (and using an ORM to interface with the database), because I've never had the opportunity to teach a database management course. I'd recommend using an RDS like SQLite. SQLite is an RDS that stores the database in a binary file, and has a SQL command line interface. I find it ...


1

You can check out the WorldWideImporters db (from Microsoft): https://github.com/Microsoft/sql-server-samples/releases/tag/wide-world-importers-v1.0 Or the AdventureWorks db (from Microsoft as well): https://github.com/Microsoft/sql-server-samples/releases/tag/adventureworks (links at the botto still work)


1

This isn't an example, but rather an explanation. Here is how I think about this issue. In the early days of computing, machine language and assembly language, the meaning of the program and its constructs were almost entirely in the heads of programmers. The program meant what the user thought it meant and the output (bunch of numbers) was interpreted ...


1

I'm not seeing an explanation of object-relational mismatch there for two reasons: What are the objects? You've sketched a database table definition and a visualisation, but I don't see a sketch of the application program's structures. As far as I can see, all of the additional information in the visualisation can be made available in a purely relational ...


1

This answer is a supplement to those of BenI. and ctrl-alt-delor, with a specific suggestion. Call it an implementation strategy. Your problem is that the topic is broad, with lots of parts. You can show them the big picture by showing them a complete application that is as shallow as can be (broad but shallow). It has all the parts, but each part is as ...


1

One thing that hasn't been mentioned (enough) in the earlier answers is the reason that one wants to do normalization in the first place. In many parts of computing redundancy is good. Java gives explicit types to variables and then checks that the assigned values have those types. That is actually redundant, as the Python language shows. However, the ...


1

It seems that the presentation of the material is done well. Given that the problems assigned from the textbook are in a sequence that increases with complexity, there isn't much you can change. A possibility is to assign one problem at a time, going over the results of it before moving to the next one. That way, maybe, you can find out where the ones ...


Only top voted, non community-wiki answers of a minimum length are eligible