In this course the fundamentals of computer science are introduced, with emphasis on programming methodology and problem-solving. Topics include, but are not limited to, concepts of computer systems, software engineering, and algorithm design, programming languages and data abstraction, with applications. A high level language is fully discussed and implemented and serves as a vehicle to illustrate many of the concepts taught.