CSCI 457 Electronic and Mobile Commerce Systems

(a programming-intensive and no-nonsense course)
(a one-stop course for database-driven electronic/mobile commerce system construction)
  Software/Tool PHP Unix Shell LBS
  Web Maps (X)HTML CSS W3C W3Schools
  Database MySQL MySQL Workbench SQL
  Android Android Getting started Tutorial Building app Android programming
  AJAX AJAX help DOM XML Maps
  JavaScript JavaScript W3Schools JS NPM NPM trends
  General Information Discord EE/CS Wiki EITS UND help Stack Overflow


Syllabus: Spring 2024   Credit hours: 3
Class times: 01:25pm – 02:15pm, MoWeFr Classroom: Harrington Hall 218
Class # (on-campus: 457-03): 12967 Class # (on-line: 457-02): 12686


Instructor: Wen-Chen Hu   (my teaching philosophy) Office: Upson II 366K
: https://und.zoom.us/j/2489867333 Email: wenchen@cs.und.edu
Office hours: 12:30pm – 02:30pm, TuTh

Prerequisite: Consent of the instructor

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 W3Schools 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.



Grading:


Announcements:

Tentative Schedule:


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:
  1. IT security specialist (not developer; average salary: $112,000)
  2.  Mobile application developer  (average salary: $127,000)
  3. Software engineer (average salary: $124,000)
  4. Video game designer (including developer; average salary: $81,000)
  5. Computer systems analyst (not developer; average salary: $102,000)
  6.  Web developer  (average salary: $79,000)
  7. Health information technician (average salary: $58,000)
  8. Technology manager (average salary: $164,000)
  9.  Database administrator (including developing)  (average salary: $112,000)
  10. 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: 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: