Fakultas Ilmu Komputer UI
Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
K
KKI2019_final_exam
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
This is an archived project. Repository and other project resources are read-only.
Show more breadcrumbs
Advanced Programming
KKI 2019
KKI2019_final_exam
Commits
e4f5de63
Commit
e4f5de63
authored
6 years ago
by
Ade Azurat
Browse files
Options
Downloads
Patches
Plain Diff
Final Term Practical Session Problem 3, 4 and Bonus. -- Update readme.md
parent
085f7184
Branches
Branches containing commit
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
readme.md
+147
-4
147 additions, 4 deletions
readme.md
with
147 additions
and
4 deletions
readme.md
+
147
−
4
View file @
e4f5de63
...
...
@@ -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
-------------------
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment