How to think like a computer scientist. Topics include an overview of the context of computing, computational operations, computational devices, algorithms and data structures, the storage and transmission of data, the presentation of information, and the limits of computing. Students learn about the design and implementation of computational systems, the value of abstraction, problem solving, and the ways in which computation impacts society. There are no prerequisites.
Students learn fundamental problem-solving techniques using a modern programming language. This course covers the same material as CS 149, but at a slower pace for students with little or no programming experience. Students may not receive credit for both CS 139 and CS 149.
Students learn fundamental problemāsolving techniques using a modern programming language. This course covers the same material as CS 139, but at an accelerated pace for students with programming experience. Students may not receive credit for both CS 139 and CS 149. Prerequisites: A prior programming course or equivalent.
Students use advanced problemāsolving strategies to develop algorithms using classes and objects and techniques such as recursion, exceptions, and file I/O. This course also focuses on designing small applications and effective testing strategies. Students may not receive credit for both CS 159 and CS 239. Prerequisites: A grade of C or better in CS 139 or CS C149 or equivalent.