Advanced Programming (Java)
Regulations
- Students are strongly advised to attend the classes.
Each student must come with the group to which he (or she) belongs. Exceptions must be announced at the beginning of the semester.
- Each student must register on a code hosting platform for version control such as github, bitbucket, gitlab, etc.
The account must be private and you should send an invitation allowing read access to the lab teacher. As you work, you must commit and push your sources to the repository.
The timestamps of the files will be an indicator that you have worked at a specific lab.
It is very important to create a readme.md file where you will describe details of your work: what you have implemented, the results of your tests, etc.
- Each week a problem will be proposed, related to the current course. The problem is usually divided into two (or more) parts:
- A compulsory part that must be solved during the laboratory - this activity is worth one point.
Each student should attend the class and solve this activity.
In case of unmotivated absence, or if this activity is not solved during the lab, you will lose this point.
- The homework part is worth two-points and can be presented until the next week, during classes.
- The advanced part involves the implementation of an algorithm related to the current problem.
It is worth two points or more, and it must be presented until the next week, during classes.
The deadline can be extended with one week if you show that you have started working on it.
- Each student will work individually.
- During the presentation of the assignment, students will be asked technical questions.
The answers provided will significantly influence the score obtained.
Attempted fraud, such as copying from other colleagues or using AI without understanding why or how the solution works, will be penalized with negative points.
- During each lab, some students will be randomly selected to present their implementation of the current homework to their colleagues.
They must be able to correctly explain the technical details of the solution they have implemented.
- Quizzes - During each lab, you will take a short test with 10 questions in 5 minutes, in order to verify that you have attended/read the course in the previous week.
Each quiz point is worth 0.2 real points (a maximum of 10 quiz points equals 2 real points).
You must score at least 25 quiz points during the semester, in order to enter the exam.
-
At the end of the semester, a bonus of up to 5 points may be awarded
if you worked on a project using Java technologies in another course taught this semester (Software Engineering, Web Technologies, etc.).
You must provide proof by granting access to the Git repository, where your contribution must be clearly identifiable.
- Participation in the exam is subject to getting at least 30 points (lab + quizzes).
Otherwise, the lab is failed and you cannot participate in the exam.
- The final exam (at the end of the semester) is a written test, containing questions regarding programming on the Java Platform; you may also have to write very small snippets of code.
The maximum score at the exam is 20 points and the minimum is 5 points.
Warning:If you fail the laboratories or the exam, you will start all over again the next year. No scores are equated from the previous year.
The classes are supposed to be interactive. Students are encouraged to ask any technical questions regarding programming or additional advices regarding the proposed problems.
The general interest and the activity shown during the laboratories will be appreciated.
The situation of the current scores will be displayed on the Web and should be consulted constantly.
No appeals are allowed after the end of the semester.
The labs are designed to capture the programming abilities of the students, their capacity to assimilate and use modern technologies.
The exam will put emphasis on general knowledge, logic and reasoning in the context of advanced programming techniques.