Computer Science FAQ

  1. Which Computer Science class should I start with?

    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.

  2. Should I major in Computer Science or Cybersecurity?

    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.

  3. In what order Should I take classes?

    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:

    1. Computer Science Major
    2. Cybersecurity Major
  4. How many classes should I take in one semester?

    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.

  5. When are elective classes offered?

    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.

  6. What classes are offered in the summer term?

    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.

  7. What classes are offered online?

    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.

  8. Are evening classes offered?

    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.

  9. What do I do if I want to take a class which is full?

    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.

  10. What should I do to do well in my classes?

    We have the following advice for succeeding in your computer science coursework:

    1. Attend every class unless you are too sick to attend, and take copious notes.
    2. Start all assignments as early as you can.
    3. Go to office hours and ask your instructors for help when you are stuck.
    4. Consider taking advantage of the tutoring offered through academic services.

  11. How do internships work?

    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.

  12. How should I go about finding an internship?

    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!

  13. What is undergraduate research?

    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.

  14. What should I research?

    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.

  15. What financial support for undergraduate research projects is available?

    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.

  16. What is departmental honors?

    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.

  17. Are there scholarships available from the department?

    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/.

  18. How can I continue on to a Master's program?

    UMW has two partnership programs which provide our student's accelerated opportunities for pursuing a master's degree:

    1. Our program with Virginia Tech allows our students to count two of their upper-level computer science major courses at UMW towards a master's degree at Virginia Tech. The student can thus take courses that count for both their undergraduate degree here at UMW and also their master's. You can read more about this program here.
    2. We also have a program with George Mason University. This program allows students to be dual-enrolled as both undergraduate students at UMW and graduate students at George Mason for their senior year. Doing so allows students to take graduate coursework at George Mason which will also count as computer science electives towards their undergraduate major. You can read more about this program here.

    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.

  19. Where should I go if I am interested in teacher certification?

    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.

  20. What if I still have questions?

    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.