Computer Science (BA in Computer Science)
The Computer Science Program
Computer science studies the development of algorithms and data structures for representing and processing information using computers. Additionally, computer science examines the logical organization of computers themselves. Questions which arise include the following. Given the enormous difficulty of writing large programs, what kinds of computer languages can be easily specified, easily understood, and yet mechanically translated? What concepts govern information processing? What are the most advantageous ways of distributing computing loads over a collection of distributed processors? How are graphical images best stored and processed? Are some functions inherently harder to compute than others? Do functions exist which cannot be computed? How is knowledge best represented in a computer?
The department’s programs prepare students for graduate study in computer science and for employment as computer science professionals.
BA/BS in Computer Science
Bachelor of Arts (BA) and Bachelor of Science (BS) are two similar undergraduate degrees in Computer Science. BS degrees typically involve more coursework that covers more deeply the core area of the Computer Science curriculum, while BA degrees are more flexible and encourage reaching out to other disciplines on top of computer science.
The list of possible elective courses for the BA includes non-CS courses that are offered by departments in Arts & Sciences. These courses contribute to this program of study by exploring applications of computing to arts and sciences fields in a significant way or by providing fundamental computing depth and background. The CS department may choose to adjust the list of courses over time and students can request addition of further courses.
Graduate Program
The department offers the degrees of Master of Science in Computer Science and Doctor of Philosophy in Computer Science. For degree requirements and a full description of graduate courses in computer science, visit the department’s website at http://www.cs.wm.edu.
Special Five-Year M.S. Program
he department offers a special program designed to enable particularly well-prepared B.S. or B.A. students to obtain an M.S. in Computer Science 12 or 15 months after receiving their bachelor’s degrees. Students taking computer science as either their major or as a minor in their undergraduate years may be eligible for this program and upon request will receive a graduate advisor in computer science . Candidates may register for at least two graduate-level courses as undergraduates with up to four such courses after completing their undergraduate degrees. Candidates will complete the requirement for an independent research project in either the summer following the completion of undergraduate study or the summer after the course work is completed. Students qualifying for this program may apply to the department for possible financial assistance.
Course Requirements
Required Credit Hours: 36-37 depending on credits awarded for CSCI 141 Modern Programming Fundamentals.
Major Writing Requirement:
Satisfied with successful completion of the major core requirements.
Major Requirements
| Code | Title | Hours |
|---|---|---|
| Core Requirements | ||
| CSCI 141 | Modern Programming Fundamentals | 4 |
| CSCI 241 | Data Structures | 3 |
| CSCI 243 | Logic and Discrete Structures | 3 |
| or MATH 214 | Foundations of Math | |
| CSCI 301 | Software Development | 3 |
| CSCI 303 | Algorithms | 3 |
| CSCI 304 | Computer Organization | 3 |
| CSCI 312 | Principles of Programming Languages | 3 |
| Electives | ||
| Select any 15 elective credits, at least two courses need to be Computer Science courses, chosen from the following: | 15 | |
all CSCI 300-400 level courses 1 | ||
| Big Data Analytics with Machine Learning | ||
| Quantitative Methods in Conservation | ||
| Applied Machine Learning | ||
| Databases | ||
| Data Visualization | ||
| Neural Networks & Deep Learning | ||
| Generative AI | ||
| Reinforcement Learning | ||
| Special Topics in English (Game Studies) | ||
| Geovisualization & Cartographic Design | ||
| Introduction to Remotely Sensed Imagery and Analysis | ||
| Advanced GIS Analysis & Programming | ||
| Computational Methods in Language Science | ||
| Operations Research: Deterministic Models | ||
| Probability and Statistics for Scientists | ||
| Introduction to Numerical Analysis I | ||
| Introduction to Numerical Analysis II | ||
| Operations Research: Stochastic Models | ||
| Ethics and Data Science | ||
| Total Hours | 37 | |
Beyond the courses listed above, as other courses with a significant computing component are added to the W&M undergraduate catalog, they can be approved to be counted as electives for the BA on an individual basis only with approval of the CS undergraduate director.