Semester: winter 2024/25
Lectures: Monday, 12:20, S4 (Pavel Ježek)
Labs: Thursday, 14:00, SU2 (Filip Kliber)
Page in SIS: NPRG035
Grading: Credit and exam

Table of contents


[in Czech] Zde jsou informace pro studenty anglické paralelky předmětu Programování v jazyce C#. Pro českou si v záhlaví stránky přepněte jazyk do češtiny.

Lectures outline

1. lecture

Materials

2. lecture

3. lecture

4. lecture

5. lecture

6. lecture

Materials

7. lecture

Materials

8. lecture

Materials

9. lecture

Materials

10. lecture

Materials

Alternatively

Practicals outline

1. practicals

2. practicals

3. practicals

4. practicals

5. practicals

6. practicals

7. practicals

8. practicals (only offline)

9. practicals

10. practicals

Information about the Exam

Primary part of the exam consist of written part including around 6 to 8 questions (which might include sub-questions). Every question has a visible maximal amount of points that can be awarded for the question (=N). For correct answer, the student will receive N points for the question; for incomplete, but overall good answer (i.e. some part of the answer is missing or is incorrect), the student will receive 0.5 * N points; in other cases, the student will receive 0 points (i.e. if the answer is missing completely or is mostly incorrect).

The student can receive up to 10 points from the Exam. The mapping between points and grade is as follows:

Points from the exam Awarded grade
10 – 8.5 1
8 – 6.5 2
6 – 5 3
4.5 – 0 4

The written part of the exam takes up to 150 minutes (i.e. 20 minutes for each question, with 30 minutes extra time). After the written part, the oral part follows, where the examiner discusses the answers with the student, demands clarification when needed and asks complementary questions if deemed necessary — based on this, the final amount of points for each question is determined. The evaluation is always based on written part of the Exam, which means that student can’t be awarded with more than 0 points for a question without an answer.

For illustration, here follows a list of some exams from previous years:

Requirements for the Credit

In order to receive the credit, it is necessary to fulfill three requirements:

1. Practical Test

Fully implement a simple task within a 3 hour time limit. Takes place during the examination period in computer lab. You have five attempts to complete the test in total, but you can attempt the test only three times during the winter (you can take other two in summer examination period).

2. Final Project

Deadlines:

You can use single project to complete several courses about C# and .NET, if the project is complex enough:

Source code is the code you (and only you) wrote in the C# language. Comments are included, but everything has to be reasonable.

Final Project for Advanced C# Programming require additional (nontrivial) usage of features and techniques taught during lectures of that course.

ATTENTION! Personal presentation is part of submission. For the demonstration, prepare some form of presentation where you show the main functions of the program + the main problems solved + an outline of the architecture.

3. Homeworks

There will be several small homeworks assigned during the semester. If you complete a homework you will get points (10p usually). You are required to obtain at least 90p from the homeworks. By having more points from homeworks, you can get some extra points to the exam test.

Points from HW Bonus to the exam
110+ +1.25 strong points
130+ +2 strong points
160+ +2 strong, +0.5 weak points
210+ +2 strong, +1 weak point

Strong points only work during the first attempt on the exam. Weak points can not change the result of the exam from 4 to 3.

Homeworks will be assigned using the ReCodEx system. You will also submit your solutions to this system and they will be automatically graded. The usual deadline will be 7 days. You can also gain some extra points if your solution is well-designed, has relevant comments present or has other aesthetic features that the system can’t grade.

Note: Homework is an independent work, the aim of which is to evaluate the student’s ability to independently develop a more complex program in the C# language. If a student is found to have submitted a different solution (e.g. several students submitted different instances of the same solution to a homework assignment, etc.), this will be considered attempted cheating. All such students will not complete the subject NPRG035 in this academic year and lose the possibility of recognition of completed obligations in the next year; eventually, the disciplinary committee of the UK MFF will be recommended to exclude them from their studies!

Acknowledgement of requirements from past years

If the student was enrolled in this course during the last academic year and fulfilled only some of the requirements for the credit, the teacher can, upon student’s request, acknowledge the fulfillment of requirement from the last year (attendance, homeworks, Practical Test or Final Project). The topic (specification) of Final Project does not need to be acknowledged by new teacher. If the student succeeded in the exam, but didn’t receive the credit, it is possible, upon student’s request, acknowledge the result of the exam. This is a good will of teachers of this course and students can’t enforce this on study department!