NSWI142: Programming of Web Applications

Grading

The criteria for obtaining the credit ("zápočet") and passing the test ("zkouška") are summarized in the following. Please, read them carefully. In case that any rules are not clear, contact us.

Credit

The credit is awarded for completing all five mandatory home assignments and successfully passing the lab programming test.

Seminar attendance

Attendance on the course seminar (labs) is not mandatory, but you can receive 1 point for each attendance. You may also receive extra 1 point (i.e., total 2 points for seminar) as a bonus for solving some problems during the labs. On the other hand, you may receive no points at all, if you are present only physically, but not mentally (i.e., when you do not demonstrate sufficient activity related to the contents of the seminar). This matter relies strictly on the judgement of the teacher. You can get up to 22 points in total.

Home assignments

There will be two type of home assignments -- mandatory and regular. You must complete all (five) mandatory assignments to receive a credit. Furthermore, successfully solving any assignment before deadline will be awarded with points and these points will be added to your final test score (i.e., solving assignments might improve your final mark). You may solve mandatory assignments after the deadline to receive the credit (but you will not receive any points for them). The mandatory assignments will worth 12 points in total. The regular assignments will worth 14 points in total.

Please note that the home assignments must pass the ReCodEx tests first, but they are also reviewed by the teachers. The quality of the code is important as its correctness. The teacher may choose to adjust the awarded points in either way (i.e., granting bonus for excellent solutions or penalty for bad code design).

Programming test in lab

Since it is difficult to test web application development in a limited time, this part of examination stands somewhere in between of regular programming test and home-made semestral work. Later in the semestr we will provide you with a specification of a web application. You can (and should) implement the specification before and take with you for the lab test.

The test dates will be published in SIS and you will be required to subscribe for them once you are ready. During the test in the lab, you would be expected to take your prepared code and modify it (e.g., implement a new feature in the application). We encourage you to use whatever code you have written yourself (including code submitted in home assignments). You may also look up information on the internet. The teacher will verify that your application is working correctly and review the quality of your code. Any issues pointed out by the teacher may be fixed during the test, but the time will be limited (i.e., we strongly recommend to prepare a good code for the test).

The quality of the work will be assessed by the teachers and up to 15 points will be awarded for it. You need at least one point to successfully pass the lab programming test. You may attend the test multiple times, but in cases of limited capacity, first-time attendees have priority over those who already failed the test.

Final Test

Please note, that the you must meet all credit requirements prior to attending the final test.
The final test is optional, you can get grade without attending the final test.

The test consists mostly of a simple option checking and filling fragments of text (code). It is designed to assess your overall knowledge of the web technologies instead of detailed syntax/API specifications; however, the basic knowledge of the syntax and language properties (especially JavaScript and PHP) is also necessary. The test will attempt to verify that you generally understand the principles of HTML document processing, element rendering, CSS syntax and rendering principles, JavaScript language fundamentals (including event processing and DOM manipulation), server side scripting (in PHP), HTTP protocol, and basic web application design and security principles.

You can receive up to 50 points from the test. Points from the test are combined with points awarded in the semester.
final number of points = exam points + ( 2/3 * points awarded in the semester ).
The final number of points gained determines your grade in the following way:

If you do not take the final test (as it is optional), then the final number of points = points awarded in the semester.

Labs and programming test points must be granted before the test. The points cannot be added to any test retrospectively, since the tests are graded (and thus the final mark is established) immediately after completing the test.

Furthermore, after due consideration, we have decided to give you one more advantage. When attending the exam, you may decide not to submit your test for evaluation. In such case, you will not receive any mark for the test, but you will forfeit one of your three attempts, which are granted by the examination regulations. Be advised, that the number of examination terms is limited and all terms are announced in advance (no extra examination dates due to forfeit attempts will be granted). Also be advised that there may be no examination dates in summer term.