Semester: winter 2025/26
Lectures: Tuesday, 14:00, S3 (Pavel Ježek)
Labs:
  Monday, 12:20, SU2 (Matyáš Brabec)
  Thursday, 15:40, SW2 (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 verzi si v záhlaví stránky přepněte jazyk do češtiny.

Lectures outline

1. lecture

Materials

2. lecture

3. lecture

4. lecture

Alternatively

Practicals outline

1. practicals

2. practicals

3. practicals

4. 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). The exam is usually graded the same day. Rarely, the student might be invited to further explain his answers or answer follow up questions. This optional oral part usually takes place online, via Zoom platform. 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 on the local computers. You have five attempts to complete the test in total, but you can attempt the test only three times during the winter examination period (and two times during 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 and tests 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

During the semester, homework will be gradually assigned for which you will receive points upon completion. Your requirement will be recognized if you earn a sufficient number of points. Earning a larger number of points can help you gain points towards the exam according to the table below. At least 90 points are required to recognize this requirement.

You can find all homework gradually in ReCodEx for NPRG035. NOTE: The standard deadline for tasks assigned is 7 days (i.e., by the start of next week’s practicals)! NOTE: ReCodEx only evaluates functional requirements resulting from the assignment. However, the unspecified part of the assignment includes requirements beyond just the functionality of the program (e.g., design, decomposition, testing, …).

Warning: Homework is an independent task aimed at assessing the student’s ability to independently develop a complex program in C#. If it is found that a student submitted someone else’s solution (e.g., several students submitted different instances of the same solution for one homework assignment, etc.), it will be considered a cheating attempt. All such students will not pass the NPRG035 course this academic year and will lose the opportunity to recognize completed obligations next year; disciplinary action may also be recommended for their expulsion from study by the UK MFF disciplinary committee!

Using external sources to solve homework (StackOverflow, ChatGPT, …) is only allowed in the manner explained in the first exercise and with a citation of the source (StackOverflow answer, ChatGPT chat). Not citing the source, and thus presenting someone else’s code as your own, is also considered a cheating attempt, with the above implications.

You can earn points towards the exam for an above-standard number of points from the assignments, as follows:

Therefore, up to 2 strong bonus points and up to 1 weak bonus point can be earned towards the NPRG035 exam (see slides from the first lecture for exam evaluation). Note — these strong bonus points will only be counted during the 1st attempt at passing the exam (i.e., in their 2nd or 3rd attempts, everyone has 0 strong bonus points). There is no distinction as to why a student comes to the 2nd or 3rd term (i.e., whether they declined a grade in the 1st term). Weak bonus points will be counted in all attempts to pass the exam in that year, but note: weak bonus points cannot break the barrier between grades 4 and 3 (i.e., if after adding strong bonus points the grade still comes out as 4, then weak bonus points are not counted in the exam result). Bonus points are only counted in the year in which the student earned them.

Note: Virtual exercises are intended for students who do not wish to attend exercises (e.g., because last year they only needed to finish the credit program, pass the credit test, etc.).

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 (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!