SYLLABUS

DATA 520 Databases

(a practical and no-nonsense course)
(a course for database-driven electronic/mobile commerce system construction)


School of Electrical Engineering and Computer Science, University of North Dakota
Fall 2024

Class times: 09:30am – 10:45am, TuTh
Classroom: Witmer Hall 209
Credit hours: 3
Prerequisites:

  • DATA 511 Computing for Data Science I,
  • DATA 512 Computing for Data Science II, and
  • DATA 513 Mathematical Foundations for Data Science, or
  • Permission of the School of Electrical Engineering and Computer Science
Class pages: http://undcemcs01.und.edu/~wen.chen.hu/course/520/
 
Instructor: Wen-Chen Hu   (my teaching philosophy)
Email: wenchen@cs.und.edu
Zoom ID: https://und.zoom.us/j/2489867333
Office: Upson II 366K
Office hours: 02:30pm – 04:30pm, MoWeFr

Synchronous Class Delivery
The class lectures will be delivered synchronously via https://und.zoom.us/j/2489867333, and the Zoom video will be posted on the Blackboard afterwards. Students can watch the video clips anytime they want.

Lecture Notes
No textbook will be used. Instead award-winning, interactive, informative, and practical lecture notes (based on books, papers, online documents, and user manuals) and detailed and precise class instructions will be provided. Collectively, the lecture notes and instructions are more like a small book, which supplies much more information than regular notes do. Students will not have problem learning the subjects or taking the exams after studying them and doing programming exercises.

Course Description
This course gives a study of database system architecture, design methodology, and implementation, with emphasis on the relational model. It includes four themes:
  • Relational data models and database management systems,
  • SQL (Structured Query Language),
  • Database design including E-R modeling and normalization, and
  • Internet/mobile-enabled database system construction.
The following topics will be covered: relational data models, DBMSs (Database Management Systems), database design including E-R modeling and normalization, and SQL (Structured Query Language), database host languages such as Java, Internet/mobile-enabled databases, handheld (Android) computing, and Android-server connection, as well as some other special topics.
  • A system structure of a generic Internet/mobile-enabled database system —


  • Client-side mobile/handheld programming steps —

Objectives
After taking this course, students are able to achieve the following goals, but not limited to:
  • Knowledge of relational databases,
  • Knowledge of SQL (Structured Query Language),
  • Knowledge of database design including E-R modeling and normalization,
  • Knowledge of JDBC (Java Database Connectivity) language principles,
  • Knowledge of Android Java language principles,
  • Knowledge of Android Studio environment principles, and
  • Proficiency in design and development of Internet/mobile-enabled database systems.
References
Database technologies like programming languages have no breakthroughs for years, so old, new, these, or those textbooks are pretty much the same. In other words, not much database research is left to do. However, databases are still a useful tool for other research areas like data science including data (web) mining and discovery, information retrieval, and mobile data management. Don’t mention databases are a must tool for many applications such as e/m-commerce sites and IT systems. Most course materials are from the following two sources:
  1. Patrick O’Neil and Elizabeth O’Neil. Database: Principles, Programming, and Performance, Second Edition (The Morgan Kaufmann Series in Data Management Systems), ISBN: 1558604383, 2000.
  2. Oracle, Android, and other online manuals and documentations
Evaluations
    Two programming exercises (40% total):
      1. Internet-enabled database  ——  20%
      2. Mobile-enabled database    ——  20%
    Two exams                       ——  20% each
    Final exam                      ——  20%

Tentative Schedule
    Week          1  ——  Introduction
    Weeks 2,  3,  4  ——  Programming Exercise I construction 
    Week          5  ——  Oracle databases
    Weeks     6,  7  ——  (Web-) JDBC programming
    Weeks 8,  9, 10  ——  Android programming
    Week         11  ——  Android server connection
    Week         12  ——  Relational model and algebra
    Weeks    13, 15  ——  SQL (Structured Query Language)
    Weeks    14, 16  ——  Database design

Remark I
Definitions, terminologies, and theories will be discussed minimally in this course. Instead practical works and programming knowledge will be emphasized and enforced. The old technology, CGI (Common Gateway Interface), will be used to connect the Web to JDBC (Java Database Connectivity) programs because of the limited resources provided by the CEM, but CGI has no problem implementing the features used by other technologies (like ASP.NET or PHP). Also, the focus of this course is on databases, instead of Web-database connection.

Remark II
Web, mobile, and database programming is a must for IT developers, and the only effective way to learn software development is practicing, instead of studying concepts or writing some testing programs.
No pain, no gain 😂
Remark III
According to a study, students in computer courses learn much more by building large-scale exercises instead of many small-scale test programs, which give fragmented knowledge contrary to solid understanding of the system.

Remark IV
Remote work is a trend for IT workers. This course also allows you to learn how to do it by using the VPN (virtual private networks) to connect to our Linux server undcemcs02.und.edu, and having the exercises set up at the server and be accessed from the clients.

Instructor’s Qualification
The instructor’s PhD dissertation is titled “An image database system based on a linear skeleton representation,” which includes a database-driven web system by using Perl and Sybase in 1997, when not many people were familiar with the Web. In fact, all his research to date uses or relates to databases, but not tries to build or enhance a DBMS (database management system). In addition, he is familiar with many kinds of databases like Oracle, MySQL, Google Firebase, SQLite, Microsoft Access, Sybase, and MongoDB.

Dishonesty
Under no circumstances will acts of academic dishonesty be tolerated. Any suspected incidents of dishonesty will be promptly referred to the Assistant Dean of Students. Refer to the Code of Student Life, Appendix B.2: Academic Dishonesty.

Disability
Students who need special accommodations for learning or who have special needs are invited to share these concerns or requests with the instructor as soon as possible.