Timetable at FEE Students of ePAL Upload system BRUTE Discussion board


BE4M33PAL - Advanced algorithms

Online course

The lectures and possibly the practices use conferencing SW BigBlueButton, BBB in short.
BBB runs in a www browser, you do not need to install anything, ( you may wish to check a shorts tutorial).
BBB is integrated in the upload and evaluation system BRUTE . The systems automatically sends you an invitation to join the lesson to your school mailbox before each lesson. Just open the mailbox and click the link.

Objectives

Individual implementation of variants of standard (basic and intermediate) problems from several selected IT domains with rich applicability. Algorithmic aspects and effectiveness of practical solutions is emphasized. The lectures provide a necessary theoretical background.

Prerequisites - programming

The course requires programming skills in at least one of programming languages C/Cpp/Java. There are also homework programming tasks. Understanding to basic data structures such as arrays, lists, and files and their usage for data processing is assumed. Students who should have difficulties with elementary programming tasks will not be assigned PAL credit. We recommend to cancel the subject attendance to those students.

Seminars

Seminars include: Depending on the level, expertise and demands of the students

  1. Exercising of selected topics from lectures.
  2. Analysis of homework task specifications, discussions of different variants of solutions and their effectiveness.

Homework programming tasks

The semester includes homework programming problems that are required to be solved, implemented, and uploaded by the given deadlines into the Upload System. The homework problems represent examples of algorithmically slightly more involved problems. Typically, few different algorithms and/or data structures must be correctly interconnected to solve the task. The time for solution is about 20 days.

  1. The correctness of the solution is checked automatically using test data sets (unknown to the students).
  2. Running time is critical. The time in which the submitted solution processes each of the data files is monitored and it is compared to the running time of the reference code processing the same data file. Typically, the student solution is expected to run at most two times as long as the reference solution. Slower student solutions are regarded as unacceptable.

The timetable of the homeworks:

assignment -- deadline         
1.  23.9.  -- 16.10.          
2.   7.10. -- 30.10.         
3.  21.10. -- 13.11.          
4.  18.11. -- 19.12.          
5.  25.11. -- 26.12.          
6.   9.12. --  9.1.     

The deadlines are also defined for each homework task in the Upload system.

Final Credit Conditions

In addition to the participation in the seminars it is necessary to deliver successful solutions in term of programming tasks. Each tasks is executed against 10 testing data sets of different size and complexity. The solution is considered as successful if the correct results are returned for at least 9 test data sets. Therefore, the assessment of tasks according to the number of correctly processed input files is the following:

Grading of the homework problems according to the number of correctly processed data sets:

.... 8 and less................ 0 pts ............... unsuccessful solution  :-(
.... 9 ........................ 3 pts ............... successful solution    :-)
... 10 ........................ 4 pts ............... successful solution    :-D

At least 13 points is necessary to obtain to the final credit. It does not matter how many of which homeworks one solves.

A penalty is added to the grading of a homework solution submitted after the deadline. It is -1 point immediately after the deadline and another -1 point in each next week after the deadline if the solution is submitted with such delay. The grading cannot become negative.

All tasks are required to be developed separately while avoiding plagiarism, see plagiarism rules.

A student who can not continually fulfill the requirements of the subject because of declared important reasons (illness, study trip, etc), needs to make an agreement with his/her seminar assistent of the lecture on an individual treatment conditions of completing the course.

Examination

Dates and locations of examinations

Register yourself in the Exams timetable below

TBA

Do not register in the KOS system, all reservations are handled by the Exams timetable only.

Theoretical part of exam (0 - 12 points), acceptable minimum 6 points
In the theoretical part the student receives several questions and prepares a written outline of answers to them or a more detailed answer, if a specific question requires it. The answers will be discussed with the examiner, who determines the final rating. The student must obtain at least 6 of the possible 12 points. The time of answres preparation is limited to 1 hour at most.

Programming part of exam(0 - 12 points), acceptable minimum 6 points
It includes one programming task which must programmed and submitted by the student during the examination. The task solution is evaluated in the same way as any other tasks during the semester, the solution must function properly and fast enough for at least 6 out of 12 test files at the examination. Each test file represents one grade point. Time for programming is 5 hours. The first 30 minutes are devoted to problem analysis and preparation of the solution, any coding is not allowed in the first 30 minutes. Solutions can be provided in any language of Java/C/C++ or Python. Any use of Python has to be carefully considered, the speed of Python code, depending on the particular problem, might be easily insufficient for the exam purposes. During the practical part of the applicant can use any printed or electronic material on CD/DVD/flash drive, which he/she brings himself. Any access to public internet sites is forbidden with the exception of BRUTE system only. Working with BRUTE, i.e. entering and submitting jobs, is the same as it is in the semester.

Working with computer(s) and other devices during the exam

  • Every participant works individually on his her own personal computer.
  • Internet connection can be used only for communication with upload system BRUTE.
  • Mobile phones and other electronic/computational devices must be switched off.
  • Listening to reproduced music/speach/audio is not allowed.
  • It is possible, with the examiner supervision, to browse internet using the examiner's computer in case of difficulties with compiler/interpreter, OS, machine hardware or another critical SW in your own machine.

Late minimum correction
When you find after the failed practical exam that the failure was caused by a trivial error in your code you may ask the examiner for repeated evaluation of the corrected code. If the corrected code works according to the exam demands you may still pass this part of the exam. The necessary conditions of a success in such case are 1. The correction must be conceptually simple and physically short (few lines of code, at most). 2. The original failled solution must be uploaded to Brute before the end of the exam. 3. The correction must be done in the day of the exam.

Additional examination trials
A student who does a retake and succeeded in the previous exam in either its practical or theoretical part, may not participate in this part again, the points are completely transferred to the retake. He/she may also try to improve his/her performance and to participate in this section again, the final score is then counted from the better performance trial. These rules apply to all of these exam retake trials.

Individual conditions
When a student has an important reason to take part in the exam under different conditions than those specified here he/she has to arrange for individual conditions with the examiner sufficiently ahead in time.

The classification scheme
The rating of the student is proposed after a successful completion of practical and theoretical part of the exam. The rating points are summed from points received from the solutions of programming tasks in the semester, points received from the programming part of the exam, and points received from the theoretical part. The sum of points corresponds to a grade according to the following table:

Points range:
---------------------------------
homework problems:   13 - 24 pts
programming exam:     6 - 12 pts
theoretical exam:     5 - 12 pts
---------------------------------
Total:               24 - 48 pts    
Total sum
of points         grading
  0 -- 23           F, failed exam attempt
 24 -- 28           E
 29 -- 33           D
 34 -- 38           C
 39 -- 43           B
 44 -- 48           A
 

Teachers

We wish you good luck and determination.

mgb96x120.jpg prusa.jpg
Marko
Genyk-Berezovskyj
Daniel Průša
courses/be4m33pal/start.txt · Last modified: 2020/09/23 10:41 by berezovs