This course introduces students to fundamental concepts of computer programming. Topics include: algorithms, abstract data types, linear and non-linear data structures, and software engineering. Students will get hands-on experience with the use of a high level programming language to search and sort data.