diff --git a/readme.md b/readme.md index 25b44df6f2a1c1117d23f4b4fa8fc90526089cb9..7cc1f11bcd5e15e81660b1469c34b574764a91a8 100644 --- a/readme.md +++ b/readme.md @@ -107,11 +107,154 @@ Make sure you really understand how it works. ------------------- # Problem 3-4: Practical Exam Session (Duration: 100 minutes) -## Will be available on Monday 17 May 2019 9:00 -## Duedate: Monday 20 May 2019, 10:00 -## Point: 50% +## Will be available on Monday 17 May 2019 10:00 +## Point: 50% (both 3 and 4) + +Type of problems: +* 1 small modification, (3b) +* 1 medium modification, (3a) +* small readme modification, (3 all) +* 1 group project modification, (4) +* 1 bonus problem + +# Problem 3: Practical Exam Session +### Begin Monday, 20 May 2019 at 10:00 - 12:30 +### Point Contribution: 30% of the whole practical exam. + +There are two problems, **Problem 3a** and **Problem 3b**. +Students can choose one of the given problem. One is more difficult than +the other but can give you maximum 100 points (Problem 3a) if you could finish it perfectly. +The other is easier but can only give you maximum 80 points (Problem 3b). +If you were having difficulty during the simulation session, you are suggested to +go with **problem 3b** + +## Problem 3a: Pet Descendents +### Maximum score: 100 points. (Make sure you have finished and understood the previous problems.) + +The owner of the clinic would like to have a unique idea for the clinic. +It is the uniqueness of the clinic. +He would like to show the biggest pet clan in the landing page. +He defined it as: **the pet that has the biggest number of pet descendants**. + +Your task is to please the owner with your application +added with some new features related to his idea. +Make sure you create it the best you can. +There are no specific requirements. Impress and surprise the owner. +Be creative, such as show the name of the pets, number of descendants +or possibly other thing such as picture or other clans of each animal +or possibly picture (if you have times) + +Having continue with your previous works of applying the appropriate +design pattern for pet heritage traversal, write a brief description +in your readme of how you implement the feature. +Explain in your readme if the previous design pattern is suitable +and ease you in implementing the feature or not. +Write the URL of your running application. + +Make sure you apply Clean Code, CI/CD and TDD. +To prove the application of TDD. Make sure you have several separate +commits of unit test in the repository +before you implement the function. + +**Hint:** you are challenged to work iteratively and efficiently. +Do one thing at a time. Commit and push regularly. +It is not possible to complete all your ideas in a very limited time. +Make sure you can choose the minimum requirements such as identifying +a pet that has the biggest number of pet descendants, but stay aware +of the owner vision of having a unique feature/information of the clinic. + +## Problem 3b: Vets Cost +### Maximum score: 80 points (you can solve the problem even if you haven't solved/understood the previous one) + +The vets have a cost price for one visit for any type of animals. +(The cost for any type of animal is the same) +Modify the model and also the database to add field about price in each vets. +In the list of visit, show the cost of the visit. + +Make sure you apply Clean Code, CI/CD and TDD. +To prove the application of TDD. Make sure you have separate +commit for the unit tests in the repositroy +before you implement the function. + +Write a brief explanation in your readme.md of how you solve this problem. +Write the URL of your running application. +Make sure you apply Clean Code and TDD. +To prove the application of TDD. Make sure you have several separate +commits of unit test in the repository +before you implement the function. + + +## Problem 4: Group Project Contribution. +### Begin Monday, 20 May 2019 at 10:00 - 12:30 +### Point Contribution: 20% of the whole practical exam. + +You have been working hard for your group project. +However due to limited time, some of the best practice +cannot be applied. +There are several features has not been implemented as well. + +During this practical session. You have additional time +to add another contribution of at least **10 lines of code**. + +Your contribution can be in the form of bug fixing, +fixing code smells, continuing previous unfinished work, +add new function/features, unit testing, refactoring or other coding +related activities. +Make sure you do **commit** and **push** your new contribution before 12:30. + +Inform your latest contribution (the link of the commits) in this URL. + + +[https://forms.gle/AmkzqDa7TGdMqPJJ7] + +------------------- + +## Problem Bonus: Advanced Pet Clinic +### Begin Monday, 20 May 2019 at 10:00 - 12:30 +### Point: up to maximum 20 points added to your final practical session exam. + +Your Pet Clinic application is awesome. +They received so many visit request per day, many vets are happy to join +your clinic. The number of registered pets, grows rapidly. Visit of all pets +are scheduled well. The pets are healthy and happy. +The customers (pets owner) are very happy. +They visit your application regularly. +The happiest of all is the owner. +He extends the contract and give you significant bonus. + +While you are on vacation, enjoying your bonus, +your mailbox is full of email request of your application. +Other pet clinic owners are considering to buy your software. +They also would like to be able to be registered in your system. + +What do you have in mind for such a promising and profitable opportunity? +As an advanced programmer, you have learned the issue about scalability, +micro-services, design pattern and other advanced topics related to software +scalability and maintenance. + +Given a very limited time that you still have, try to: +- Write in your ``readme.md``, what is your plan related to advanced programming. (make it brief.) +- Create a new branch. The branch name is ``bonus`` +- Work on your plan, the best you can in that branch. +- Make sure you **commit** and **push** before the deadline (**12:30 today!**). +- If your plan is not involving coding, try to give +some related artifacts that can be used to evaluate +the quality and quantity of your works. +You can send it by email to ``ade@cs.ui.ac.id`` + + +------------------- + +_End of Exam Problems. Good luck and happy coding!_ + +------------------- +_Add your notes here:_ +------------------- + + +------------------- + -Type of problems: 1 small modification, 1 medium modification, small readme modification, 1 group project modification, 1 bonus problem -------------------