Programming Exercise Guidelines
Four programming exercises will be assigned and each takes 10% of the final grade:
- Exercise I: (10%) Web interfaces,
- Exercise II: (10%) Input and output,
- Exercise III: (10%) Searching, and
- Exercise IV: (10%) Optimal searching.
Software Development
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 language.
However, not to overwhelm students by the large size, the exercise is divided into four sub-exercises.
Together, they give students an understanding of a large-size exercise development experience.
Though these exercises are related, you are NOT allowed to submit one exercise to cover two or more exercises.
They are individual exercises instead of team exercises.
Internet-Enabled Systems
All software requires to include user interfaces, whose construction includes the following three approaches:
- Internet-enabled interface:
It is the most popular one and a trend for current IT systems.
The system entry page must be located at
http://undcemcs02.und.edu/~user.id/280/
and all pages must be hosted by http://undcemcs02.und.edu/~user.id/
.
- Graphical user interface:
It is the most difficult one (e.g., using AWT, Abstract Windowing Toolkit).
- Text user interface:
It is the least favorite one and an obsolete method.
An example is a 1-2-3 system like
Start Using the System.
1. Enter food items
2. Enter meal combos
3. Show a specific order
4. Reset the system.
5. Exit
Select (1/2/3/4/5): 3¶
⇓
Show a specific order.
Enter the order: 3¶
⇓
Item 2: diet coke, french fries, chicken nuggets, cheese burger
1. Enter food items
2. Enter meal combos
3. Show a specific order
4. Reset the system
5. Exit
Select (1/2/3/4/5): 2¶
⇓
...
|
Internet-enabled interfaces are used because of the following reasons:
- Web user interface is a trend for information systems compared to native user interface.
- The instructor can easily grade and check the exercises.
- In addition, remote work is a trend for IT workers.
This approach 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.
- CGI (Common Gateway Interface) could be used to connect the Web to Java.
Though CGI is an old technology, it is simple, so students can jumpstart the exercise implementation as soon as possible.
If students are interested in web programming, check the CSCI 260 .NET and Web Programming and CSCI 457 Electronic and Mobile Commerce Systems.
- There is a trade-off of using web interfaces.
Web programs are modular; for example, each button is usually associated with a program.
The modularization makes the web programming easy because each program focuses on a specific task, but at the same time, the data will be lost when the program ends.
In order to save the data for later use, the data needs to be saved in a permanent storage like files or databases.
Evaluations
- For exercise submission, send the password for displaying the source code online to the instructor at wenchen@cs.und.edu (only one password for all interfaces and all exercises).
- The total weight of all four exercises (10% each) is 40% of the final grade.
- The instructor will prepare a set of test data to be used by all students.
- 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.
- Absolutely no extra points will be given after grading.