Week
|
Class |
Topic |
Due |
Where |
0 |
|
0. Computer Career and Data Research & Technologies |
|
|
0.1 A computer career |
|
|
0.2 Data research |
|
|
0.3 Data technologies |
|
|
1 |
08/26 08/28 |
1. Introduction to DATA 520 |
|
|
1.1 Course outline |
|
 |
1.2 Tentative schedule |
|
|
1.3 Software to be used |
|
|
2 |
09/02 09/04 |
2. Programming Exercise I |
|
|
2.1 Specifications |
|
|
2.2 A sample website |
|
|
2.3 Construction steps |
|
|
09/03 |
Last day to add a course or drop without record — 100% refund
Last day to add audit or change to/from audit
Last day to receive a refund on a dropped class
Drops after the last day to add will appear on a transcript.
|
|
|
3 |
09/09 09/11 |
3. Essential Technologies for Exercise Construction |
|
|
3.1 HTML (Hypertext Markup Language) |
|
|
3.2 CGI (Common Gateway Interface) |
|
|
3.3 Using Oracle |
|
|
4 |
09/16 09/18 |
4. Internet-Enabled Database Construction |
|
|
4.1 Technologies for website building |
|
|
4.2 Website construction summary |
|
|
4.3 An example |
|
|
5 |
09/23 09/25 |
5. Database Models |
|
|
5.1 Relational databases |
|
|
5.2 Object-oriented databases |
|
|
5.3 Website construction summary |
|
|
6 |
09/30 10/02 |
6. Oracle Databases |
|
|
6.1 Oracle Database 21c |
|
|
6.2 Oracle SQL*Plus |
|
|
6.3 Oracle data dictionary |
EX I |
|
7 |
10/09 |
7. Web-JDBC Programming |
|
|
7.1 |
|
|
7.2 Query execution |
|
|
7.3 Processing the result sets |
|
|
10/07 (no class) |
|
|
|
Exam I (for both on-campus and on-line students; 06:30pm – 08:30pm, Tuesday)
|
|
|
|
8 |
10/14 10/16 |
8. JDBC Programming |
|
|
8.1 Programming Exercise II |
|
|
8.2 Downloading and installing Android Studio |
|
|
8.3 Programming Android |
|
|
9 |
10/21 10/23 |
9. JDBC Programming (Cont.) |
|
|
9.1 Manifest file |
|
|
9.2 Layout XML code |
|
|
9.3 Java source code |
|
|
10 |
10/28 10/30 |
10. Relational Model |
|
|
10.1 Hypertext |
|
|
10.2 Radio buttons |
|
|
10.3 Checkboxes |
|
|
11 |
11/04 11/06 |
11. Relational Algebra |
|
|
11.1 Android URL connection |
|
|
11.2 Client-side Java scripts |
|
|
11.3 Server-side Java scripts |
|
|
12 |
11/13 |
12. SQL Query Language |
|
|
12.1 Relational tables |
|
|
12.2 Relational rules |
|
|
12.3 Relational algebra |
|
|
11/11 |
|
|
|
Holidays, Veteran’s Day (Tuesday) — no classes
|
|
|
|
11/14 |
Last day to change to or from S/U grading
Last day to change to or from audit grading
Last day to drop a full-term course or withdraw from school
|
|
|
13 |
11/20 |
13. Database Design |
|
|
13.1 Introduction to SQL |
|
|
13.2 Data definition commands |
|
|
13.3 Data manipulation commands |
|
|
11/18 (no class) |
|
|
|
Exam II (for both on-campus and on-line students; 06:30pm – 08:30pm, Tuesday)
|
|
|
|
14 |
11/25 |
14. SQL Query Language (Cont.) |
|
|
14.1 Basic modeling concepts |
|
|
14.2 Entity-relationship (E-R) model |
|
|
14.3 Transformation rules |
|
|
11/26 11/27 11/28 |
|
|
|
Holidays, Thanksgiving Break (WeThFr) — no classes
|
|
|
|
15 |
12/02 12/04 |
15. Database Design (Cont.) |
|
|
15.1 Advanced data manipulation commands |
|
|
15.2 SQL examples |
|
|
15.3 Power of SQL |
EX II |
|
16 |
12/09 12/11 |
16. Database Design (Cont.) |
|
|
16.1 Normalization |
|
|
16.2 Normal forms |
|
|
16.3 A case study |
|
|
17 |
12/16 |
|
|
|
Final exam (for both on-campus and on-line students; 06:30pm – 08:30pm, Tuesday)
|
|
|
|
18 |
12/23 |
Grades posted before noon, Tuesday |
|
|
According to
Google,
Top-10 popular computer careers (05/18/2025) are listed as follows:
- Software engineer
- Web developer
- (Experienced) Data scientist
- Information security analyst
- Network administrator
- Database administrator/developer
- Computer system analyst
- IT manager
- Business intelligence analyst
- DevOps engineer
|
|
|
However, without a proven track record, a computer/data-science graduate may face one of the highest unemployment rates (6.1%) because companies want employees to start contributing immediately according to
Newsweek (05/24/2025).
Computer/data science is different from many other disciplines (like electrical engineering).
It is more like a professional school (such as culinary schools), which emphasizes practical works instead of subject studies.
There are three kinds of computing personnel:
- Developers:
- Positions (plenty): Developers of front-end and back-end web pages, mobile apps, and all kinds of software
- Skills (more stable):
Programming languages (such as C++ and Java), web programming, mobile app development, data processing and management including databases, and data structures & algorithms
- Practitioners:
- Positions (not many): Experienced personnel like data scientists, database or system administrators, security analysts, and network architects
(more applications & configuration and less development)
- Skills (based on the needs of companies):
Databases, data warehousing, data lake, Hadoop, MapReduce, Linux, SPSS, SAS, Cogno, Matlab, Tableau, etc.
- Researchers:
- Industrial positions (few and based on the needs of corporations): High quality personnel required for the advanced areas like artificial intelligence, security, computer vision, autonomous driving, and speech recognition
- Academic positions/trends (few and changed according to the government policies):
❓ ⇐ artificial intelligence ⇐ big data ⇐ high-performance computing ⇐ security ⇐ (mobile) networks
Unless you have an impressive resume or a strong connection, practicing tens or hundreds of questions posted at the
LeetCode is a must in order to secure a job at corporations (like Google and Facebook).
Otherwise, your chance of answering the questions correctly is low because of their high difficulty and time constraint.
In addition, you need to create
LinkedIn pages to show your achievements, and may consider uploading your projects to the
GitHub to showcase them.
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:
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.
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 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.
University of North Dakota Course Descriptions (DATA 520) —
An introduction to the principles of database design and management.
Topics include query optimization, procedural extension of query languages, runtime error handling, normalization techniques, data warehousing, and NoSQL.
Database Outline —
A collection of information organized in such a way that a computer program can quickly select desired pieces of data.
To access information in a database, you need a database management system (DBMS), which is a collection of programs that enables you to enter, organize, and select data in a database.
A System Structure of a Generic Internet/Mobile-Enabled Database System —
|
|
|
Client-side mobile/handheld programming steps —
|
|
|
An Internet-Enabled and Mobile Database Course Sequence —
This is part of an Internet/mobile-enabled database course sequence offered by me:
CSCI 399 .NET and World Wide Web Programming
⇓
CSCI 457 Electronic and Mobile Commerce Systems
⇓
DATA 520 Databases
⇓
CSCI 513 Advanced Database Systems
⇓
CSCI 515 Data Engineering and Management
⇓
DATA 525 Data Engineering and Mining
The following platforms, software, and tools used in these courses greatly help students land a decent job:
- CSCI 399 (.NET and World Wide Web Programming) to build database-driven websites by using
- Microsoft Access database,
- Microsoft ASP.NET,
- Microsoft C# or Visual Basic,
- Microsoft .NET, and
- Microsoft Visual Studio.
- CSCI 457 (Electronic and Mobile Commerce Systems) to build electronic and mobile commerce systems by using
- Android programming,
- Android-server-database connection,
- (L) Linux operating system,
- (A) Apache web server,
- (M) MySQL database, and
- (P) PHP.
- DATA 520 (Databases) to build Internet-enabled database systems by using
- Client/web-server-database connection,
- JDBC (Java Database Connectivity),
- Oracle database, and
- Relational database design and SQL.
- CSCI 513 (Advanced Database Systems) to build Internet-enabled and embedded database systems by using
- Android programming,
- Android SQLite embedded database,
- JDBC (Java Database Connectivity),
- Object-relational SQL and PL/SQL, and
- Oracle (an object-relational database).
- CSCI 515 (Data Engineering and Management) to build location-based services and data-mining systems to discover knowledge from a large set of data by using
- Android programming,
- Android Google APIs and Firebase database,
- Data mining and knowledge discovery,
- Information retrieval,
- Location-based services, and
- Smartphones and mobile handheld devices.
- DATA 525 (Data Engineering and Mining) to build Internet-enabled data-mining systems to discover knowledge from a large set of data by using
- Data mining and knowledge discovery,
- Internet-enabled Firebase database,
- Information retrieval, and
- Internet-enabled TensorFlow.