User-Level Intro to Linux

Welcome Aboard - First Week Module

IMPORTANT NOTICE
As this online course is being revised for summer 2019, not all videos are already integrated in this version of the website. Some modules will be completed as we approach their release date only. Until the new version of the course is fully completed, thank you for your patience dealing with the coat of fresh pain on the webwalls.

Welcome to the online modules used in the User-Level Introduction to Linux taught in the Linux Technologies Specialization Track of the BS in Information Technology program offered by the Department of Computer Science & Engineering at the University of South Florida.

The videos, web resources & assignments in this mini-site are meant to allow students without prior experience to explore the Linux operating system & learn the essentials skills to become fluent users.

If you are taking this course at USF with Alessio Gaspar, please refer to the announcements section of your Learning Management System - Canvas. Every week by Monday at 11:55pm, your instructor will post details on what parts of this site you should study during the week.

You will find below a copy of the syllabus. An updated version of the syllabus will be made available by your instructor the first day of classes on the Learning Management System used by your University; i.e. Canvas for USF.

The following video will help you get your bearings in this online course. We will review the organization of both the course' Canvas site and this website. If you have any questions, please post on the "support forum" available in Canvas.

  • Video - Welcome Aboard
  • Video Link: YouTube
  • This video provides you with an overview of the course objectives and scope. It also details the topics we are going to cover during the semester.
  • Video - Course Canvas Site Overview
  • Video Link: YouTube
  • This video gives you a tour of the course's Canvas site.
  • Video - First Week Module
  • Video Link: YouTube
  • This video details the tasks that you are expected to complete during the 1st week. it also explains the type of learning activities we will be using all semester long.

As always in this course, do not hesitate to contact me if anything confuses you even in the slightiest. Since this material is not graded, you may freely post your questions on the forums, e.g. the support forum is probably the best one for this kind of question about how the course is working.

Topics Studied in this Module

This First Week Module is meant to be completed by Friday of the first week at 11:55am. All our other modules will follow a different schedule that we will discuss later. The format of this special First Week Module is meant to mimic the format of all of our regular modules. This will allow you to get used to the terminology. As we present the different parts of the module to you, we will provide advice on how to work on each type of activity. We will make sure to clarify when this first week module differs from our subsequent modules; e.g., some activities like the Discussion Forum (DF) are not graded this week and are even optional. They will be mandatory and graded in subsequent modules.

As we work on the other modules throughout the semester, refer back to this one if you need to review the details about any of our learning activities.

Modules will generally provide you with study material on one or more topics. The topics will be listed in this section of the overview tab and will each have a dedicated section in the "Study Material" tab. For this first week module, we are going to mostly talk about the structure of the course and how to handle the various learning activities on which you are expected to work.

T1 - Learning Objectives
We start by establishing what you will learn from this course .
T2 - Learning Activities
We then define the different types of learning activities you will find in our modules. For each, we provide advice on how to make the best out of them. This advice is often based on things that previous students mentioned. As such they are a great source of information to make your work easier in this offering
T3 - Weekly Deadlines
The first week has a few deadlines that you should not miss. This topic summarizes them. It will also explain what the deadlines will be for our subsequent modules.

Learning Activities

In addition to the topics for which you will be provided study material, the overview tab of each module will also remind you of all the learning activities to which you will be expected to participate during the module. This first week module will follow the same format.

This first week module will feature the following learning activities; DF, PA, GQ.

For details on what each of them entails, refer to their respective tab on this page. The deadlines for both the first week module, but also for all subsequent modules, are discussed in Topic T3.

Linux+ Exams Objectives

Our subsequent modules will focus on material which is part of either the LX0-101 or LX0-102 certification exams. These two exams form altogether the Linux+ CompTIA/LPI certification.

We expect that some students might be interested in pursuing this certification. To this end, this section will list, in each module, the exams objectives being covered.

This first Tab of our module will provide you with reading assignments, videos, or links that you will have to study. Not every single module will feature all different types of materials, depending on the topics being covered.

As previously mentioned, this first week module will cover topics relevant to how to work in this course.

T1 - Learning Objectives

Our intent is not to prepare you to only be end-users or desktop users on a Linux system. Instead, we aim to prepare you to be able to work efficiently on a Linux platform as an Information Technology professional.

While this introductory material will help you prepare for Linux system administration courses, our focus is on teaching fundamentals from the power user perspective. This is a departure from the standard introduction to Linux that might assumes you are coming to this platform with the sole purpose of becoming a system administrator. Instead of teaching you how to set up a printer by week three, we focus on developing skills which will serve both future Linux system administrators but also any professional IT occupation requiring you to work efficiently on a Linux platform; e.g. developer, web designer, database administrator, web administrator...

Former students also reported that this introduction to Linux was useful if taken before some of the other courses at USF that make heavy usage of Linux which have students work on the Linux platform. Examples of such offerings include;

  • Operating Systems for Information Technology
  • Computer Networking for Information Technology
  • Various Security electives
  • ...
As such, this makes this intro to Linux a good "early elective" to take in the program, especially that it has only the introductory programming course COP2512 as pre-requisite.

T2 - Types of Learning Activities

Each module will guide you through a bunch of learning activities. We are going to list all of them below but keep in mind that any given module will only use a subset of these, as appropriate to the topic being studied.

Please note that, for all graded activity, you must only submit work that you authored alone. If you have any questions, you are only allowed to ask them by emailing your instructor.

Readings & Videos

Each topic tab in the module will provide you with an assortment of resources to learn about the topic at hand;

  • Videos either lecturing on the topic or demonstrating the use of some of the tools mentioned.
  • Reading assignments from tutorials, books, or web-available reources.

As you study this material, it is strongly recommended that you ask questions on the forum associated with this module. The study material is not a graded learning activity but it is the foundation of everything else in the module.

DF - Discussion Forums

These are graded and will help you with respect to two types of learning outcomes;

  • Early in the semester, discussion will focus on getting you familiar with concepts such as "open source", "software licenses"... These DF assignments will require you to search for credible source of information and synthetize your readings
  • Later in the semester, we will use DF assignments to allow you to test different types of use cases for Linux and report on your experiences comparing the software you have tested with other software you are used to rely on for a given task

As your DF posts are graded, you are expected to work on them alone and only submit your own personal work. If you have any questions, you should only email your instructor directly. Also, you will notice that the DF forums on Canvas will all look empty until your make your first post. After you do so, you will be able to see other students' posts to learn from them. If your first post is empty, irrelevant, or you delete it after making it, you will not receive any point since this means you had an opportunity to see other students' posts before to make your own.

PA - Practice Assignments

Practice Assignments are also graded and are meant to allow you to both apply hands-on what you have learned so far in the module and develop the skills to explore on your own alternative Linux technologies going beyond what is introduced in the study material. This kind of exploration requires a lot of trial & error but is essentials in developing the ability to retrieve relevant technical information and leverage it to address a never-seen-before problem. This skill is quintessential to the Linux professional & needs to be honed with lots of practice, not by just lecturing about how to do it.

This being said, you are not expected to develop these skills on your own! It is strongly recommended that you seek help from the instructor and Teaching Assistant, early during the week. Sending an email at 10pm on Sunday will not get you the help you need. In addition to the instructor's office hours on campus, the Teaching Assistant will be holding multiple online sessions every week to help you with your PAs. While these sessions are optional, attending at least one of them every week is the best way to work in this course. Attendance will be taken by the TA in order to establish the effort put into the course when students come for help toward the end of the semester.

More details will be communicated by the TA via announcements on Canvas regarding how you will need to submit your PA work every week.

GQ - Graded Quizzes

Graded Quizzes will allow you to test your understanding of the various concepts and tools introduced in the module. You will take them inside the Learning Management System used by your University, e.g. Canvas at USF, not on this website.

T3 - Weekly Deadlines

This third Topic Tab explains the deadlines for both our first week tasks and then the deadlines we will use for all other modules.

First Week Deadlines

Things are tight during the first week as we need to take first day attendance by Friday.

  • The first week quiz, see GQ tab, must be completed with a score of 100% of available points by Friday of the first week at 11:55am
  • As this quiz asks you to certify that you completed all first week tasks, you will need to be done with the PA as early as possible
  • similarly, the optional DF should be done as early as possible

Subsequent Modules Deadlines

All other modules will follow a regular pattern;

  • On Monday 11:55PM a new module is started
  • All PA, DF and GQ assignments for the new module will be due the following Monday at 11:55pm
  • The following Monday at 11:55pm, this module will be over and we start the next one

Discussion Forums (DF) will be used available in almost every module. You will find them in the Learning Management System, e.g., Canvas at USF, not on this website. They are named based on the module they correspond to; e.g. Module M02 will have a forum named DF-02.

What is the DF be for this first week module?

For this first week, we will have a DF - First Week forum. Posting to it is optional but it is a good idea to participate in order to make sure you understand how the forums works. As is explained below, DF forums will show you other students posts only after you contribute your own first post.

I suggest that you post a little bit about yourself, as a way to introduce yourself, but also as a way to get to know other students. Example of things you might want to discuss;

  • Why did you take a Linux elective?
  • What is your previous experience, if any, with Linux?
  • Do you have hobbies you want to mention to others?

DFs in subsequent modules

All discussion forums are setup so that you will not see any of the other students' posts until you make your first post. This is so that you will have to work on your post independently but, after submitting it, will be able to benefit from seeing what other students submitted. This means that only your first post will be graded, for obvious reasons.

Please note that making any type of post on the forum will "unlock" it and allow you to peek at other students' work. Once the forum is unlocked for you, you will not received any credit if you post additional information or edit your previous posts. Here are some examples of behaviors that would result in receiving zero participation points;

  • A student posts a message saying "Just Testing". This unlocks the forum. He or she then posts what they meant to be their first post. They receive zero points as they might have looked at other students' posts first
  • A student makes a first post, then deletes it and make another post which they intend to be graded as "first post". They receive zero points too.
  • A student makes a first post. They later realized they made a typo or something minor. they edit their first post. They receive zero points as there is no way to know the extent of their edits. They might have first looked at other students' work and improved their post accordingly

These are really simple rules based on common sense. They are meant to ensure that all students are fairly granted the same advantages to work on their grades. Make sure you abide by these rules for all discussion forums.

Early DFs - General Discussions

Early in the semester, we will use DF assignments which will provide you with a list of discussion topics that you must address in your post. Here is an example of what such a list might look like;

  • Who defines what "open source" means?
  • What does it take for a project to be considered open source?
  • What are the most prominent open source licenses?
  • How do they differ?
  • Provide examples of open-source related law suits.
  • What were the outcomes?

The following are guidelines to help you make the most out of your participation to this kind of DF assignments, deliver good quality posts, and get full participation credit :)

  • DF forums generally prevent you from seeing other students posts until you make your initial post. For obvious reasons, your participation grade will be primarily based on this initial post. Participation to other threads, and improvement of your initial post after readings other students contributions will be taken into account to round up or down your grade. If your initial post only serves the purpose to allow you to see other students' posts, do not expect any points
  • Besides posting your own discussion in a new thread, you are also expected to respond to a few other students if you find flaws in their posts or if you have any supplementary information to provide them with.
  • Your posts will be evaluated based on the efforts you invested to justify opinions or claims you make, based on reputable sources of information.
  • Distinguish between personal opinions, yours or those you found on the web, and actual verifiable facts. You should majoritarily rely on the latter rather than the former.
  • Opinions are only welcomed if they contribute to the discussion at hand by addressing a topic on which there is no way to reach an objective consensus.
  • When you use verifiable facts, reference the sources which provided you this information as you use it in your argument; e.g. "Most web sites are using LAMP stacks [1] as of a 2012 survey conducted by XYZ inc."
  • Then, provide numbered references at the end of your post. You are free to select any of the reference formatting standards you feel most comfortable using; e.g. APA, Chicago Style...
  • As you provide each reference, also provide a brief justification of why you deem this reference reliable enough to use it to support your statements. Imagine that you are reporting on new technologies to your team and your boss will make a decision which might affect the company strategic position on the market. Would you use "johny the drunken IT Guy Blog" to provide information in this context?
  • While these discussions are not meant to be overly formal, consider your posts as contributions to a learning community with which you are engaging. You are therefore expected to show professionalism and respect to all participants.

In doubt, use what you learned about scientific thinking and apply it here. If you need help improving your posts, make sure to get in touch with your instructor or TA.

Late DFs - Evaluating Open Source Software

Later in the semester, we will also use DF assignments that will require you to install some software, use it for the week, and compare it to other software.

These DF assignments will invariably either ask you to test a new Linux tool, and compare it to other tools we have been studying, or ask you to install some open source software and compare it to equivalent software you have been using so far on the Windows Operating System.

Your posts should be written as a professional review, meant to provide enough information to your peers to decide for themselves whether the software is relevant to their needs. the objective is therefore not so much to voice your personal opinions but to establish your comparison on both

  • Hands-on experiments that you conducted on your virtual machine in order to test the capabilities of the above-mentioned software. Screenshots are welcome along with detailed explanations of what you did, and the conclusions you derive from it.
  • Readings from reputable and credible references, i.e. not Johnny the IT Guy personal blog, which provide detailed answers to the above comparison elements. Make sure you provide full references to your resources and refer to them in the text of your post to back any statements you are making which are derived from them.

When using references, the guidelines for the previous type of DF assignment still apply.

Practice Assignments, or PAs for short, are meant to allow you to;

  • Prepare for the exams
  • Apply what you learned in the module in a hands-on manner
  • Go beyond the reading assignments, or videos, by learning to research information to complete new tasks

What is the PA for this first week?

For our first week, the PA will be mandatory and very essential. It should also be fairly trivial for most students. It will allow you to make sure that your machine is able to run the software you will need to work with this semester. The first week quiz will ask you to certify that you completed this first PA and that you are able to work with the software needed. It is therefore a good idea to start working on this PA early in the week.

  • Template
  • File Link: Testing your Virtual Linux Box.pdf
  • For this first PA, we will provide you with instructions to follow, instead of having you do the hard work of researching and figuring out a new tool. This PDF will show you how to download the required software and test it on your machine. Please note that, as new releases of both Virtual Box and Ubuntu are quite frequent, some details might be slightly different than those presented in the above PDF. When this happens, use the forums to ask for clarifications. As of summer 2020, the latest version of the software that you want to download are;
    • Virtual Box 6.0.20 (and its corresponding extension pack)
    • Ubuntu 64 bits 20.04LTS

Please note that the above instructions lead you to install the Virtual Box software, download a Linux Ubuntu CD image, then try it out by booting the live CD image inside a brand new virtual machine managed by Virtual Box. You are NOT expected to install a new Linux virtual machine, this is what we will do in our next PA. For this first week, simply booting the live CD image will be enough to ensure that all required software is working on your machine.

If you need help, remember to contact the TA for help on any of our PA assignments (on-campus office hours or make an online meeting appointment).

When you are done, click the PA - First Week link in Canvas and upload a PDF file containing a screenshot showing your Virtual Box software running the Ubuntu Live CD image. Make sure that the screenshot also captures a notepad window in which you will have typed your name.

Troubleshooting Tips. Some students encountered various issues recently when installing. I will try to keep here pointers to the solutions that have been posted in the forums;

  • Virtual Box does not show option for 64 bit variants of Linux. Jeremiah Woodbury posted the following video to help out during summer 2018; YouTube. Bottom line; make sure the virtualization extensions are turned on in your BIOS.
  • During summer 2019, Issam Halabi mentioned that, on MacOSX, trying to make the VM resolution larger tahn 640x480 resulted in low quality display. He posted on the forum a fix involving changing the graphics controller from vmsvga to vboxvga under display in the setting menu, then changing on ubuntu the display settings to an acceptable 16:10 display.

It is also a good idea for you to bookmark the following resource and read through its table of contents to familiarize yourself with what information you will be able to find there, later on, when you need it.

  • Link - Virtual Box Manual
  • URL Link: https://www.virtualbox.org/manual
  • The virtual box manual is your primary reference when you need help using our virtualization software. Keep it bookmarked, and refer to it everytime you need to know how to perform a given task with Virtual Box.

PAs in subsequent modules

Due to their nature, PAs will take many hours every week and will involve a lot of trial and error. All this is part of what will give you the hands-on practice on a Linux system which will prepare you to be able to work efficiently in this environment.

The way to get the most out of these PAs is to;

  • Start working on PAs early in the week
  • Attend instructor's (and TA's) office hours to get help if you are stuck
  • Spread your PA work over several sessions during the week. This will give time for your questions to be answered before you work again on the PA

Please note that no solutions to PAs will be provided, instead we have many hours, every week, during which the instructor and TA are available to help you get to the point where you have the skills to complete the TAs on your own. Put in the work and you will not only get to the solution but develop the skills you need. Reading solutions is always easy but does not prepare you for the exam. We provide one-on-one help to each student but you have to make sure you seize this opportunity.

As you work on each PA, keep detailed notes. Taking notes will help you achieve the following;

  • Ensure that your solutions work and that you captured all the step-by-step details
  • Be able to quickly remember how you solved a given problem, should you have something similar to tackle during an exam
  • Pinpoint exactly where you are having problems while working on a task

Those of you who have had already experience working in IT will recognize that all these things are essential to any IT professional;

  • You often need to document your work for others to review or simply know what has been done on a given system
  • You should not have to spend again 3 hours on a problem you solved 6 months ago just because you were too disorganized to keep notes while you worked on it
  • When stuck on a problem, you should be able to go to colleagues and ask them precise questions rather than simply ask them to do your work
As such, keeping detailed notes during your PA assignments will also prepare you for being the kind of colleague that others will look forward to working with.

Graded Quizzes (GQ) will be available in the Learning Management System used by your university. At USF, we currently use Canvas. You will find the links to take the GQ in Canvas and not on this website. GQs will be used in most modules; e.g. Module M03 will feature a graded quiz named GQ-03. They are meant to measure your understanding of the information provided in the entire module.

What is the quiz for this first week?

As with the other learning activities used in this first module, the GQ for our first week module will be a bit different. It will be named "First Week Quiz" instead of "GQ-" followed by the module number. Unlike subsequent GQs, it will not count toward your final grade and you will be allowed to retake it as many times as you want before the deadline.

Unlike subsequent quizzes, this one will not be related to Linux. It is really just a checklist where you will certify that you have completed all tasks that are expected of you during this first week.

This quiz will be due by Friday of the first week at 11:55am. Please note that it is mandatory to take it before the posted deadline. It is also mandatory for you to retake it until you score 100% of the available points. Failure to do so by the deadline will result in you being dropped from this course as we are using this first week quiz as a way to comply with USF first day attendance taking policy. Please refer to the syllabus for additional information regarding first day online attendance.

Graded Quizzes in subsequent modules

Please refer to the syllabus for details on the exact policies on how to take the GQs.

There will be one graded quizz associated with each module. They will be mandatory, time-limited, proctored, and graded. These quizzes will be automatically graded but the solutions & feedback will be only released when the deadline to take them is over. When the grades are released, you will be able to access feedback for open ended questions by clicking on the quiz grade in your gradebook. This is a very important way of seeing what you got right or wrong, and learn from it so you patch up any misconceptions about the study material before our exams.

If you have any questions about any of our GQs, contact directly your instructor. Never use the any of the forums to inquire about anything related to a graded assignment.

Advice on Taking GQs in our upcoming modules;

  • Make sure you understand the study material before to take the GQ
  • Make sure you also were able to complete the PA before to attempt the GQ. Very often, the GQ will also feature questions about the PA
  • You may not ask for help with the questions once you started taking your GQ. It is therefore important you get help with the material before we test your understanding; e.g., by working on your PA all week long and asking detailed questions
  • Answers will be available about 24 hours after the deadline so it will not be possible to allow you to take your GQ past the deadline
  • Make sure that you read thoroughly your reading assignments and work on the Study Guides, Discussion Forums & Practice Assignments, before to take your graded quiz!
  • Make sure you read the syllabus section on graded quizzes so that you know how to handle last minute problems (technical or others) properly.
  • As you take the graded quiz, make sure you "save" your responses every time you enter new data. If you get disconnected, this will allow you to log back in and resume your work where you left it. You will not see the previous questions' responses, since this is a new session, but they are in the system.

Some modules will feature a tab like this one that is meant to provide you with extra resources. These resources might come in handy to work on some part of the module, e.g. DF assignment, or might just be pointers to help you if you want, optionally, to dig deeper in the topics covered by the module.

General Links about Linux

For many students new to Linux, the following provides a good overview of both uses of Linux in industry and its adoption statistics;

It is a good idea to then move on to some more specialized sites;

Linux Media

Zines related to Linux;

Linux Enthusiasts Web Sites;

YouTube;

Linux User Groups

These are great environment to find other fellow Linux enthusiasts to mingle with. I will try to keep the list below up to date with LUGs available in central Florida. Do not hesitate to get in touch to have your LUG added. Our online students are from everywhere in Florida, helping them find a LUG near them is the point of this list!

Educational Material about Linux

The following are resources providing a more structured approach to learning about Linux

For those of you interested in developing on the Linux platform;

For those of you interested in kernel internals;

Professional Organizations

Linux Certifications;

This page is not mandatory reading but is instead meant to provide some additional information for those of you who are curious about how this course was developed, the reasons behind the structure we will be working with, or simply who their instructor is.

Instructor Information

Dr. Alessio Gaspar is an Associate Professor with the University of South Florida’s Department of Computer Science & Engineering, director of the USF Computing Education Research & Adult Learning group, and coordinator for the USF BSIT Linux Technologies specialization tracks.

He received his Ph.D. in computer science in 2000 from the University of Nice Sophia-Antipolis (France). Before joining USF, he worked as visiting professor at the ESSI polytechnic and EIVL engineering schools (France), then as postdoctoral researcher at the University of Fribourg’s Computer Science department (Switzerland).

Dr. Gaspar is an ACM SIGCSE, SIGITE and SIGEVO member and regularly serves as reviewer for international journals & conferences and as panelist for various NSF programs.

His research interests include Evolutionary Algorithms and Computing Education Research, with applications to Intelligent Tutoring Systems / Computer Assisted Learning. His teaching interests include System Administration with Linux, Programming, Web App Development in JavaScript and open source in general. For more information feel free to visit his webpage or email him directly at alessio@usf.edu.

Course Development History

This material has been developed and taught to both USF Information Technology & Computer Science students at the University of South Florida by Alessio Gaspar. This is the 8th major revision of this offering.

The transcriptions for our videos have been made possible through the excellent support provided by USF Students With Disabilities Services. A huge thanks to Peggy Kledzik without whom this would not have happened!

This online asynchronouse version was certified in 2018 by the USF Innovative Education team as "meeting all minimal and exceptional standards" of their Quality Matters (tm) based online course evaluation process.

This material is based in part upon work supported by the National Science Foundation under award number DUE ATE 0802551. Any opinions, findings, and conclusions or recommendations expressed in this publication are those of the author(s) and do not necessarily reflect the views of the National Science Foundation. For more information refer to the USF CEReAL research group.

Take a look at the "USF Linux Technologies" website for more information about other offerings you might be interested to take in order to further your Linux skills.