Breadth-first introduction to computer science. Data representation, algorithmic problem solving, basic concepts in hardware, operating systems, networking, graphics, artificial intelligence, and an introduction to the limitations of computing. Exercises include simulation, introductory programming in the Internet environment, and the development and comparison of algorithms. Laboratories emphasize the use of computers for modeling complex phenomena or for analyzing data, and the use of programs for solving interdisciplinary problems. Provides computer science and computer information systems majors with a solid foundation for further study and offers non-majors a broad introduction to the scientific techniques of the discipline.

The development of a disciplined approach to the design, coding and testing of computer programs. A study of object-oriented design. Topics include arrays, strings, pointers, and recursion.

An introduction to databases which focuses on the various uses of database management systems as well as the design, development and administration of such databases. Databases in a microcomputer environment will be emphasized.

The principles of data communications equipment, device protocols, data transmission formats and representation techniques. Network topologies, design and configuration. Network performance issues and enhancement techniques. LANs, WANs, and internetworking issues. The protocols and workings of the global Internet. Issues facing network administrators.

This course provides a summary experience for the major on a topic in computing of special significance. The course will feature critical examination of the topic through such means as consideration of career implications, guest presentations, discussion of ethical ramifications, and a comprehensive project.