A short course on computer viruses (2nd ed.)