C2110 UNIX and programming Lesson 1 / Module 1 -1C2110 UNIX and programming Petr Kulhánek kulhanek@chemi.muni.cz National Center for Biomolecular Research, Faculty of Science Masaryk University, Kamenice 5, CZ-62500 Brno Lesson 1 / Module 1 PS/2020 Distance form of teaching: Rev2 C2110 UNIX and programming Lesson 1 / Module 1 -2Teaching Organization ➢ Schedule ➢ Form of teaching ➢ Knowledge assessment C2110 UNIX and programming Lesson 1 / Module 1 -3- Schedule Teaching: October 5, 2020 – January 15, 2021 Examination period: January 18, 2021 - February 26, 2021 Total number of lectured hours: 13 x 2 hours = 26 hours Final exam: colloquium (2 + 1 credits) Total hourly load of the subject: 1 ECTS credit -> 26 hours of study load 3 credits -> 3x 26 hours = 78 hours of study load Self-study, homework, preparation for the exam: 52 hours Full-time form of teaching Distance form of teaching Full-time teaching: 26 hours All in one ☺ 78 hours of study load C2110 UNIX and programming Lesson 1 / Module 1 -4Form of teaching Full-time form of teaching ▪ Course in form of a seminar, attendance is compulsory ▪ Two absences excused in advance allowed ▪ Teaching takes place in the computer room 1.18 /C04/UKB on computers with Ubuntu OS ▪ Lectures with exercises solved during the lesson with the possibility of consultation ▪ Two continuous tests (part of the lesson) ▪ Unscored algorithms ▪ Exam (full-time, in classroom 1.18 / C04 / UKB) Distance form of teaching ▪ Teaching takes place remotely with the possibility of online consultation at the time for which the lessons are planned in the schedule ▪ Absences are only excused for in term tests for serious health reasons ▪ Teaching takes place on personal computers of students with MS Windows 10, MS Windows <10*, OS Linux*, macOS* ▪ The lessons are divided into modules ending with exercises ▪ The modules are accommodated by a prerecorded verbal commentary with practical examples. ▪ Three continuous tests (online) ▪ Scored algorithm of your choice ▪ Exam (full-time form, in classroom 1.18/C04/UKB) * Must be reported to the teacher C2110 UNIX and programming Lesson 1 / Module 1 -5Form of Teaching Self-study, homework, preparation for the exam Full-time teaching / On-line teaching Self-study of extra knowledge that will not be required to pass the exam C2110 UNIX and programming Lesson 1 / Module 1 -6Submitting Assignments Teamwork is essential. It allows you to blame someone else. L.M.E.T lesson number exercise number task number Task numbering: module number For some tasks, I recommend noting the answers for yourself by writing either into a notebook, printed presentations, or in an electronic document. Each task is uniquely numbered in the following format: Complete tasks independently, you can consult the problems and work in teams in case of ambiguity. I strongly discourage teamwork in a style where one solves the tasks, and the others only follow. C2110 UNIX and programming Lesson 1 / Module 1 -7Online Consultation Self-study on-line consultations Lesson 1 Lesson 13 Test I Test II Test III on-line consultations: • MS Teams * (functional microphone and desktop sharing, camera not required) • Dates (without registration for seminar groups): • Monday 12:00-13:50 • Tuesday 16:00-17:50 • Tuesday 18:00-19:50 * Available under MS Windows, Linux, macOS Assigned Algorithm C2110 UNIX and programming Lesson 1 / Module 1 -8Knowledge Assessment Three tests: (20 minutes) 3x 20 points Algorithm according to the assignment: 10 points Final assessment: - final test (1 hour) 50 points - assigned script (1 hour) 30 points ======================================================= Total: 150 points Passed: >= 110 points Distance form of teaching The course is DEMANDING (do not underestimate its easy start) Course success > 90% Follow-Up Course C2115 Practical Introduction to Supercomputing • block teaching January / February 2021 • possibility of enrollment during the semester • I grant exception to the students who have C2110 registered at the same time C2110 UNIX and programming Lesson 1 / Module 1 -9Knowledge Assessment Tests: • 20 questions, 20 minutes • It will be possible to take the test online anytime within two days (Monday, Tuesday) from any computer • one try (one possibility of composition) • we expect you to take the test by yourself Algorithm: • algorithm of the given problem (flow chart) • submitted in pdf format to the Homework Vaults in IS: "Algorithm" Exam: • final test (50 questions, 60 minutes) • solving one of the three assigned tasks (60 minutes, writing a script) Tests: • multiple-choices (none to all answers may be correct) • the answers are evaluated • correctly chosen answer +1 point • incorrectly chosen answer -0.25 points C2110 UNIX and programming Lesson 1 / Module 1 -10Knowledge Assessment During the tests and solving the final task: You can use all the study materials, any books and the Internet. When writing a test and creating a script, you can use a computer (even your own), you can use scripts from exercises or homeworks. However, you must not collaborate with other people (Facebook, mobile, etc.). Example of the final task (script): • the student solves one task, which he chooses from the three available assignments Assignment A: The file prod006.out contains the result of a molecular dynamics simulation in an explicit solvent at a temperature of 300 K and a pressure of 100 kPa. Extract the current temperature (TEMP (K)) versus time (TIME (PS)) from the file and display it as a graph (5 points). Calculate the average value of temperature and its fluctuation sN from the data given in the file prod006.out (10 points). Display the average value and temperature fluctuation together with the time course of the temperature (5 points) in one graph. The name of the analyzed file is presented as the first argument of the script, which performs the analysis and displays the graph (5 points). Treatment of the wrong input (5 points): the specified file must exist. 𝑇 = ෍ 𝑖=1 𝑁 𝑇𝑖 𝑠 𝑁 = 1 𝑁 ෍ 𝑖=1 𝑁 𝑇𝑖 − 𝑇 2 where N is the number of analyzed values ​​of temperatures Ti. C2110 UNIX and programming Lesson 1 / Module 1 -11Lecture Overview 1. Getting started, remote access (ssh, putty) 2. Remote access (scp, VNC), Linux as a desktop system 3. File system 4. Processes 5. Programs vs scripts, algorithms, bash 6. Bash scripting 7. bash - control structures (conditions, cycles) 8. bash - completion (almost) 9. gnuplot, bash 10. awk 11. Practice: bash + gnuplot + awk 12. awk - continued 13. Compilation of programs from source code Test I Test II Test III Algorithm according to assignment assignment submission