Fakultas Ilmu Komputer UI

Skip to content
Snippets Groups Projects
Commit e4f5de63 authored by Ade Azurat's avatar Ade Azurat
Browse files

Final Term Practical Session Problem 3, 4 and Bonus. -- Update readme.md

parent 085f7184
Branches
No related tags found
No related merge requests found
......@@ -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
-------------------
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment