, and the Zoom video will be posted on the Blackboard afterwards.
Students can watch the video clips anytime they want.
No textbook will be used.
Instead award-winning, interactive, informative, and practical
and other 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 and makes the subject studies much easier.
Students will not have problem learning the subjects or taking the exams after studying them and doing programming exercises.
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 |
01/10 01/12 |
1. Introduction to CSCI 457 |
|
|
1.1 Course outline |
|
|
1.2 System overview |
|
|
1.3 Software used |
|
|
2 |
01/17 01/19 |
2. Programming Exercise I |
|
|
2.1 Specifications |
|
|
2.2 Construction steps |
|
|
2.3 Related software and tools |
|
|
01/18 |
Last day to add a course or drop without record
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.
|
|
|
01/15 |
|
|
|
Holiday, Martin Luther King Jr. Day (Monday) — no classes
|
|
|
|
3 |
01/22 01/24 01/26 |
3. Technologies for E-Commerce Site Construction |
|
|
3.1 Website building technologies |
|
|
3.2 LAMP |
|
|
3.3 E-commerce site construction |
|
|
4 |
01/29 01/31 02/02 |
4. Introduction to PHP (HyperText Preprocessor) |
|
|
4.1 PHP basics |
|
|
4.2 PHP syntax |
|
|
4.3 PHP control statements |
|
|
5 |
02/05 02/07 02/09 |
5. PHP (Cont.) |
|
|
5.1 PHP forms |
|
|
5.2 PHP cookies |
|
|
5.3 PHP sessions |
|
|
6 |
02/12 02/14 02/16 |
6. SQL (Structured Query Language) |
|
|
6.1 Introduction to SQL |
|
|
6.2 Data definition language (DDL) |
|
|
6.3 Data manipulation language (DML) |
EX I |
|
7 |
02/23 |
7. PHP and MySQL |
|
|
7.1 Connecting PHP to MySQL |
|
|
7.2 PHP MySQL data definition |
|
|
7.3 PHP MySQL data management |
|
|
02/19 |
|
|
|
Holiday, Presidents’ Day (Monday) — no classes
|
|
|
|
02/21 |
|
|
|
Exam I (for both on-campus and on-line students; 6:30pm – 8:30pm, Wednesday)
|
|
|
|
8 |
02/26 02/28 03/01 |
8. Introduction to Android Programming |
|
|
8.1 Programming Exercise II |
|
|
8.2 Android introduction |
|
|
8.3 An Android hello-world project |
|
|
9 |
03/04 – 03/08 |
Spring Break — no classes
|
|
|
10 |
03/11 03/13 03/15 |
10. Android User Interface Processing |
|
|
10.1 Hypertext |
|
|
10.2 Radio buttons |
|
|
10.3 Checkboxes |
|
|
11 |
03/18 03/20 03/22 |
11. Android Server Connection |
|
|
11.1 Android URL connection |
|
|
11.2 Java source code |
|
|
11.3 Server-side PHP scripts |
|
|
12 |
03/25 03/27 |
12. Programming Exercise III |
|
|
12.1 Location-based services (LBS) |
|
|
12.2 AJAX basics |
|
|
12.3 HTML5 Geolocation |
|
|
03/29 |
|
|
|
Holiday, Good Friday — no classes
|
| |
|
13 |
04/03 04/05 |
13. AJAX Anatomy and Examples |
|
|
13.1 AJAX introduction |
|
|
13.2 AJAX step by step |
|
|
13.3 AJAX examples |
|
|
04/05 |
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
|
|
|
04/01 |
|
|
|
Easter holiday (Monday) — no classes
|
| |
|
14 |
04/08 04/12 |
14. XML, HTML DOM, and JSON |
|
|
14.1 XML |
|
|
14.2 HTML DOM |
|
|
14.3 JSON |
|
|
04/10 |
|
|
|
Exam II (for both on-campus and on-line students; 6:30pm – 8:30pm, Wednesday)
|
|
|
|
15 |
04/15 04/17 04/19 |
15. JavaScript |
|
|
15.1 JavaScript syntax |
|
|
15.2 JavaScript instructions |
|
|
15.3 JavaScript examples |
|
|
16 |
04/22 04/24 04/26 |
16. NPM (Node Package Manager) |
|
|
16.1 Introduction to NPM |
|
|
16.2 jQuery |
|
|
16.3 React |
|
|
17 |
04/29 05/01 |
17. Electronic and Mobile Commerce Concepts |
|
|
17.1 Web basics |
|
|
17.2 Electronic commerce |
|
|
17.3 Mobile commerce |
EX II |
|
18 |
05/08 |
|
|
|
Final exam (for both on-campus and on-line students; 06:30pm – 08:30pm, Wednesday)
|
|
|
|
19 |
05/14 |
Grades posted before noon, Tuesday |
|
|
According to
IT Career Finder,
Best Computer Jobs for the Future (12/01/2023) are listed as follows:
- IT security specialist (not developer; average salary: $112,000)
- Mobile application developer (average salary: $127,000)
- Software engineer (average salary: $124,000)
- Video game designer (including developer; average salary: $81,000)
- Computer systems analyst (not developer; average salary: $102,000)
- Web developer (average salary: $79,000)
- Health information technician (average salary: $58,000)
- Technology manager (average salary: $164,000)
- Database administrator (including developing) (average salary: $112,000)
- Network administrator (not developer) (average salary: $91,000)
Computer 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 because many IT companies want the new recruitees to start contributing immediately.
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.
Remark II:
This is an advanced web course using LAMP (Linux, Apache, MySQL, and PHP).
For a database course, check
DATA 520 Databases and
CSCI 513 Advanced Database Systems using Oracle databases and JDBC (Java Database Connectivity).
Remark III:
Numerous web development tools and software have been proposed and keep emerging.
The reason of using the latest ones is mainly because of
hype since programming languages have no major breakthroughs since 1950s, and the application cores still require about the same level of heavy human works.
Unfortunately, many IT managers do not realize this truth, but once you master one specific technology, learning another should not be difficult because all foundations are about the same.
Remark IV:
Online asynchronous is also provided for the distance students.
It is conducted fully through Internet instruction.
For details, check
UND Online & Distance Education or
DEDP (Distance Engineering Degree Program).
Besides,
https://und.zoom.us/j/2489867333 or
YuJa is used for hosting and sharing lecture videos, and
ProctorU may be used to monitor the exams.
Remark V:
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 VI:
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 VII:
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 initiated a database-driven web system by using Perl and Sybase in 1997, when not many people were familiar with the web development.
Ever since, numerous software and tools such as ASP.NET, LAMP, and Oracle have been used by him to build various web systems.
In addition, the instructor began mobile-commerce research in 2000 and started developing mobile apps in 2006.
Many mobile platforms were used by him initially, but the instructor is now focusing on Android, which is the most popular one currently.
University of North Dakota Course Description (CSCI 457) —
A study of the system architecture, content design and implementation, and data analysis, management, and processing of electronic commerce.
Topics include Internet basics, business issues, data management and processing, static and dynamic web programming, e-commerce content design and construction, and databases and host languages with embedded SQL.
Electronic Commerce (or E-Commerce) from Wikipedia —
Commonly known as e-commerce, consists of the buying and selling of products or services over electronic systems such as the Internet and other computer networks.
Mobile Commerce (or M-Commerce) from Wikipedia —
It is the delivery of electronic commerce capabilities directly into the consumer’s hand, anywhere, via wireless technology.
Electronic Commerce Technology from IEEE TCEC —
The different technologies reflect the technical, organizational, and legal requirements of the different participants in electronic business transactions.
These technologies support one or more of the phases of an electronic business
transaction: planning, identification, negotiation, actualization, and post-actualization.
A Generic System Structure of a Database-Driven Web 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 260 .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 260 (.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/mobile-enabled database systems by using
- Android programming,
- Android-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.