An introduction to problem-solving concepts and program design. Topics covered include top-down design with a structured programming language, bottom-up testing, control statements, and structured data types. No prior knowledge of programming is required. The language for the course is Python or C++; students with a knowledge of another programming language with find the course valuable. Prerequisites: One year each of high school algebra I, II and geometry or equivalent, and a passing score on the placement exam. Offered each spring.
Consult the department chair for the schedule of offerings.
102 Advanced Programming
A continuation of Computer Science 21. Topics include recursion, an introduction to data structures, analysis of algorithms, and object-oriented programming. Programming style and large program development are emphasized. Prerequisites: Computer Science 21 or an equivalent C++ based course.
110 Computer Systems
Computer structure and machine languages, assembly language macros, file I/O, program linkage and segmentation. Prerequisites: Computer Science 102 or equivalent.
174 Analysis of Algorithms
Basic notations of the design and efficiency of computer algorithms, non-numerical algorithms for sorting and searching, and numerical algorithms (matrix multiplication). Underlying data structures are examined. Prerequisites: Computer Science 102 and Math 28 or equivalent.
190 Topics in Computer Science
This course presents connections among different disciplines with apply the principles of computer science. The theme varies from year to year. Students are required to complete a significant project involving their primary discipline. Prerequisites: vary with topic.
197 Special Study
Independent study in topics not covered in listed courses. Permission of the department chair required.