Students who have little or no prior programming experience should select CPSC 110 as their first CPSC course. This course is taught using the Python programming language. Students with considerable programming experience should select CPSC 220 as their first CPSC course. Students who have completed an AP course in computer science and earned a 5 on the exam can be given credit for CPSC 220 and enroll in CPSC 240 and CPSC 284. These students are strongly encouraged to familiarize themselves with the Java programming language before beginning CPSC 240.
Generally students who enjoy coding more and want to work as a software developer should consider major in computer science. Students who prefer the cybersecurity topics and want to work as a cyber analyst should consider the cybersecurity major. However the coursework for the first one or two years is actually the same between computer science and cybersecurity. So students do not need to pick between the two majors right away. By the time you are at the point where the majors diverge, you will have a good sense which of the two is right for you.
Students should study the catalog carefully and note the prerequisites for CPSC courses. The majors are fairly linear and demands that courses be taken in a particular sequence. For a visual depiction of the prerequisites of the various courses for each major, you can consult the following diagrams:
Because of the high work load they entail, students are strongly advised not to take more than two major CPSC courses during any one semester. Some students find it difficult to take two 300 level or two 400 level courses at the same time, particularly if those courses are using different programming languages.
That said, there are some classes that are less programming-intensive than others, particularly CPSC 302, 326, 345, 414 and 460. While these courses are no less difficult, they do not involve as many coding projects as other classes.
Some elective courses are offered more frequently than others. In particular the ones which are part of the cybersecurity or data science programs tend to be offered more regularly. If a class you'd like to take is being offered, take it if you can. There's no guarantee that it will be offered again before you graduate.
The CPSC department usually offers at least one section of CPSC 110, and CPSC 225 over the schedule. There is also usually one upper level elective course during the summer session. Other classes typically are not offered, so please do not count on taking a particular class here during the summer.
Typically the class CPSC 225 is offered online every semester. Summer classes are also typically offered in an online format. Other than those, however, our classes are typically only offered in an in-person format.
We typically do offer certain classes in the evening time, including CPSC 110 and 220. However, the majority of our classes are offered during the day, and students cannot expect to complete the major by taking only evening courses.
First, you should email the instructor who's teaching the class. The instructor may give you permission to add the class even though it is full. If not, they may place you on a waiting list so that you are in line to take the course if a seat becomes available. Note that if an instructor does give you permission to take a class, you must still add the class to your schedule on Banner. There is no such thing as a "force add" where an instructor can add a class to your schedule.
We have the following advice for succeeding in your computer science coursework:
Internships allow qualified students to earn academic credit by working at technical firms, government offices, or software development agencies. These opportunities provide invaluable real-world experience and buttress the resumes of graduates. While doing the internship, you can register for CPSC 499 to receive credit towards your degree.
Additional information on the University internship course can be found on on the Career Center page. Interested students should contact Dr. Karen Anewalt for more information on Computer Science internships.
Also note that you can do an internship without receiving academic credit for it. The experience you gain doing from an internship is more valuable than receiving credit for CPSC 499.
You can search on any job site such as Indeed or Google. You can also contact Professor Anewalt who is the career advisor, or the UMW Career Center. Lastly we hold career fairs every so often which provide a great chance for you to connect with companies hiring interns. Watch your email for news of these!
Students explore their own interests and participate in faculty research through honors, projects, individual-study courses, and the UMW Summer Science Institute. The University is committed to undergraduate research and offers funding for such projects on a competitive basis. Recent student-project topics include: computing for mobile devices, robotics, game programming, graphical interface design, and client natural language processing. The department also encourages students to submit papers for technical conference presentation, which can jumpstart a promising research-and-development career.
Students engaged in undergraduate research earn credits by registering for individual studies (CPSC courses numbered 391 or 491). Another undergraduate research option is the URES 197 course in which the student works on the faculty member's research project and completes research tasks connected with that project as determined by the faculty member.
If you want to do research but are not sure of a topic, consider which classes you enjoyed the most. Those might be in an area that you would find researching rewarding. Talk to those instructors or your advisor about which areas you find the most interesting. Our faculty members have different areas of expertise, so the area you are interested in will guide who you approach about a project.
Next make an appointment with the faculty member whose area or work you are interested in. Discuss your interests with them and see if you can land on a research area that seems promising.
During the summer, our department participares in UMW's Summer Science Institute. In this program students earn room, board, and a stipend while engaging in 10-week summer research program with a faculty mentor.
There are also travel grants offered from the College of Arts and Sciences Dean's Office.
Students with a 3.0 overall GPA and a 3.25 GPA in the major are eligible for a departmental honors project. To do so, you take two consecutive semesters of independent studies, with the second being designated as CPSC 491H. During this second semester you write an honor's thesis and give an defense of it. This looks great on a résumé, especially if you are interested in graduate school.
Through generous donations, the Computer Science Department is pleased to offer various merit-based and need-based scholarships for enrolled students with sufficient earned credits to declare a major in Computer Science. These include the Ralph A. Niemann, The Society for Worldwide Interbank Financial Telecommunications, The Don and Kathleen Edwards, The John William and Anne Hamilton Hudacheck, and The Computer Science Alumni scholarships.
Students should complete applications for all scholarships, including CPSC Department ones, using UMW's Online Scholarship Manager system during the spring semester to be considered for awards made to be applied to the following academic year.
Details about applying for scholarships are available at https://www.umw.edu/financialaid/types/scholarship-opportunities/.
UMW has two partnership programs which provide our student's accelerated opportunities for pursuing a master's degree:
Many employers also offer to pay for your master's degree while you work. So you do not necessarily need to pursue it directly after finishing your major here.
Contact the Education Department (Seacobeck Hall) for the dates of the informational meetings. You need to attend one of these meetings before scheduling an individual advising session with a representative from the Education Department.
Ask someone! If you have declared your major as computer science or cybersecurity, the best person to ask is your academic advisor. You can login to Banner to see who your advisor is, if you are not sure. If you have not declared, you can ask the chair of the computer science department which is currently Professor Anewalt.