Available courses

Introduction to Cryptography
by Christof Paar

He is the Authors of: Understanding Cryptography -  A Textbook for Students and Practitioners

Authors: Paar, Christof, Pelzl, Jan

  • Uniquely designed for students of engineering and applied computer science, and engineering practitioners

Advanced Level Linux Certification

  • Status: First published November 29, 2001; last republish and latest revision November 2013.
  • Prerequisites: You must have an active LPIC-1 certification to receive LPIC-2 certification, but the LPIC-1 and LPIC-2 exams may be taken in any order.
  • Requirements: Passing exams 201 and 202
  • Live Now: Exam Objectives 201/202 - Refreshed November 2013 (See Below)
  • Important Note: This is also a summary and detailed information on the changes from version 3.5.x to 4.0.0 of the objectives.The version 3.x of the LPIC-2 Objectives are still online.

Overview of Tasks

These are required exams for LPI certification Level 2. It covers advanced skills for the Linux professional that are common across all distributions of Linux. Also, LPIC-1 must be obtained in order to receive the certification. Exams may be taken in any order but all of the requirements must be met.

To pass LPIC-2, the candidate should be able to:

  • Administer a small to medium-sized site.
  • Plan, implement, maintain, keep consistent, secure, and troubleshoot a small mixed (MS, Linux) network, including a:
    • LAN server (Samba, NFS, DNS, DHCP, client management).
    • Internet Gateway (firewall, VPN, SSH, web cache/proxy, mail).
    • Internet Server (web server and reverse proxy, FTP server).
  • Supervise assistants.
  • Advise management on automation and purchases.

Junior Level Linux Certification

The first IT certification program to be professionally accredited by National Commission For Certifying Agencies NCCA

  • Status: First published January 11, 2000; latest revision published April 2009
  • Prerequisites: None
  • Requirements: Passing Exams 101 and 102
  • Latest Updates Objectives are up to date with the latest changes

Overview of Tasks

To pass Level 1, someone should be able to:

  1. Work at the Linux command line
  2. Perform easy maintenance tasks: help users, add users to a larger system, backup and restore, shutdown and reboot
  3. Install and configure a workstation (including X) and connect it to a LAN, or a standalone PC to the Internet.

Course Instructor

Stephen Smith is a Systems Infrastructure Security Engineer with over 16 years of architecting experience. He has been with Linux Academy since the beginning and teaches courses on Linux, AWS, Azure, and OpenStack. Stephen's passion is OpenStack and holds many certifications and is very active within the OpenStack Foundation's community.

Vagrant allows you to create portable work environments which can be easily reproduced on any system. It's useful for developers and system administrators who want to mimic a server's configuration on their local machine. It's useful for teams who want to quickly get designers and project managers up and running with a local installation. In this introductory course in to vagrant we learn the basic concepts of what vagrant is, how to install it, and how to get started with our own Vagrantfile configs to get up and running.

Course Instructor: Terrence Cox


A veteran of twenty years in Information Technology in a variety of roles. He has worked in development, security and infrastructure well before they merged into what we now call DevOps. He provides training in Linux, VMWare, DevOps (Ansible, Jenkins, etc) as well as containers and AWS topics.

Course Instructor
Anthony JamesAnthony is the founder/CEO of Linux Academy, and instructs courses on AWS, DevOps, and Linux. When not creating and maintain a variety of courses, he is leading the Linux Academy content & code team.

Red Hat Certified System Administrator (RHCSA) for Red Hat Enterprise 7


image of author Kevin Skoglund



In Ruby Essential Training, expert instructor Kevin Skoglund teaches the fundamentals of Ruby, the popular object-oriented open-source programming language. Kevin begins by walking through the basic data types, demonstrating Ruby's control structures (loops, iterators, conditionals, and code blocks) and showcasing the elegant syntax structure of the language. Kevin explains variable scope and shows how to use methods, arguments, and return values to write efficient code. After covering the fundamentals, Kevin focuses on Ruby's object-oriented features. He shows how to define classes and explores OOP concepts, including instances, attributes, access control, and inheritance. Exercise files accompany the course.
Topics include:
Using Ruby in the Interactive Ruby Shell and in standalone scripts
Learning to write custom code blocks to find, merge, and sort
Using modules for namespacing or as mix-ins
Reading from and writing to files
Creating a full Ruby project from start to finish

Skill LevelBeginner
1h 25m
Show Less

About This Course

Let's start with the strategic goals of this course:

  • Help students (who may or may not intend to major in computer science) to feel justifiably confident of their ability to write small programs.
  • Map scientific problems into computational frameworks.
  • Position students so that they can compete for jobs by providing competence and confidence in computational problem solving.
  • Prepare college freshmen and sophomores who have no prior programming experience or knowledge of computer science for an easier entry into computer science or electrical engineering majors.
  • Prepare students from other majors to make profitable use of computational methods in their chosen field.

6.00SC can be summarized with these six major topics or objectives:

  • Learning a language for expressing computations—Python
  • Learning about the process of writing and debugging a program
  • Learning about the process of moving from a problem statement to a computational formulation of a method for solving the problem
  • Learning a basic set of "recipes"—algorithms
  • Learning how to use simulations to shed light on problems that don't easily succumb to closed form solutions
  • Learning about how to use computational tools to help model and understand data

6.00 is designed to help you become skillful at making the computer do what you want it to do. Once you acquire this skill, your first instinct when confronted with many tasks will be to write a program to do the task for you. Said another way, we want to help you learn to apply computational modes of thought to frame problems, and to guide the process of deducing information in a computational manner.

This means that the primary knowledge you will take away from this course is the art of computational problem solving. Unlike many introductory level courses, having an ability to memorize facts will be of little help in 6.00. This course is about learning to solve problems, not learning facts. (This, by the way, is exactly why all exams are open book.)

Prerequisites and Preparation

This course is aimed at students with little or no prior programming experience but a desire to understand computational approaches to problem solving. Now, by definition, none of you are under-qualified for this course. In terms of being over-qualified — if you have a lot of prior programming experience, we really don't want you wasting your time, and in this case we would suggest that you talk to me about how well this class suits your needs, and to discuss other options. In addition, we want to maintain a productive educational environment, and thus we don't want over-qualified students making other students feel inadequate, when in fact they are only inexperienced.

Since computer programming involves computational modes of thinking, it will help to have some mathematical and logical aptitude. You should be confident with your math skills up to pre-calculus.


The original textbook for 6.00 and the course lectures parallel each other, though there is more detail in the book about some topics. The book is NOT required. We will not be referring to it in assignments or depending upon it to cover holes in the lectures.

Guttag, John. Introduction to Computation and Programming Using Python. Spring 2013 edition. MIT Press, 2013. ISBN: 9780262519632.

A new edition of the textbook is now available. However, there may be some discrepancies between the original course lectures included on this course site and the sections in this revised and expanded edition of the textbook.

mp_logo.gif Buy at Amazon Guttag, John. Introduction to Computation and Programming Using Python. Revised and expanded edition. MIT Press, 2013. ISBN: 9780262525008.

If you choose not to purchase the textbook, you will probably find it useful to buy or borrow another book that covers Python. You might check your local public library's resources, or search online for a free Python text, such as How to Think Like a Computer Scientist or This resource may not render correctly in a screen reader.An Introduction to Python (PDF).

Online readings will be posted on the appropriate session pages. A more complete list of readings and references (not all of which are specifically assigned during lectures) can be found in the References section.

Technical Requirements

Since one of the goals of this course is to become familiar with programming, you will need to install and use the Python programming language and the interpreter IDLE. Please see the Software section for information and instructions on downloading the required software.

Most lectures involve programming demonstrations, and the code involved will generally be posted twice: once as a handout in PDF format, and again as a code file in .PY (Python) format. Additionally, many problem sets have accompanying code required for completing the assignment, and these are posted as .PY (Python) files. If you do not have the software installed, you will not be able to properly open and use these files.


We would like to thank course TAs Mitchell Peabody, Gartheeban Ganeshapillai, and Sarina Canelake for their participation in filming 6.00 recitations for OCW Scholar, and Niki Castle and Elaina Cherry for their work and dedication adapting the 6.00 materials for Scholar students. We would also like to thank Eric Grimson for his role in the development of 6.00 teaching material over the years, and for allowing us to record a guest lecture.

CompTIA Network+ N10-006

Release Date: December 2016
Running time: 8:30:42

Video Description

CompTIA's Network+ N10-006 is a vendor-neutral certification that validates technical competency in networking administration and support. The Network Plus certification confirms a technician's critical knowledge of media and topologies, protocols and standards, network implementation and network support. The exams also cover domains such as security, safety and environmental issues and communication and professionalism.

Stone River eLearning

Stone River eLearning was founded in 2011, and since then we have taught over 300,000 students. Our focus is on developing high quality video training in all areas of the technology field, including programming, development and design.

CompTIA Network+ N10-006.zipCompTIA Network+ N10-006.zip

CompTIA Network+ N10-006 by Kevin Wallace

Based on: MTCNA_Outline.pdf

Certified Network Associate (MTCNA) 

Training outline

Duration: 3 days

Outcomes: By the end of this training session, the student will be familiar with RouterOS software and RouterBOARD products and be able to connect the client to the Internet. He will also be able to configure, manage, do basic troubleshooting of a MikroTik router and provide basic services to clients.

Target audience: Network engineers and technicians wanting to deploy and support: 

Corporate networks 

Client CPEs (WISPs and ISPs) Course 

Prerequisites: The student must have a good understanding of TCP/IP and subnetting.

 Suggested reading: 

Search for “ipv4 tutorial”

Test yourself with the 'example test' on https://www.mikrotik.com/client/trainingSessions

Duration: 3 days Outcomes: By the end of this training session, the student will be familiar with RouterOS software and RouterBOARD products and be able to connect the client to the Internet. He will also be able to configure, manage, do basic troubleshooting of a MikroTik router and provide basic services to clients. Target audience: Network engineers and technicians wanting to deploy and support:  Corporate networks  Client CPEs (WISPs and ISPs) Course prerequisites: The student must have a good understanding of TCP/IP and subnetting. Suggested reading: Search for “ipv4 tutorial” Test yourself with the 'example test' on https://www.mikrotik.com/client/trainingSessions