You will learn how to solve problems by decomposing them into logical pieces, and you will learn how to capture common patterns in order to save time and effort in the development process. You will also discover that computer programming is an art, as you strive not only for solutions that not only "work" but are also "elegant." Concepts are taught in the object-oriented programming paradigm.
CS101 is not an easy course, but students find it rewarding and well worth the effort. Expect to spend an average of 10 hours per week outside of class time.
CS101 is the recommended first course for computer science majors, minors, or anyone else who is interested in an introduction to computer science concepts. CS100 and CS151 are available for students who want to become familiar with computing tools available at Washington University.
An introduction to software concepts and implementation, emphasizing problem solving through abstraction and decomposition. Introduces processes and algorithms, procedural abstraction, data abstraction, encapsulation, and inheritance. Recursion, iteration, and simple data structures are covered. The impact of data representation on performance is discussed but not emphasized. Concepts and skills are mastered through programming exercises, many of which employ graphics to enhance conceptual understanding. Java, an object-oriented programming language, is used as the vehicle of exploration. Prerequisites: Comfortable with algebra and geometry at the high school level. Credit 4 units. Same as L44 Ling 101G.