Topic outline

  • Linux Basics course will be arranged twice in Fall 2020:

    • Period I at weeks 37 - 40: Intensive online course in English starting on week 37. This course is mainly for new Communications Engineering students who have note yet done Linux basics course. This Intensive course requires more independend work from students.
      This MyCourses workspace is used in period I course.
    • Period II course is in Finnish. More info coming later.
    • Please note: BSc students from Computer science and data science and masters students from CS, Game, HCI, Macadamia, Security and SSE majors cannot take this course.
    You will need an own laptop (desktop PC is also OK in this Autumn online course) on which Linux will be installed as an virtual machine on the first exercise session.
    Also working Internet connection is needed to participate in exercises and exam.
    • First exercise session: Wednesday 9.9.2020, 16:15-19:00 online via Zoom. Guided instructions to install VirtualBox and Debian Linux as a virtual machine.
    • Second exercise session: Thursday 10.9.2020, 16:15-19:00 online via Zoom
    • Other exercises: Wed and/or Thu at weeks 38-40
    • Course Exam: On Thursday 15.10.2020, 16:30-19:30. More Info will be sent via course announcements later.

    Course material:

    In case you need to ask about course practicalities (such as Oodi registrations etc.), please email to mika.nupponen@aalto.fi.

    Requirements for the practical usage test of Linux Basics course:

    • Using commands and their parameters that are in the Linux command cheat sheet provided in Materials. The cheat sheet and man pages are available during the final practical test.
    • Usage of a text editor (e.g., Nano, Vim)
    • Knowledge of Linux directory structure (having an idea what is where) and moving around in directories (proc, etc, home)
    • Searching and manipulation and viewing data on command line (grep, awk, sort and less).
    • Installing and removing software through package management (Debian apt), resolving dependencies
    • Starting and stopping services
    • System logs: What logs are available, where are they and how are they used for checking the system and troubleshooting
    • Configuring network settings and using basic network diagnostics (ping, traceroute, traffic capture)
    • SSH: remote connections, file transfer, tunneling, public key authentication
    • Basic usage of Screen
    • Using programming tools, git (e.g., searching program code, changing a specific line of a simple program while following instructions, compilation and testing the result. Committing code to a local repository.)
    • Shell environment variables: listing & editing ( $PATH )
    • Knowing how to make script files with if/then/else and for loops