Skip to content

Course overview

For the requirements, please visit the official data sheet.

For the schedule of the course and the deadlines for submission, please refer to the course site in Moodle.

Submitting the solutions

Each lab must be submitted in a personal git repository. Please refer to the detailed guideline here. You must carefully study these guidelines!

IMPORTANT

The submissions of the lab exercises must follow these guidelines. Submissions not following these guidelines are not graded.

Workflow errors, i.e., not following the guidelines (e.g., not assigning the right person or not assigning at all, are penalized.

Screenshots

Some of the exercises require you to create a screenshot. This screenshot is proof of the completion of the exercise. The expected content of these screenshots is detailed in the exercise description. The screenshot may include the entire desktop or just the required portion of the screen.

You must submit the screenshots as part of the solution code, uploaded to the git repository. The repositories are private; only you and the instructions can access them. If there is any content on the screenshot that is not relevant to the exercise and you would like to remove it, you can obscure these parts.

Grading

Each laboratory is graded on a 1-5 scale. You must submit each lab by the deadline. The laboratory grade is calculated based on the 20+3 points you can earn in each lab as follows:

  • 0-7.5 point: failed
  • 8-10.5 point: pass
  • 11-13.5 point: satisfactory
  • 14-16.5 point: good
  • 17-20+ points: very good

The extra +3 points are optional; if you do them, it is added to the points. In the automated evaluation, these extra 3 points will appear as "imsc"; please ignore this (that is for the Hungarian students).

The final grade will be the mathematically correct average of the individual (1-5 scale) grades. If you do not attend a lab or do not submit it until the deadline, it will be counted as grade 1 in the average.

Some of the exercises are evaluated automatically. Your code will be executed; therefore, you must follow the exercise descriptions precisely (e.g., use the provided code skeleton, change only the allowed parts of the code, etc.).

You will receive a preliminary result about your submission in GitHub; see in the guideline here). If there are some issues you need to diagnose, the entire log of the execution is available for you on the GitHub Actions web page. A short introduction is provided here.

Our expectations regarding the labs

Where should I upload the solution? See above.

Individual work at home? Since your work is graded, you are expected to submit your own solution. This does not mean that you cannot ask or give help to others. But it prohibits submitting a work created by someone else. This is the reason we ask for screenshots: these verify the process of completing the exercises.

Submitting the work of someone else: Refer to the Ethical codex and the Code of Studies.

One lab is just 4 hours, right? No. This course is 3 credits, which (officially) translates to approx. 90 hours of work invested throughout the semester. The lab is not just the 4 hours you spend with the instructor; it also involves preliminary preparation and finishing/completing the tasks at home.

My code contains a small typo, and I received no grade. You are expected to write code that works! You are completing the exercises in front of a computer, so you have everything you need to check yourself. Your code must compile and must run. If the behavior is not entirely correct, that is accepted. But if it does not even compile, it will not be graded.

Just imagine what would happen if you committed code that does not compile at your workplace?

If I am working at home, how do I get help? Talk to your lab instructor.

The instructor does not help. Why? You might not be given the right solution if you face a problem. But this does not mean you get no help. You are encouraged to investigate your problems, search for solutions, and ask specific issues. You must demonstrate that you are a professional!

How should I ask questions then? In short: https://stackoverflow.com/help/how-to-ask. In more detail: If you are stuck, first, make an effort to understand your problem. The problem is not that "it does not work" or "I don't know how to do it." You can ask good questions once you understand the problem and have tested some solutions already.

So the answer is Google and StackOverflow? No. Everything you need here, you should already know. Google is an excellent tool, and StackOverflow is even better. However... You also need to understand the answer you find here. The answer you find here might be a solution to some problem, but not necessarily your issue.

All these deadlines and rules! A software developer, better yet, an engineer, must be prepared to write code and work within the scope of prescribed rules. The world is complex, and complexity is often managed with rules. If you have some time, check what Robert C. Martin (Bob Martin, "Uncle Bob") has to say about the origins of the software developer profession: https://www.youtube.com/watch?v=ecIWPzGEbFc


Pull requests welcome

As a student of this course, you can earn extra credit by contributing to the materials! Open a pull request to fix an error or contribute to the contents in any way! Check the link to the repository in the upper right corner.

License

The materials provided here are created for the students of course BMEVIAUAC09. The usage of these materials outside the scope of teaching or learning this particular course is only granted if the source and authors are contributed.

These materials are to be viewed within the context of the course. For any other usage scenarios, the material is provided as-is.


2023-02-07 Szerzők