Reference no: EM131588985
Java Programming
-Project guide-
- Improving problem solving and programming ability using Java programming language
- Improving design ability
- Design means an entire process where we implement a system or parts of a system, satisfying its whole requirements including the function and performance toward the final purpose. In addition, we will learn how to be an effective team member, collaborate with other team members, or be a leader through design projects.
- Though this course, we want to extend understanding of and experience with a whole process of information system development through analyzing, designing, implementing and testing/evaluation of a system using Java programming language.
- The concrete design elements in this course are as follows:
- Setting a goal: an exact definition of the problem (the system which you want to develop).
- Analysis: analysis of user requirements and analysis of function of a system.
- Design : designing a system through object-oriented approach based upon the above analysis
- Implementation: implementation using Java language.
- Test/Evaluation: Should test the exactness of the implemented system based upon various inputs.
2. Contents
- Should develop a project whose levels are comparable to the examples suggested in this guide.
- Should proceed systematically a whole processes of problem definition, analysis, design, implementation, and testing.
- User interface is not an important consideration. But you can implement the graphical user interface if you need/want to.
- Whatever topic you choose, you should design it based upon object-oriented methods.
- Should consider the following design confinements
1) Capability: You should have an algorithm which has an adequate level of computation complexity and space complexity.
2) Standard: You should use a standard java grammar.
3) Soundness: Your project should work with any input without any logical error.
- The project is worth 15% in the course.
1) Completeness of program: 40%, selection of a project topic: 10%, mid-report: 10%, final report: 10%, the final presentation: 20%, contribution to the team: 10%.
2) number of team members : up to 4 persons.
3) schedule :
a) Mid-report due- 11:59pm, March 12 (Sun)
b) The final-presentation: In class, between April. 24 (Mon) through April 30 (Sun)
c) Final-report is due at 11:59pm, May 3 (Wed).
- Please email your reports to [email protected] before each due dates.
3. Reports
* Mid-report
- You should write 1-2 page that explains your project topic
- 3-4 page explaining the details of design in order to develop the topic you selected.
: You should include the followings for this part.
1) Problem definition: suppositions for your project, types of input, types of output and so on.
2) Problem analysis: requirements of functions you want to provide, a format of your input, a format of your output, analysis of user requirements.
3) The confinements related to your consideration
4) The result of design : the definition about classes that will be used in program (the data which objects of each class should contain, methods of each class), the relationship between classes, definitions of algorithms that a method will use, and so on.
5) The concrete algorithms will be expected in the final report. In the mid-report, it is enough to just explain what kind of algorithms will be used
* Final-Presentation
- You can present everything in the Mid-report, partial results of your project, and expected final results
- You should video-record your presentation for 8 minutes.
(Presenter will get some extra credits. You can divide the presentation so that all of your team members make a presentation and get the extra credits.)
- After taking the 8 minutes' video of your presentation, please upload your video on Youtube in the last week of April. That is, it should be done between April 24 and April 30.
- Finally, you should send the Youtube link to me by 11:59pm on April 30.
- The class on April 26 will be used to prepare for this mid-presentation. So, we do not meet on that day. Just prepare the presentation and upload your video on Youtube, and send the link to me.
- After collecting those youtube links from every team, I will share them to every student in our class. Then, each team should evaluate other team's presentations. I will make the evaluation form for you.
*Final-report
- After completing the program for your project, you should report the result of the development in details.
- You should include the followings in the final report
1) Everything upto the mid-report.
2) Results of your implementation. (Data structure used and reasons of using that structure, used algorithm and its detailed definition in pseudo code forms)
3) Testing and evaluation results
4) Conclusion:
- Be careful that you do not include the whole jave source codes in your report. If you include this java source codes, your points will be deducted. However, some important part of your source codes can be included in your final report.
- Source codes: submit when you submit your final report.