Fundamentals of Genome Assembly