SYLLABUS

CSCI 513 Advanced Database Systems
(a programming-intensive 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: 03:30pm – 04:45pm, TuTh
Classroom: Leonard Hall 107
Credit hours: 3
Prerequisite: CSCI 455 Database Management Systems
Class pages: http://undcemcs01.und.edu/~wen.chen.hu/course/513/
 
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 an advanced study of database system architecture and implementation, with emphasis on the object-oriented, object-relational, and embedded data models. It includes four themes:
  • Object-oriented, object-relational, embedded data models and database management systems,
  • Oracle object features and programming,
  • Advanced web-enabled database systems, and
  • Mobile apps using embedded databases.
The following topics will be covered: object-oriented, object-relational, and embedded data models, DBMSs, and SQL, Oracle 12c system and programming, database host languages, web-enabled databases, advanced relational database management systems, handheld (Android) computing, and SQLite embedded databases, as well as some other special topics.
  • A system structure of a generic web-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 advanced relational databases,
  • Knowledge of object-relational databases,
  • Knowledge of embedded databases,
  • Knowledge of advanced (PL/)SQL principles,
  • Knowledge of JDBC language principles,
  • Knowledge of Android Java language principles,
  • Knowledge of Android Studio environment principles, and
  • Proficiency in database-driven system design and development.
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 (e.g., location-based services). 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 four sources:
  1. Georg Lausen and Gottfried Vossen. Models and Languages of Object-Oriented Databases. Addison-Wesley, 1998
  2. Michael Stonebraker and Paul Brown. Object-Relational DBMSs: Tracking the Next Great Wave, 2nd edition. Morgan Kaufmann, 1999
  3. Oracle, SQLite, Android, and other online manuals
  4. Collections of papers
Evaluations
    Two programming exercises (40% total):
      1. Internet-enabled DB  ——  20%
      2. Embedded DB          ——  20%
    Two exams                 ——  20% each
    Final exam                ——  20%

Tentative Schedule
    Weeks  1,  4  ——  Introduction
    Weeks  2,  3  ——  Programming Exercise I construction 
    Week       5  ——  Oracle databases
    Weeks  6,  7  ——  (Web-) JDBC programming
    Weeks  8,  9  ——  Android programming
    Weeks 10, 11  ——  Android SQLite database
    Weeks 12, 14  ——  Oracle object-relational SQL
    Week      13  ——  Oracle PL/SQL
    Weeks 15, 16  ——  Object-oriented DBMSs

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
This is an advanced database course. For data engineering and management, check CSCI 515 Data Engineering and Management using data mining and data science.

Remark III
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 IV
According to a study, students in computer-science 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 V
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.






      “Count your age by friends, not years.    
      Count your life by smiles, not tears.”    
      ― John Lennon