Introduction

Welcome to Project Wars. This educational game is designed to help you experience various concepts in project execution.

Your goal is to develop and ship an IT product. To do this, you must produce 10 pieces of integrated code. The customer will inspect 8 pieces of code. So long as the customer finds no major bugs in the code, and at most 2 bugs, you win the game. Note these initial numbers can change depending on various circumstances that occur in the game.

There are two key things you need to produce enough integrated code. The first thing you need to do is hire competent project team members. The second thing you need to do is make them work. Every week, your project team will encounter opportunities and problems. With a little luck, how you manage hiring, working, and the opportunities and problems will determine how successful your project is.

Below is a simple tutorial for Project Wars:


Self Joins

The video here introduces students to joins where a table is summoned more than once. The concept of aliasing is also introduced.


Materials covered in the W3C syllabus include:

Natural Joins

The video here introduces students to joins where the primary key and foreign key have exactly the same name and data type. I also advocate for not using this clause as it leads to sloppy thinking.


Interestingly, the concept is not covered well by W3C, but is covered elsewhere:

Minus

The video here introduces students to the minus clause that essentially is the opposite of a union clause. Note MySQL does not support the minus clause.


The W3C syllabus does not cover minus for some reason.

Not In

The video introduces students to Type I nested queries- queries involving in and not in.


The W3C Syllabus doesn't cover this very well:

Not Exists

The video introduces students to Type II nested queries- queries involving exists and not exists. It also introduces students to the problem of three-valued logic and nulls in SQL.


The W3C Syllabus doesn't cover this very well:

Simple Statistical Functions

The video introduces students to aggregation in SQL and simple statistical functions like sum, min, max, average, etc.


Materials covered by the W3C syllabus include:

Group By

The video introduces students to the group by clause in SQL aggregation.


Materials covered by the W3C syllabus include:

Having

The video introduces students to the having clause in SQL aggregation- basically a where clause after a group by.


Materials covered by the W3C syllabus include:

Nested Statistical Queries

The video introduces students to the any and all operators used to nest statistical queries.


Materials covered by the W3C syllabus include:

Insert Queries

The video introduces students to use SQL to add records to a table.


Materials covered by the W3C syllabus include:

Update Queries

The video introduces students to how to use SQL to change records in a table.


Materials covered by the W3C syllabus include:

Delete Queries

The video introduces students to use SQL to remove records from a table.


Materials covered by the W3C syllabus include:

Creating Tables

I don't teach the SQL commands to create tables, because (1) they vary considerably across commercial database platforms and (2) it is more efficient to create tables with a user interface you should never have to create tables programmatically.

These are exercises for creating tables I use with my students.