Programming Exercise Guidelines
This course is programming intensive and two programming exercises will be assigned:
- Exercise I: (20%) Web-enabled database system and
- Exercise II: (20%) Mobile app using an embedded database.
The instructor has tried to make them as simple as possible.
The guidelines of exercise requirements and evaluations are as follows:
General Specifications
- They are individual exercises instead of team exercises.
- Students have to demonstrate their exercises to the instructor individually so misunderstanding would be minimized.
The instructor will prepare a set of test data to be used by all students.
An appointment is needed in advance.
(Zoom at https://und.zoom.us/j/2489867333 may be used for demonstration.)
- One exercise can not be used to cover two exercises.
- Absolutely no extra points will be given after grading.
Exercise I: A Web-Enabled Database System
Notice though the requirements will not be strictly enforced, the exams will only cover the materials given in the class lectures.
- Exercise I has to be located at the following URL:
http://undcemcs02.und.edu/~user.id/513/1/
and redirection (http-equiv="refresh"
) to the pages not hosted by http://undcemcs02.und.edu/~user.id/
is prohibited.
That is, you can only use the facilities provided by the public Unix servers at the College of Engineering to complete your exercises.
- Because of the limited resources provided by the College, fundamental tools such as CGI will be used for exercise construction.
Though basic tools instead of fancy ones are used, it is believed that almost all functions of web-enabled database projects can be completed by using these basic tools.
- Oracle database, an object-relational database, has to be used.
- Students have to post their code online so the instructor can download and execute it on his own computer if any suspicion.
- Exercises need to be put on the Web because of the following reasons:
- If the system is not web-enabled, it still requires graphical user interface, which is usually more difficult to construct compared to web interface.
- The instructor can easily grade and check the exercises.
- In addition, 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.
Exercise II: An App Using an Embedded Database
Follow the two requirements below:
- Android, which includes an embedded database SQLite, instead of iOS has to be used.
- Upload the source code (no documentation needed) to the section “COVID-19 Exams & Programming Exercises” of Blackboard.
Comments
Few comments are about the programming exercises:
- 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.
- Time management is critical for software development.
If you are not able to complete the exercise, display whatever you have accomplished, so the instructor can give partial credit to your exercise.
- 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 😂
- Web/app user interface is essential for software systems compared to native user interface.
- 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.
- The function of automatically sending emails or text messages is important for e/m-commerce systems, but will not be used here since companies complained our students sending out numerous mails or text messages because of faulty programs.
- Security is critical for all websites.
However, small or medium -size businesses do not usually implement their own secure payment schemes.
Instead they use a third-party payment system such as PayPal or purchase software from company like Global Payments Integrated and integrate it with their websites.
The same could be applied to networks.