Search
The course is concerned with the ability to implement elementary engineering applications in an effective way. The particular topics are:
A student entering the course is expected to be capable of simple programming in Python. The student should understand basic structures like arrays, lists, dictionaries, files, and should be able to access and manipulate data stored in these structures.
Final grading in this course is awarded based on points gathered throughout the semester and from final exam, using the following schema:
There are four 'components' in the course, from which points can be gained:
Detailed point breakdown, explanation and rules:
By AI Tools, we mean modern tools like ChatGPT, Microsoft Bing Chat, Google Bard, Github Copilot, Code Llama, etc. The use of AI tools is not strictly prohibited in this course, with the exception of the midterm and final exam. However, it is not advised to use for the implementation of assignments (practices & homeworks). The reason is that learning how to implement the algorithms yourself is the best way to understand it and it is the main part of this course. Simply copy-pasting AI generated code can result in three problems: (1) bad solution (some AI tools halucinate to give you any answer and while the solution might work for the example data, it might not work in general or efficiently); (2) failing to understand the algorithm (which may lead to bad scoring during the midterm or final exams where use of AI tools will be strictly prohibited!); (3) solution being flagged as plagiarism (for multiple reasons, e.g., your solution might be identical to other students using AI tools). Of these three, the most crucial issue is that during the midterm and final exam, use of AI tools is strictly prohibited. Therefore, relying on AI tools during the semester will very likely result on you being ill-prepared for the exams.
Nonetheless, we are not against use of AI tools to generate “boiler plate” code - the code that you will need to create many times over, like reading inputs or writing out formatted output, as long as you can also do it yourself. Speeding-up your work by not needing to write something you know over-and-over is fine. Although, there is not that much boiler plate code required in this course.
If you choose to forgo our advice against the use of AI tools to solve the assignments, we recommend that you follow these rules (purely for your own benefit): (1) use the AI tools sparingly, i.e., only ask it for parts of the solution, not the entire solution; (2) read the proposed solution and re-implement it yourself for the assignment; (3) go through and get an understanding of the AI generated code.
During the midterm and final exam, use of any AI or code-generating tools is strictly prohibited!
In summary, we recommend that you do not use AI tools to solve the assignments as the ability to do it yourself is what you should learn in this course and it will be part of the examination.
Plagiarism in this course is not tolerated at all. It is also not advised, for the same reason as the use of AI tools - solving the assignments yourself is a key component of learning algorithms taught in this course.
https://cw.fel.cvut.cz/wiki/help/common/plagiarism_cheating
All study links and references are collected in the Books and on-line resources section.
The main place for consultation is during the practices. If you need more help, feel free to ask at the end of a lecture (you get the fastest response when asking in-person) or you can e-mail the lecturer (for lecture or general course information) or the practice teachers (for practice/homework related questions). See the section Contacts below.
Lecturer:
Radoslav Škoviera | e-mail: radoslav.skoviera {at} cvut.cz. My office is in the CIIRC building in Dejvice (see webpage for detailed address)
radoslav.skoviera {at} cvut.cz
Lab teachers:
David Pařil | e-mail: parildav {at} fel.cvut.cz. Office KNE-220.
parildav {at} fel.cvut.cz
Pavel Šindler | email: pavel.sindler {at} fel.cvut.cz. Office KNE-220.
pavel.sindler {at} fel.cvut.cz