![]() |
.. (לתיקייה המכילה) | |
System behavior | |
To make things simple: when you delete a student, all of his/her actions history is deleted. Likes, friendships, posts. This person is no longer exists in the system. When you remove a student from a group: his/her group posts, and likes commited on the group posts remain, but he/she cannot send posts, or like posts while they are outside the gruop |
Return values | |
Many of you asked us about the desired return value for some functions, mainly BAD_PARAMS vs NOT_EXISTS since there might be an ambiguity in some cases. This answer contains a super-sized hint about OUR implementation and design, so you might want to read it carefully. For those of you who don't have the time, or do not understand, check the PDF, everything is simplified now, and ambiguity problem is solved. In this task, we need to implement many CRUD (create, read, update, delete) operations. We take the "create" operation is the most input-sensitive operation, since once it is done, all the other operations rely on it. This means that every operation that relies on a valid student (post) id, when its input contains an INVALID student id, it just returns NOT_EXISTS. Why? Think, This is your HW. So in many cases we do not want you to verify your input like in MATAM, and automaticly return BAD_PARAMS. The only exception is in makeAsFriends where the case of both invalid IDS, and id1==id2, you return BAD_PARAMS. |
in makeAsNotFriends, if the two students exist but they are not friends, what should I return? | |
NOT_EXISTS |
in makeAsFriends, what should I return in the case where sid1 == sid2? | |
BAD_PARAMS |
on updateStudentFaculty, and updatePost, can we assume that the only fields that will be used are the id and the updated field? Are all other fields can be assumed as valid fields? | |
yes |
when deleting a student, should we delete his/her friendships? | |
yes |
What are the cs236363 virtual machines? should we use them? | |
The virtual machines are remote virtualized computers which run on our faculty servers and are pre-installed with everything you need to start doing your homework (InteliJ, Eclipse, Postgres). In short, this will save you time setting up the environment, if you have any troubles. You can use them, but remember that you are connected remotely over the internet, so you may encounter delay in your usage. |
I'm getting a "git" or "VCS" error messages. Is this OK? | |
Yes. You should have no problem to start your homework with this error. Please use the updated Zip file to remove it. |
is the friendship graph directed or undirected? | |
undirected |
what is the initial postgres superuser password on the virtual machine? | |
cs236363 |
Can a student like a post in a group which he/she is NOT a member? | |
no return NOT_EXISTS |
can we ignore the likes number in an input post or should we save them? | |
ignore it is written in the PDF |
can a student like a post that its author is not his/her friend? | |
yes likes and friendship are not related |
group feed vs student feed | |
in group feed you need to display the group posts in student feed you need to display public posts by the student and his/her friend |
do you perform stress tests? is there time limitation? | |
well, yes and no we will not perform stress tests. there is no use for those tests in our course since you not really build a system, the stress is on the SQL server itself. we are looking for the right return values from your implementation. your solution will be tested for its correctness, on a reasonable amount of objects in each test (not millions if that's what you're asking). some tests will take seconds (or less) and some tests will take minutes (few minutes). but we will stop a test execution of it exceeds an hour since it is an unreasonable amount of time to solve the test. |
will we have the chance to fix our submitted solution in case of an error in a test | |
yes we will publish the guidelines after we'll check your HW. meanwhile, you can check the previous semester appeal guidelines. they suppose to be similar in mind. |
what should we write in the pdf? | |
your design: table, constraints, etc.. if you want to add an ERD diagram, go for it, we will appreciate this. you can skip the trivial functions (from your point of view) descriptions but explain the non-trivial ones. this is one of our ways to verify that you understand and know how to use the course material. |
can a student or post be null? | |
no |