Topic outline

  • Linux Basics

    Linux Basics course will be arranged twice in Fall 2021:

    • Period I at weeks 38 - 40: Intensive online course in English starting on week 38. 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: Monday 20.9.2021, 16:15-19:00 online via Zoom. Guided instructions to install VirtualBox and Debian Linux as a virtual machine.
    • Second exercise session: Wednesday 22.9.2021, 16:15-19:00 online via Zoom
    • Other exercises: Mon and Wed at weeks 38-40
    • Course Exam: TBD. More Info will be sent via course announcements later.

    Course material:

    In case you need to ask about course practicalities (such as SISU 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