COMPUTER SCIENCE

This field deals with the design, development, and use of computer systems and software.

Departments

This course teaches students how to design and analyze algorithms and data structures, including sorting and searching algorithms, graph algorithms, and dynamic programming.
This course covers the design and organization of computer hardware, including the central processing unit (CPU), memory, and input/output devices.
This course covers the principles and design of programming languages, including syntax, semantics, and type systems.
This course covers the design and implementation of operating systems, including processes, threads, and memory management.
This course covers the design and implementation of database systems, including data modeling, query languages, and database optimization.
This course covers the principles of computer networking, including protocols, routing, and networking hardware.
This course covers the principles and techniques of artificial intelligence, including machine learning, natural language processing, and computer vision.
This course covers the design and evaluation of user interfaces for computer systems, including usability testing and user-centered design.

Courses