While I do intend to write about post-baccalaureate degrees I am using this weeks post to address the ACM Computer Science Curriculum 2013 and the impact it has had on the University of Mary Washington’s Computer Science degree. Starting in the fall semester of 2015 our department has reverted back to one track in traditional computer science from three tracks in computer science, computer information systems and geographic information systems. Our reason for creating these different tracks was to entice more students to major in computer science and I am happy to say it did work. However, with our University now having minors and the new changes in ACM CS 2013 we believe it is no longer necessary to split our focus in three different directions. Instead, students can accomplish the intent of three concentrations by majoring in Computer Science and minoring in a concentration (math, business or GIS).
Another change our department made was that all required core courses are four credits. Our core classes include Introduction to Programming, Object Oriented Analysis & Design, Data Structures & Algorithms, Database and Applications, Computer Architecture, Operating Systems, Software Engineering, Discrete Structures and Theory of Computation. Discrete Structures/Mathematics is no longer a hidden pre-requisite; it is actually part of the major requirements.
A major change to our program was to remove the lengthy series of mathematics classes needed to complete coursework in our CS degree. We have noticed just as ACM CS 2013 that the antiquated requirements of Calculus I, Calculus 2, Linear Algebra and Differential equations do not directly relate to what we teach in our core classes. We have followed the recommendation of CS2013 to include the mathematical requirements that are directly relevant for the large majority of our CS undergraduates. While we understand the need for mathematical maturity we believe that teaching two 4-credit courses in Introduction to Discrete Math and Theory of Computation in combination with Data Structures and Algorithms provide this maturity. The three courses that address the CS mathematical requirements cover all the Core-Tier1 and Core-Tier 2 mathematics requirements discussed in ACM CS 2013.
We still feel that it is important for students going onto computer science graduate school to invest in the “mathematical maturity” classes and possibly even minoring in one the UMW math minors. We further recommend that students considering a career with the federal government should be aware that the US Department of Operations and Personnel Management standards require a minimum of 15 credit hours of mathematics in order for employees to be classified as a “Computer Scientist.” These students are also encouraged to invest in specific math classes or a math minor. These minors include a standard math minor, an applied math minor or an actuarial science.
Another change that we made based on ACM CS 2013 was topics in parallel and distributed computing were added to our core courses. ACM CS 2013 suggested that five tier-1 hours and ten tier-2 hours are invested in parallel and distributed computing. These topics were already included in our junior/senior level operating systems but not to level suggested in ACM CS 2013. In addition to beefing up the topics covered in Computer Architecture and Operating Systems we are now introducing parallelism to our Object Oriented Analysis and Design course, which is the second course in our sequence. This now exposes all computer science majors and minors earlier in curriculum and majors will build on this in computer architecture and operating systems.