basic knowledge of computers, data structures and programming