[[https://www.fel.cvut.cz/en/education/rozvrhy-ng.B192/public/html/predmety/57/20/p5720406.html|Timetable at FEE]] [[https://www.fel.cvut.cz/en/education/rozvrhy-ng.B192/public/html/paralelky/P57/20/par5720406.1.html|Students of PGE]] [[https://cw.felk.cvut.cz/brute/|Upload system BRUTE]] [[https://cw.felk.cvut.cz/forum/forum-1637.html|Discussion board]] [[https://cw.fel.cvut.cz/wiki/courses/be5b33prg/start|PRG]] ====== BE5B33PGE – Programming for Engineers ====== The course continues from 25.3. in distance online form\\ according to the course timetable. Online course uses Microsoft Teams application.\\ MS Teams can be downloaded from\\ https://teams.microsoft.com/downloads\\ To log in, use your CTU main username in the form:\\ **@cvut.cz** ( do not use @fel.cvut.cz !!)\\ The password is your main CTU password.\\ Quick intro links:\\ https://teamsdemo.office.com/\\ https://pulse.microsoft.com/uploads/prod/2020/03/Microsoft_Teams_Quickstart.pdf\\ https://www.dummies.com/software/microsoft-office/how-to-use-microsoft-teams/\\ ===== Goals ===== The course is concerned with the ability to implement effectively solutions of various elementary engineering applications. \\ -- Processing numerical and text data.\\ -- Building simple expandable applications.\\ -- Introduction to tree and graph structures.\\ -- Code debugging skills.\\ Integral part of practices are graded programming homeworks. ===== Prerequisites ===== The student of the course is expected to be capable of simple programming in Python. The student should understand basic structures like arrays, lists, files and should be able to access and manipulate data stored in these structures. ===== Semester organization ===== **Practices attendance**\\ Attending practices is mandatory. A student who cannot attend practices for important personal/health/study reasons has to negotiate their situation with PGE teacher(s) in advance, to establish a plan of appropriate replacement learning activities. Apart from these rules, at most two (or similar low number) unexplained absences at practices are acceptable. **Individual work**\\ All code a student turns in during the course has to be written individually by him/her. However, students are encouraged to discuss the solution ideas with other students and teachers before coding. It is the code which has to be produced strictly individually, not the idea of the solution. Plagiarism is not supported at CTU, see the [[https://cw.fel.cvut.cz/b182/help/common/plagiarism_cheating|plagiarism dealing rules]]. **Programming homeworks**\\ There are 5 programming homeworks in the semester. The total value of the homeworks is 20 points, the maximum value of each one homework is 4 points. To obtain the assessment it is necessary to solve successfully a number of problems which yields at least 10 points. The homeworks are assigned and the solutions are evaluated in the [[https://cw.felk.cvut.cz/brute/|upload system BRUTE]]. **Upload system** \\ Communication with the upload system is described on page [[courses:be5b33pge:uploadsystem| Upload System]].\\ Read it carefully. * A successful solution of a homework must produce at least 50% of correct results. * The deadlines of the homeworks are fixed. Solutions submitted after the deadline are not graded. Individual submission plan can be agreed upon in case of prolonged sickness, foreign trip or other important causes.\\ * The [[https://cw.felk.cvut.cz/forum/forum-1637.html|Discussion board]] may help with discussions about the homeworks and other issues of the course. **Homework deadlines **\\ assignment -- deadline 1. 19.2. -- 30.4. ( bonus deadline 6.3. + 4 pts ) 2. 26.2. -- 30.4. ( bonus deadline 27.3. + 4 pts ) 3. 29.4. -- 23.5. 4. 12.5. -- 31.5. 5. 12.5. -- 31.5. Correct 10 of given 10 test cases ... 4 pts Correct 9 of given 10 test cases ... 3 pts Correct 8 of given 10 test cases ... 2 pts Correct 7 of given 10 test cases ... 1 pts Correct 6 of given 10 test cases ... 1 pts Correct 5 or less of given 10 test cases ... 0 pts **Assessment**\\ * It is necessary to obtain at least 10 of maximum 20 points for solving the programming homeworks. * It is vitally important to avoid plagiarism in the homeworks, read carefully the rules of [[:help/common/plagiarism_cheating| Plagiarism]]. Consult the teacher //in advance// if there is anything unclear to you in this regard. ====== Consultations ====== The preferred time for consultations is Tuesday afternoon and Friday afternoon.\\ The exact time/venue of particular consultations should be agreed upon in advance, e.g. by e-mail or personally during the lessons.\\ ====== Exams ====== **Quarantine strategy**\\ In particular, the regulating documents are: * [[http://www.fel.cvut.cz/en/covid/PD_2020_03_en.pdf|DEAN’S ORDER No. 3/2020]] On Reducing the Risk of Infection by Coronavirus * [[http://www.fel.cvut.cz/en/covid/PD_2020_03_pokyn_en.pdf|GUIDELINES FOR THE DEAN'S ORDER No. 3/2020]] to reduce the risk of coronavirus infection in the week from 18 May 2020 The overall quarantine outline: [[http://www.fel.cvut.cz/en/covid/|http://www.fel.cvut.cz/en/covid/]].\\ All exam participants are expected to know and follow the given quarantine rules during PGE exams. \\ If the quarantine rules are violated the exam might be terminated prematurely without yielding any result or grading. **Dates and locations of examinations**\\ Please register yourself in [[https://docs.google.com/spreadsheets/d/1Mu-z2EWddANsv7bBpL5xlDtMDilWf-hD7Lv28zvTw1I/edit?usp=sharing | Exams timetable ]].\\ Do not register in the KOS system, all reservations are handled by the Exams timetable only.\\ **Classroom attendance**\\ All PGE exams will be held in classical face-to-face classroom attendance form, there will be no online exam. **Homeworks completed**\\ You should complete all homeworks you had chosen to solve before you sit for the exam. **Organization**\\ The exam consists of the analytical and the programming part.\\ At the //**analytical part**// the student is given a few snippets of python code, typically about 4-5 snippets, each having at most 25 lines. The task is to explain what the code does, what is its output. There might be some lines missing in the code and a part of the task is then to fill in those lines according to the presumed functionality of the code. Also, a student may be asked to write on parper a short function in Python with specified functionality. No additional sources, including printed and electronic, may be used at the analytical part.\\ At the //**programming part**// the student must solve a programming problem related to the semester programming homeworks. There are 10 data input files associated with the problem and the student's code must yield a correct solution of at least 5 files. The programming part lasts 2.5 hours (150 min). Students can bring to the programming part any printed or electronic sources on a flash disk.\\ **Programming part setting**\\ All programming will be done on school computers equipped with python IDE. The computers will be disconnected from the Internet. One supervised computer with Internet connection will be available for occasional queries regarding syntax/semantics of particular Python features. **Consecutive terms**\\ A student which fails at any part of the exam (analytical or programming) may repeat this part in any of later exam terms and does not have to repeat the remaining part. His/her results in the other part are not affected. When a student repeats some part more times only his/her best result from all terms of this part is graded. In total, each student can take part in at most three terms of the analytical part and three terms of the programing part. **Points and grading**\\ At the exam, the total of the following is computed:\\ * Points gained by solving homeworks. Acceptable minimum is 10 points.\\ * Points gained by solving the programming part. Acceptable minimum is 5 of maximum 10 points. Each correctly processed input file of total 10 files is worth 1 point.\\ * Points gained by solving the analytical part. Acceptable minimum is 5 of maximum 10 points. The amount of points gained is decided by the examiner. Points total Grade ============ ===== < 20 F 20 - 23 E 24 - 27 D 28 - 31 C 32 - 35 B 36 - 40 A **Bonus points** obtained in 1. and 2. homework are added to the homework points. This means that a student can (if they solve the exam problems successfully) obtain even more than the maximum 40 points stated above. However, in any case both exam parts remain compulsory. **Late minimum correction**\\ When you find after the failed practical exam that the failure was caused by a trivial error in your code you may ask the examiner for repeated evaluation of the corrected code. If the corrected code works according to the exam demands you may still pass this part of the exam. The necessary conditions of a success in such case are: \\ 1. The correction must be conceptually simple and physically short (few lines of code, at most).\\ 2. The original failled solution must be uploaded to Brute before the end of the exam. \\ 3. The correction must be done in the day of the exam.