Skip to main content.

Computer Science Course Offerings

The increasing range of applications for computers in our society, combined with rapid changes in the supporting technology, make Computer Science a dynamic and exciting area of study. Our curriculum provides students with a firm foundation in the basic principles and techniques of the discipline, as well as experience using modern software development technology.

Some courses have required in-class labs. Students work directly with the professor.Typically, our class sizes do not exceed 25 giving each student more opportunity to ask questions and make comments. The faculty in the department as a whole has an open door policy. Consequently we meet with our students frequently so students can get the help they need on assignments.

Introductory courses in the major are taught in the programmign language Java.. Upper level courses are taught in languages that are appropriate to specific areas of study. Some of the languages used are: C, C++, Java, LISP, ML, PHP, Prolog, and Python. In addition to popular languages, students gain familiarity with software development tools including Eclipse, NetBeans, and Rational Rose. During their studies, students are encouraged to become familiar with multiple software development environments including those available on both Unix and Windows platforms. Thus, our students are well equipped to pursue a variety of software development careers upon graduation.

The courses we offer include:

  • CPSC 104 The Internet - Technology, Information, and Issues
  • CPSC 105 Problem solving with Databases
  • CPSC 110 Introduction to Computer Science
  • CPSC 125 Introduction to Discrete Mathematics
  • CPSC 220 Computer Science I
  • CPSC 230 Computer Science II
  • CPSC 302 Computer Ethics
  • CPSC 305 Computer Systems and Architecture
  • CPSC 310 Computer Information Systems
  • CPSC 326 Theoretical Foundations of Computing
  • CPSC 330 Object-Oriented Analysis and Design
  • CPSC 331 Computer Graphics
  • CPSC 350 Applications of Databases
  • CPSC 401 Organization of Programming Languages
  • CPSC 405 Operating Systems and Architecture
  • CPSC 410 Database Principles and Design
  • CPSC 414 Network Principles and Applications
  • CPSC 415 Artificial Intelligence
  • CPSC 420 Simulation Techniques
  • CPSC 425 Parallel Processing
  • CPSC 430 Software Engineering
  • CPSC 440 Game Programming
  • CPSC 444 Three Dimensional Computer Graphics

Frequency of course offerings

Normally offered each semester

CPSC 110 Introduction to Computer Science

CPSC 125 Introduction to Discrete Mathematics

CPSC 220 Computer Science I

CPSC 230 Computer Science II

CPSC 370 Special Topics

CPSC 470 Special Topics

CPSC 491 Individual Study

Normally offered only in the Fall semester

CPSC 326 Theoretical Foundations of Computing
CPSC 430 Softrware Engineering

CPSC 405 Operating Systems and Architecture

Normally offered only in the Spring semester

CPSC 305 Computer Systems and Architecture
CPSC 401 Organization of Programming Languages

Information about Computer Science Courses can also be found by consulting

UMW Catalogue:Computer Science course offerings

Computer Science Faculty Academic Web Pages