Degree: B.S., Computer Science
Department of Computer Science
The Bachelor of Science degree in Computer Science provides the kind of dynamic, interactive work environment few fields can match. Software developers and analysts invariably work in teams to tackle cutting-edge projects. We join forces with scientists, doctors, military commanders, social psychologists, and others to produce solutions that are bigger than the sum of their parts. We enjoy the satisfaction of working with our peers to make a common vision become reality.
Computer software is probably the most malleable medium invented for human artistry. Unlike the gadgets of the industrial revolution, which were hardwired to a single purpose, computer software essentially mimics the fluidity of the human mind, making it extensible in any direction the author sees fit. Because of this, in Computer Science, we don’t just study what “is,” but we define what is. Our goal is to invent, create, and solve problems in exciting new ways.
The major is tailor-made for a challenging and practical course of study and paves the way for a dynamic career path and advanced study in the computing and related fields. We also offer a minor in Computer Science for students majoring in other disciplines, and offer courses in support of the interdisciplinary Data Science minor and the Cybersecurity minor. Students have opportunities for individual study, undergraduate research, and internships at technical firms, government offices, or software development agencies.
Students who are considering a career in IT or project management or who are interested in pursuing an MBA should pursue the Computer Science major and a minor in Business Administration.
Students who are interested in a career in Geospatial Systems should consider completing the requirements for Computer Science major and the Geographic Information Science certificate.
Student Learning Outcomes
1. Students will be able to solve computational problems using algorithms and data structures.
2. Students will be able to successfully use industry-standard programming environments in developing applications.
3. Students will be able to analyze, design, implement, and document computer-based systems that satisfy specifications.
4. Students will be able to analyze and compare alternative solutions to problems and systems.
5. Students will be able to capture, digitize, represent, organize, and transform data such that it can be used efficiently in computations.
6. Students will be able to work effectively on a team to develop quality software and systems.
7. Students will be able to communicate effectively in both writing and speaking in a professional context.
8. Students will be able to recognize and apply the social, ethical, and security responsibilities of computer scientists.
9. Students will understand that continuous learning is fundamental for computer scientists and articulate the learning strategies that are most effective for them.
10. Students will articulate their interests, skills, and strengths related to their professional identities.
Major Requirements
Code | Title | Credits |
---|---|---|
CPSC 220 | Computer Programming and Problem Solving | 4 |
CPSC 225 | Software Development Tools | 1 |
CPSC 240 | Object-oriented Analysis and Design | 4 |
CPSC 302 | Computer Ethics | 3 |
CPSC 305 | Computer Systems and Architecture | 4 |
CPSC 326 | Theoretical Foundations of Computing | 4 |
CPSC 340 | Data Structures and Algorithms | 4 |
CPSC 350 | Applications of Databases | 4 |
CPSC 405 | Operating Systems and Systems Programming | 4 |
CPSC 430 | Software Engineering | 4 |
Select one of the following: | 4-6 | |
Applied Discrete Mathematics | ||
Introduction to Discrete Mathematics and Linear Algebra | ||
Select one course, minimum 3 credits, in CPSC numbered 400 or higher that was not used to satisfy any of the preceding requirements 1 | 3 | |
Select one course, minimum 3 credits, in CPSC or MATH numbered 300 or higher 2 | 3 | |
Total Credits | 46-48 |
- 1
Except CPSC 499 Internship . CPSC 491 Individual Study in Computer Science fulfills this requirement if said course is at least three credits.
- 2
Including CPSC 391 Special Projects in Computer Science, CPSC 491 Individual Study in Computer Science, or CPSC 499 Internship provided the course is at least 3 credits.
A maximum of 3 credits of CPSC 499 Internship can be counted toward the Computer Science major.
General Education Requirements
The general education requirements for Bachelor of Arts/Bachelor of Science degrees apply to all students who are seeking to earn an undergraduate B.A., B.S. or B.S.Ed. degree.
Students seeking a Bachelor of Liberal Studies degree have a separate set of BLS general education requirements.
Electives
Elective courses are those that are not needed to fulfill a general education requirement or major program requirement but are chosen by the student to complete the 120 credits required for graduation with a B.A./B.S./B.S.Ed. degree or the BLS degree. These courses may be taken graded or pass/fail (or S/U in the case of physical education and 100-level dance). No student in a regular B.A./B.S./B.S.Ed. program may count more than 60 credits in a single discipline toward the 120 credits required for graduation.
Total Credits Required for the Degree: 120 credits
Plan of Study
This suggested plan of study should serve as a guide to assist students when planning their course selections. It is not a substitute for a student's Degree Evaluation or the Program Requirements listed for this major in the catalog. Academic planning is the student's responsibility, and course selections should be finalized only after speaking with an advisor. Students should familiarize themselves with the catalog in effect at the time they matriculated at the University of Mary Washington. Students should also familiarize themselves with general education requirements which can be fulfilled through general electives as well as major/minor course requirements. Course requirements and sequencing may vary with AP, IB, CLEP, Cambridge or previous coursework, transfer courses, or other conditions. To be considered full-time, an undergraduate student must be enrolled in 12 or more credits for the semester.
Freshman | ||
---|---|---|
Fall | Credits | |
CPSC 110 | Introduction to Computer Science 1 | 3 |
FSEM 100 | First-Year Seminar | 3 |
General Education Courses | 9 | |
Credits | 15 | |
Spring | ||
CPSC 220 | Computer Programming and Problem Solving | 4 |
CPSC 284 | Applied Discrete Mathematics | 4 |
General Education Courses | 6 | |
Credits | 14 | |
Sophomore | ||
Fall | ||
CPSC 225 | Software Development Tools | 1 |
CPSC 240 | Object-oriented Analysis and Design | 4 |
General Education Courses | 12 | |
Credits | 17 | |
Spring | ||
CPSC 340 | Data Structures and Algorithms | 4 |
CPSC 350 | Applications of Databases | 4 |
General Education Courses | 6 | |
Credits | 14 | |
Junior | ||
Fall | ||
CPSC 326 | Theoretical Foundations of Computing | 4 |
CPSC/MATH 300-Level Elective | 3-4 | |
Electives | 8 | |
Credits | 15-16 | |
Spring | ||
CPSC 302 | Computer Ethics | 3 |
CPSC 400-Level Elective | 3-4 | |
Electives | 9 | |
Credits | 15-16 | |
Senior | ||
Fall | ||
CPSC 305 | Computer Systems and Architecture | 4 |
CPSC 430 | Software Engineering | 4 |
Electives | 6 | |
Credits | 14 | |
Spring | ||
CPSC 405 | Operating Systems and Systems Programming | 4 |
Electives | 12 | |
Credits | 16 | |
Total Credits | 120-122 |