====== Distance Learning, Organizations ====== Please take care about received e-mails. These providing information related to the English course variant organization are archived in the the [[https://cw.felk.cvut.cz/forum/forum-1696.html|forum]] thread [[https://cw.felk.cvut.cz/forum/thread-5370.html|BE5B35APO Meetings and Organization]]. Please, subscribe to be informed about new posts in this thread. If you have question regarding the organization, send question into this thread as well. You receive e-mail copies even for Czech course from the main course [[https://cw.felk.cvut.cz/forum/thread-5368.html|News]] thread. If these e-mails are of no value for you, you can try to disable e-mail notifications for this generic News thread. Seminaries would be partially used to guide you through the topics on the start. The rest of the time would be provided to answer your questions. Write more general questions to the subject forum and post link into meeting "chat". Questions related to ongoing activity in the meeting room should be ask in the room's chat. ===== Lectures ===== Lectures will be realized in frame of the virtual meeting and or on YouTube. A basic textbook that fully covers at least the first half of the semester is [[https://www.elsevier.com/books/computer-organization-and-design-mips-edition/patterson/978-0-12-407726-3|Computer Organization and Design, The HW / SW Interface]] in the fourth (MIPS) edition by professor Patterson and Henessy. The book is available to CTU students (from computers on CTU network) in an electronic form via the [[https://dialog.cvut.cz/|https://dialog.cvut.cz/]] service. To access, select ''Prosím, vyberte si svou univerzitu:'' option ''České vysoké učení technické'', fill in your login details and confirm. Then select the source ''Knovel'' and enter the book authors names into the search entry, limit the search list to books only (first ''Book/Text'' and then ''Book'') and you can read the content. When you stay out of CTU network, you access KNOVEL as well. Login into [[https://cw.felk.cvut.cz/brute/|BRUTE]] for example and then select [[http://knihovna.cvut.cz/katalogy-a-databaze/prehled-databazi/katalog-informacnich-zdroju#knovel|KNOVEL]] tab on central library pages and use link ''Vzdálený přístup do databáze''. There are available 30 paperback copies of the textbook in the central library (sponsored by department of [[https://dce.fel.cvut.cz/|control engineering]], [[https://cyber.felk.cvut.cz/|cybernetics]] and [[http://cs.felk.cvut.cz/computer science|]]. Actual, [[https://www.elsevier.com/books/computer-organization-and-design-mips-edition/patterson/978-0-12-820109-1|sixth MIPS edition]], is in two copies as well as [[https://www.elsevier.com/books/computer-organization-and-design-risc-v-edition/patterson/978-0-12-820331-6|RISC-V second edition]]. ===== Consultation and Seminaries ===== Weekly meeting schedule - the room will be open on Wednesday at 16:15 and we start with the lecture or with discussion if the lecture is already available on YouTube. Questions should be written into open room chat and they will be answered mostly in the first come in, the first come out (FIFO) order. The currently open rooms are accessible from your profile at [[https://cw.felk.cvut.cz/brute|Brute]]. ===== The Archived from 2019/2020 Summer Term ===== Topic of the week from March 23-27 is the seminar 4 – cache. It is recommended to implement bubble-sort (bonus point is provided when commited to [[..:..:documentation:githowto:start|personal GIT]] on FEE GitLab). Description and list of tasks for actual seminar is available on [[..:tutorials:04:start|exercise 4]] page. According to the instructions of the department officer, the week from 23.3. to 29.3. is considered the fourth (4th) teaching week. Because two weeks without education do not officially count into semester, the homework 1 deadline has been postponed by week. /* Confirm its understanding you have time to 29.3. Then the vote on the topic will be closed and its confirmation will also serve as proof of attendance at the exercise. I do not understand the answer, check only if you no longer deal with the topic in the week. Check the other options as soon as possible so that we have feedback about your progress. */ ===== Bubble-sort and possibly other assembler tasks submissions ===== We are looking for a way to automate and simplify both students and lectors interaction to the maximum. In the case of review and feedback on the implementation of the [[https://en.wikipedia.org/wiki/Bubble_sort|bubble-sort]] algorithm, we will assume that the implementation is provided in the file ''work/bubble-sort/bubble-sort.S '' of your repository. Implementation must export the ''array_size'' and ''array_start'' symbols with the ''.globl'' directive, with no data or code behind the ''array_start'' symbol in the next 200 bytes whose overwriting would adversely affect running program. The test program loads the test data set into memory starting from the ''array_start'' address, fills the number of elements into the word at address ''array_size''. The program is run then and whnw it stops at the ''break'' instruction, processed data are retrieved from the ''array_start'' address. The template for the project and its evaluation is provided in the repository [[https://gitlab.fel.cvut.cz/b35apo/stud-support|stud-support]]. See bubble-sort project template in the directory ([[https://gitlab.fel.cvut.cz/b35apo/stud-support/-/tree/master/seminaries%2Fqtmips%2Fbuble-sort|seminaries/qtmips/buble-sort]]). It holds even template source file ''[[https://gitlab.fel.cvut.cz/b35apo/stud-support/-/blob/master/seminars/qtmips/buble-sort/bubble-sort-template.S|work/bubble-sort/bubble-sort.S]]''. It should be renamed your implementation should be fill into it. Copy the file and possibly other files under the correct name to the ''work/bubble-sort'' directory of your repository. All development can be done using internal assembler. If you want to perform testing as we do to automate testing, you need an external [[..:..:documentation:mips-elf-gnu:start| mips-elf]] compiler. With internal one, we are not yet able to refer to the correct addresses when uploading. If you specify addresses with absolute values, it is also possible to test with internal assembler qtmips_cli --dump-cycles --mass bubble-sort.S --load-range 0x12340, array_size.in --load-range 0x12344, array_data.in ===== Brute Big Blue Button ===== The Big Blue Button system integrated into [[https://cw.felk.cvut.cz/brute/|Brute]] will be used for interactive learning and meetings. Tutorial for students here [[https://youtu.be/uYYnryIM0Uw|BigBlueButton overview for viewers (students)]]. ===== Git ===== The source code used during lectures and introductory demonstrations during seminaries are provided to students for their own experiments in a form of the repository [[https://gitlab.fel.cvut.cz/b35apo/stud-support|https://gitlab.fel.cvut.cz/b35apo/stud-support]]. The code submitted for review and evaluation should be passed through the personal [[https://en.wikipedia.orgwiki/Git|GIT]] repository. The notification that code should be reviewed shell be sent by e-mail together with evaluation or as for help and [[https://en.wikipedia.org/wiki/Uniform_Resource_Locator|URL]] pointing to given file in the repository. ===== Credit and Exam ===== A mandatory check of your work and understanding of the topics are the [[..:homeworks:start|four homeworks]], semestral work and exam. As the mechanism to record your presence on seminaries are commits with your experiments and code into your GIT repository at least once during each week. We are not yet able to predict the terms and method of the examination.