ICS 321 Database Systems I
Syllabus—Fall 2025
CRN 70548
Dr. Richard Halverson
CLASS:
|
When
|
Online asynchronous.
|
|
Recordings
|
YouTube Playlist: ICS321 Fall 2025 Halverson
|
CONTACT:
|
Professor
|
Dr. Richard Halverson
|
|
Office
|
https://hawaii.zoom.us/j/8083717424
|
|
Office Hours
|
On Zoom by appointment by email or text
|
|
Email
|
richardh@hawaii.edu
|
|
Text
|
808-371-7424
|
TEXTBOOK:
1. Sign in or create an account at learn.zybooks.com
2. Enter zyBook code: HAWAIIICS321HalversonFall2025
3. Subscribe. Cost is $89.
Textbook URL: https://learn.zybooks.com/zybook/HAWAIIICS321HalversonFall2025
The textbook is tailored for this class. You must complete all the assigned participation activities, challenge activities and zyLab lab assignments. Make sure you use your @hawaii.edu email address.
COURSE PREREQUISITES
ICS 314 and either ICS 311 or EE 367, or consent of instructor or Department Chairperson.
COURSE DESCRIPTION AND OPERATION
Introduction to relational database systems, data modeling, query processing, transaction processing, storage, and indexing.
SCHEDULE:
Video lectures will be posted in the YouTube playlist for this semester and videos from previous semesters are
|
Week
|
Reading (* - required)
|
Assessment (* - required)
|
|
- 1 - Mon 8/25 Fri 8/29
|
Ch 1 Introduction to Databases (Sections 1.1 - 1.6) Participation Activities* (62 pts)
|
Ch 1 Challenge Activities* (4 pts)(Due 8/31)
|
|
- 2 - Tue 9/2 Fri 9/5
|
Ch 2 Relational Databases - Create (Sections 2.1 - 2.5) Participation Activities* (70 pts)
|
Ch 2 Challenge Activities* (5 pts) Ch 2 Lab Activity 2.6, 2.7 (20 pts) (Due 9/7) Server Assignment 1: Schemas (Due 9/21)
|
|
- 3 - Mon 9/8 Fri 9/12
|
Ch 3 Relational Databases - Select, Insert, Update (Sections 3.1 - 3.3) Participation Activities* (54 pts)
|
Ch 3 Challenge Activities* (13 pts) Ch 3 Lab Activity 3.4, 3.5, 3.6, 3.7 (40 pts) (Due 9/14)
|
|
- 4 - Mon 9/15 Fri 9/19
|
Ch 4 Relational Databases - Keys and Constraints (Sections 4.1 - 4.4) Participation Activities* (68 pts)
|
Ch 4 Challenge Activities* (16 pts) Ch 4 Lab Activity 4.5, 4.6, 4.7 (30 pts) (Due 9/21)
|
|
- 5 - Mon 9/22 Fri 9/26
|
Ch 5 Normal Forms (Sections 5.1 - 5.3) Participation Activities* (53 pts)
|
Ch 5 Challenge Activities* (3 pts) Ch 5 Lab Activity 5.4, 5.5 (20 pts) (Due 9/28) Server Assignment 2: Normal Forms (Due 10/12)
|
|
- 6 - Mon 9/29 Fri 10/3
|
Ch 6 SQL Aggregate Functions (Sections 6.1 - 6.3) Participation Activities* (37 pts)
|
Ch 6 Challenge Activities* (12 pts) Ch 6 Lab Activity 6.4, 6.5 (20 pts) (Due 10/5)
|
|
- 7 - Mon 10/6 Fri 10/10
|
Ch 7 SQL JOINs (Sections 7.1 - 7.2) Participation Activities* (20 pts)
|
Ch 7 Challenge Activities* (4 pts) Ch 7 Lab Activity 7.3, 7.4, 7.5, 7.6, 7.7 (50 pts) (Due 10/12)
|
|
- 8 - Mon 10/13 Fri 10/17
|
Ch 8 SQL Subqueries (Sections 8.1 - 8.4) Participation Activities* (88 pts)
|
Ch 8 Challenge Activities* (16 pts) Ch 8 Lab Activity 8.5 (10 pts) (Due 10/19)
|
|
- 9 - Mon 10/20 Fri 10/24
|
Ch 9 Database Programming (Sections 9.1 - 9.2) Participation Activities* (45 pts)
|
Ch 9 Challenge Activities* (2 pts)(Due 10/26) Server Assignment 3: Triggers and Stored Procedures (Due 11/9)
|
|
- 10 - Mon 10/27 Fri 10/31
|
Ch 10 Transaction Management (Sections 10.1 - 10.5) Participation Activities* (81 pts)
|
Ch 10 Challenge Activities* (13 pts) Ch 10 Lab Activity 10.6 (10 pts) (Due 11/2)
|
|
- 11 - Mon 11/3 Fri 11/7
|
Ch 11 Data Storage and Indexes (Sections 11.1 - 11.7) Participation Activities* (112 pts)
|
Ch 11 Challenge Activities* (25 pts) Ch 11 Lab Activity 11.8 (10 pts) (Due 11/9)
|
|
- 12 - Mon 11/10 Fri 11/14
|
Ch 12 PHP and HTML Forms (Sections 12.1 - 12.20) Participation Activities* (142 pts)
|
Ch 12 Challenge Activities* (7 pts) Ch 12 Lab Activity 12.21 (10 pts) (Due 11/16) Server Assignment 4: Web APIs (3 parts) (Due 12/7)
|
|
- 13 - Mon 11/17 Fri 11/21
|
Ch 13 ER Models (Sections 13.1 - 13.6) Participation Activities* (92 pts)
|
Ch 13 Challenge Activities* (11 pts)(Due 11/23)
|
|
- 14 - Mon 11/24 Fri 12/5
|
Ch 14 Database Design (Sections 14.1 - 14.5) Participation Activities* (58 pts)
|
Ch 14 Challenge Activities* (10 pts) Ch 14 Lab Activity 14.1, 14.11 (20 pts) (Due 12/7)
|
|
- 15 - Mon 12/8 Fri 12/12
|
Ch 15 ER Model Case Study (Sections 15.1 - 15.6) Participation Activities* (13 pts)
|
Ch 15 Lab Activity 15.7 (10 pts) (Due 12/14)
|
available in the Resources folder.
GRADING POLICY: See the Grades tab in Lamaku for the percentage breakdown of each score within each category. All assignments are submitted electronically and auto graded.
|
Type
|
Points
|
%
|
Description
|
|
Participation Activities
|
995
|
10
|
Click through animations in zyBooks with multiple choice questions throughout each section reinforcing the concepts. Unlimited submissions.
|
|
Challenge Activities
|
141
|
20
|
Short fill-in-the-blank quizzes in zyBooks demonstrating your understanding of the material covered in that section. Unlimited submissions.
|
|
Lab Activities
|
200
|
40
|
Coding assignments at the end of most chapters in zyBooks. Unlimited submissions.
|
|
Server Assignments
|
100
|
30
|
Assignments to be completed on your assigned server. You will be provided with a MySQL server in the cloud that I access for grading. Grading will be automatic on all parts of the assignments.
|
All auto-graded assessments must be completed by Saturday after the last day of finals.
Letter grades will be based on a rounded percentage and assigned as follows:
|
A
|
B
|
C
|
D
|
|
A+ >= 100
|
B+ >= 87
|
C+ >= 77
|
D+ >= 67
|
|
A >= 95
|
B >= 83
|
C >= 73
|
D >= 63
|
|
A– >= 90
|
B– >= 80
|
C– >= 70
|
D– >= 60
|
COURSE OUTCOMES
ICS 321 Database Systems introduces relational database systems, data modeling, query processing, transaction processing, storage, and indexing. At the end of this class, the successful student will:
Understand what a database system is
- You understand what a DBMS is and what it provides
- You understand how DBMS provides data independence and protects the data from the user.
- You understand security, concurrency, integrity, and recovery controls.
- You can compare database systems with programming systems.
Understand the relational model of data
- You understand what the relational model is
- You can conceptualize data using the relational model.
- You understand what basic relational algebra operators under set semantics.
- You understand matching, not matching, extend operations and image relations.
- You can express queries using relational algebra.
- You can create tables using SQL Data Definition Language (DDL)
- You understand integrity constraints
- You can specify primary key and foreign key constraints in CREATE TABLE statements
Be proficient in SQL
- You can write SQL queries with restrictions, projections and joins.
- You can compose SQL queries using set operators.
- You can write SQL queries with correlated subqueries.
- You can write SQL aggregation queries involving GROUP BY and HAVING clauses.
- You can write SQL queries implementing set union, intersection and difference operations.
- You can write SQL queries implementing matching and image relations.
- You can translate a query in English to SQL.
Be able to write a program that interacts with a DBMS server
- You understand client-server computing in the context of DBMSs
- You understand how a host programming language environment interacts with the SQL environment
- You can implement simple APIs that interact with a DBMS server.
Structure Data using Data Models
- You can use data modeling tools like Entity-Relationship Diagrams.
- You can translate data models into relational table schema (DDLs)
Understand Data Normalization
- You understand functional dependencies and their relationship to keys
- You understand multi-valued dependencies and join dependencies.
- You understand normal forms 1NF, 2NF, 3NF, BCNF, 4NF and 5NF.
- You can find keys given a set of functional dependencies
- You can identify tables that are not normalized
- You can decompose unnormalized tables.
Understand constraints, views, triggers, stored procedures, and indexes in Databases
- You understand what constraints are for and how to use them.
- You understand what views are for and how to use them.
- You understand what triggers are for and how to use them.
- You understand what stored procedures are for and how to use them.
- You understand what indexes are for and how to use them.
Understand basic transaction processing concepts
- You understand transactions and their properties of Atomicity, Consistency, Isolation and Durability (ACID)
- You understand the anomalies that occur without ACID.
- You can implement stored procedures that use transactions to ensure ACID.
Understand how data is stored and indexed in a DBMS
- You understand storage media and their basic properties
- You understand how data is stored using storage media in a DBMS
- You understand how different indexing techniques work
In addition to the ICS department’s undergraduate course outcomes, which are students will have:
- An ability to apply mathematical foundations, algorithmic principles, and computer science theory to the modeling and design of computer-based systems.
- An ability to define the computing requirements of a problem and to design appropriate solutions based on established design principles and with an understanding of the tradeoffs involved in design choices.
- An ability to use sound development principles to implement computer-based and software systems of varying complexity, and to evaluate such systems.
- An ability to use current techniques, skills, and tools necessary for computing practice.
|