PA165 Enterprise Java - Lectures

Course Information

Course Evaluation

The course is evaluated based on the performance of the students on two parts:

  • (1) Project developed in groups (55 points)
  • (2) Final Exam (35 points)
  • (3) Points during seminar completed tasks (10 points)
Being a practical course, the practical implementation will have more relevance towards the maximum points that can be gathered (100 points, excluding bonuses). For a successful completion of the course, at least 70 points (out of 100) are required. If after defending the project and having the final written exam, the student does not reach 70 points, he/she can retake the exam as per MU rules.

Instructions for the project evaluation (1) are available in the interactive syllabus of the seminars, here.

The Final Exam is composed by multiple-choice closed questions about the content of the course (both lectures and seminars).
  • depending on the indications in the questions, one or more options can be the right choice;
  • marking a wrong answer in one question brings to 0 points awarded for the answer. However, some questions that are more difficult (indicated in the text) can still award points in case of missing answer. Every student gets the same number of such questions;
  • the exam includes randomly selected questions, however, the distribution of questions per topic is the same for every student;
  • there are no bonuses for the written exam;

Sample Questions

The following are some sample questions from the exam of last year (answers marked with (**) are correct):
 
Q1. What does a commit object contain?
  1.  a set of files, representing the state of a project at a given point of time (**)
  2. an SHAI name, a 40 character string that uniquely identifies the commit object (**)
  3. a file named .git, where git keeps all of its metadata
  4. None of the mentioned options

Q2. What does "refactoring" mean?
  1. Changing the code after requirements change
  2. Changing the code structure without changing functionality (**)
  3. Changing the code to improve performance
  4. Introducing the Factory design pattern into your code

Q3. What is the default Fetch type for a field annotated with @ManyToOne
  1. LAZY
  2. EAGER (**)
  3. There is no default, a developer must set this
  4. Depends on the Database Engine
Q4. When implementing a REST controller in Spring MVC, what is the difference between the @Controller and the @RestController annotation?
  1. They are the same, just using @RestController can improve code readability
  2. It is only a marker annotation that will be used to determine REST controllers when using @EnableWebMvc
  3. Using @RestController is equivalent to using a @Controller with @ResponseBody (**)
  4. Using @RestController is equivalent to using a @Controller with @ResponseBody and @RequestBody