2009-2010 CMPS Program Review
Transcription
2009-2010 CMPS Program Review
WESTERN NEW MEXICO UNIVERSITY PROGRAM REVIEW AND EVALUATION Program: Computer Science Dept/School/College: Department of Mathematics and Computer Science Western New Mexico University Date Forwarded: October 29, 2013 Faculty involved in Program Review: Doug Medin, Professor Gerald Burgess, Associate Professor Dr. Virginia Huegel, Professor DeAnne Miller, Professor Program review document prepared by: Doug Medin, Professor Gerald Burgess, Associate Professor Dr. Virginia Huegel, Professor Date: Submitted to C & I ___________________ Submitted to VPAA ___________________ Discussed with Faculty in Department ______________ Program __________________________ 2009-2010 Program Review Computer Science Page 2 COMPUTER SCIENCE 2009-2010 PROGRAM REVIEW OVERVIEW A. Introduction to the Department and Discipline The Computer Science Discipline is an integral part of the Department of Mathematics and Computer Science. The Computer Science discipline strives to meet the needs of students and business and industry. A typical graduate will either apply for graduate school or apply for employment in the capacity of a computer programmer or database administrator. Members of the discipline strive to keep the program abreast of an industry that is constantly changing. As a result, courses (and sometimes the entire program) are constantly undergoing modification. We currently have a National Science Foundation (NSF) grant pending. This grant is a collaboration among Auburn University, Albany State University, and Western New Mexico University. If we are awarded this grant, our curriculum will expand to include courses in Information Assurance. These courses will be of interest to Computer Science, Management Information Systems, and possibly MAIS students. One workshop was offered during the Summer 2009 semester. This collaboration will be challenging because of the distance between our campuses. It is probably the first to include Hispanic Association of Colleges and Universities (HACU) and Historically Black Colleges and Universities (HBCU) universities. The heavy demand for competent graduates in computer science is a driving force behind the discipline’s commitment to a quality program. B. History Computer science courses were first taught in 1968. WNMU had Unclassified Courses offered under the Office of Research. There was a course of study in computer programming and systems analyses which made it possible to accumulate sufficient hours for a minor equivalent. The offerings changed in number of offerings and areas between 1968 to 1976. In 1977, the Department of Mathematics housed and offered a Computer Science minor. In 1982, the College of Science and Mathematics was organized. Major and minor programs were offered in Biology, Botany, Chemistry, Computer Science, Geology, Mathematics, Math Education, and Zoology. In 1985, the Department of Mathematics and Computer Science was organized. The degrees offered were BA in Mathematics, BA in Computer Science, and BS in Computer Science. From 1993-1999, the Department of Mathematics and Computer Science included the BA/BS in Computer Science and minors in Computer Science and Management Information Systems. In 2000, the minor in Management Information Systems was inactive. In 2002, the minor in Management Information Systems was reactivated under the Department of Business, Economics, and Public Administration as an emphasis area. The next degree addition in Computer Science occurred in 2008 with the approval of the AS in eCommerce and System Administration. C. Recommendations from Previous Review After extensive research, we were unable to locate any recommendations from the previous review. Today, changes in the program are made based on student comments, review of the curriculum by 2009-2010 Program Review Computer Science Page 3 the instructors, comments made by the department, employment demands, and grant applications as identified by faculty. D. Procedures and Participants in the Review The current faculty, Doug Medin, Gerald Burgess, and Virginia Huegel, compiled this report. Paul Landrum provided the statistical data. A report of library resources was provided by Gilda Ortego. A rough draft of the report was submitted to DeAnne Miller on 2/1/2010. CRITERION A: PROGRAM CENTRALITY A. Educational Goals and Objectives of the Program Ultimately, the goal of any program should be to provide students access to the knowledge and skills that will enable them to apply for graduate school in a related area or apply for a job in their discipline. That is, and has been the goal of the Computer Science Program. In fact, most of the graduates from this program have found a job in a related field or have applied and been accepted in a reputable graduate school. Not all students who take our courses have the intention of a major or minor in Computer Science. For example, some disciplines, such as Mathematics, require their majors to take a Computer Science course because of the high likelihood that their majors will encounter Computer Science within their work. Other students may use WNMU as a stepping stone to another institution and take Computer Science courses at WNMU in the hopes of majoring in a related field such as Engineering or Computer Science at another institution. Regardless of the intent of the student, the goal of the program is to deliver relevant, up-to-date course material in a manner that students have the best possibility to succeed. The program is constantly being updated, both at the course level and the program level, in order to give students access to the skills necessary to compete in today’s job market with students from other institutions. In January 2010, after extensive consultation with other members of the Math and Computer Science department, Gerald Burgess proposed major course changes to the WNMU Curriculum and Instruction Committee. These changes were approved February 2010 to be included in the catalog for Fall 2010. B. Relationship of the Program to the Institutional Mission Most students who are enrolled in Computer Science courses come from New Mexico or the surrounding areas. We offer a minor in Computer Science, an Associate of Science in eCommerce and System Administration as well as Bachelor of Arts in Computer Science and a Bachelor of Science in Computer Science. All programs include a strong comprehensive general education requirement. Our classes and professors provide environments that encourage exchange of ideas and provide intellectual settings. Our courses are structured with the intent to provide intellectual and social growth of students as they progress from year to year. We use advanced technology in all of our classrooms. Students in our classes come from diverse backgrounds. We encourage interaction 2009-2010 Program Review Computer Science Page 4 among students through occasional social events and professor-monitored lab hours. In addition, many of our students interact with the community by completing projects for various businesses in our capstone courses. CRITERION B: PROGRAM CURRICULUM AND STRUCTURE A. Admission, Retention, Graduation Requirements Admission to the University must be completed prior to admission to the program. Admission requirements for the program are the same as for the University. The following regulations apply to all students seeking Computer Science degrees. A grade of C or better in English 101 or equivalent is required. A maximum of sixteen credit hours may be obtained using any combination of ACT or CLEP examinations. A maximum of two classes in a Computer Science associate program may be challenged. A maximum of eight credit hours of independent/tutorial course work may be applied toward graduation for the associate degree. A minimum of sixteen credit hours must be taken at WNMU (twelve of the last sixteen credit hours must be at WNMU). A minimum of 2.0 grade point average is required for completion. It is now possible for students earning an AS degree in any field to articulate to a BA/BS degree. Our area specifically fits with the BBA in Management with an MIS emphasis. During the advising session, students are made aware of the flexibility of their educational and employment options. B. Program Structure 1. Degree Options and Objectives The Computer Science program offers an Associate of Science degree and a Bachelor’s degree in Computer Science. Students may also apply the core courses of the AS degree toward a minor requirement for a bachelor’s degree. Since all the courses taken at WNMU, there is no transfer problem. B1 Develop project requirements B2 Develop software requirements Y CMPS 496 CMPS 493 CMPS 470 CMPS 450 CMPS 435 CMPS 415 CMPS 300 CMPS 370 CMPS 362 CMPS 330 CMPS 263 CMPS 240 CMPS 170 The following table outlines our department goals from our assessment report with our curriculum. Y Y Y Y Y Y Y Y Y Y Y CMPS 496 CMPS 493 CMPS 470 CMPS 450 CMPS 415 CMPS 435 Y CMPS 300 CMPS 370 CMPS 362 CMPS 330 CMPS 263 CMPS 240 B3 Develop software CMPS 170 2009-2010 Program Review Computer Science Page 5 Y 2009-2010 Program Review B4 Develop database designs B5 Implement databases B6 Teamwork B7 Communication B8 Ethical Behavior Computer Science Page 6 Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y Y 2. Description of current required and elective courses CMPS 140. Introduction to Computer Science. An overview of the Computer Science field including data/information flow, elementary data structures, problem analysis and algorithm design; conceptual foundation for logical structures, control structures, arrays, design considerations, I/O operations and others. Introduction to structural programming, objectoriented programming, the use of scripting languages, and an introduction to a programming development environment. (3) CMPS 170. Computer Programming Fundamentals. The logical and numerical basis of computer operation, control of information flow, elementary data structures, problem and algorithm design, structural programming, numeric and non-numeric applications using a subset of one or more high-level languages; for majors and minors of computer science. Prerequisite: MATH 111 or permission of the instructor. (3) CMPS 240. Problem Solving. Development of top-down design; further investigation of arrays, records, file processing, recursion, and pointers. Prerequisite: CMPS 170. (3) CMPS 263. Databases. The system analysis concepts applied to the overall design of long term databases. Analysis, design, and processing of real databases. Prerequisite: CMPS 110 or CMPS 111. (3) CMPS 265. e-Commerce Application Development. Application of programming skills in the eCommerce environment including networking and database processing concepts used in eCommerce and eBusiness. Course includes the analysis, design, and implementation of an eCommerce system. Prerequisites: CMPS 111, 170, and 263. (3) CMPS 270. System Administration, Software Integration and Planning. Exploration and skill development of Lights-Out computing and integration of Off the Shelf software products as part of hardware and software configuration management. Prerequisites: CMPS 170 and 263. (3) CMPS 296. Associate Degree Project. Students are required to propose and create an individual project of appropriate focus, size, and complexity, and to write a project document that discusses the project in a narrative form. Upon completion of the project, both the project and 2009-2010 Program Review Computer Science Page 7 project document must be approved by the department. Prerequisites: CMPS 240, 265, and 270. (3) CMPS 320. Architecture and Assembly Language. Fundamentals of digital computer design including gates, flip-flops, Karnaugh maps, state tables, elementary circuit design, register transfer instructions, machine and assembly language, assemblers and computer memories. Prerequisites: CMPS 170 and ENGL 102. (3) CMPS 323. Programming Languages. A study of the essential questions concerning implementation and behavior of high level programming languages; compares many languages, both historically and morphologically. Prerequisites: CMPS 240, ENGL 102, or permission of the instructor. (3) CMPS 330. Platform Independent Programming. Introducing the concept of a virtual machine and its associated programming language. The object-oriented classes supporting the graphical user interface of the virtual machine are examined in the syntactical context of the programming language. Prerequisites: CMPS 240, ENGL 102 or permission of the instructor. (3) CMPS 350. Data Structures. Introduction to the concepts of stacks, linked lists, binary trees, and queues; covers the programming techniques necessary for using these structures. Prerequisites: CMPS 170, 330, and ENGL 102 or permission of the instructor. (3) CMPS 354. Networking and Communications. Communications media, data codes, interfaces, protocols, modems, multiplexers, network hardware, and network management. Prerequisites: CMPS 170 and ENGL 102. (3) CMPS 370. Application Development Techniques. An exploration of a development environment for software applications including user interface design, library utilization and operating system considerations. Prerequisites: CMPS 240 and ENGL 102. (3) CMPS 410. Analysis of Algorithms. The study of fundamental techniques used to design and analyze efficient algorithms; time and space complexity; searching and sorting algorithms; complexity and NP-complete problems. Prerequisites: CMPS 240, ENGL 102, and MATH 171. (3) CMPS 415. Advanced Concepts of Databases. Analysis, design, processing, and administration of real databases. Prerequisites: CMPS 263 and ENGL 102. (3) CMPS 420. Operating Systems. Multiprogramming and multiprocessing, memory management, systems accounting, interprocess communications, interfaces, and feedback. Real world contact with modern operating systems. Prerequisite: CMPS 240 or 350, and ENGL 102. (3) CMPS 430. Computer Graphics. An investigation of the methods of computer graphics including hardware, coordinate systems, two-dimensional transformations, graphics data structures, windows and viewports, three-dimensional projections, perspective, and hidden line removal. Prerequisites: CMPS 240 and ENGL 102. (3) 2009-2010 Program Review Computer Science Page 8 CMPS 450. Advanced Object-Oriented Programming. An introduction to current techniques and methods of object oriented programming, including class libraries, inheritance, data hiding, object creation, polymorphism, and exceptions. Prerequisites: CMPS 330 and ENGL 102. (3) CMPS 496. Senior Project and Seminar. A culmination of the computer science major with a full semester project bringing together the various concepts of computer science. The student(s) will meet with the faculty in a seminar format to choose a project, make progress reports and make a final presentation detailing the project with documentation and performance results. Prerequisite: ENGL 102. (3) NEW REQUIRED COURSES AND/OR REVISIONS TO EXISTING COURSES (APPROVED BY CURRICULUM AND INSTRUCTION COMMITTEE FEBRUARY 2010) CMPS 170 Computer Programming I. Students learn how to develop small scale applications from detail requirements in an object-oriented language. The course is taught using a Use, Then Write pedagogy. Topics include, in order: (a) object manipulation, (b) class development through inheritance and method writing, (c) method development through stepwise refinement of requirements, (d) flow control of while and if statements, (e) use of parameters to provide method flexibility, (f) use of temporary variable and more complete flow control, (g) instance variables and constants, and (h) creating classes through interface implementation. Throughout the course emphasis is given to code tracing, stepwise refinement, coding patterns, using documentation, writing documentation, and the unified modeling language (UML). Prerequisites: MATH 111 or equivalent compass score. CMPS 240 Computer Programming II. Students continue to learn how to develop small scale applications from detail requirements in an object-oriented language. The course is taught using a Use, Then Write pedagogy. Topics include, in order: (a) class collaboration, (b) exceptions, (c) using already defined data structures, (d) file input and output, (e) arrays, (f) software development process using software quality metrics, (g) polymorphism, and (h) graphical user interfaces. Throughout the course emphasis is given to code tracing, stepwise refinement, coding patterns, using documentation, writing documentation, and the unified modeling language (UML). Prerequisites: CMPS 170, ENGL 101 or equivalent compass score. CMPS 263 Database Design & Implementation I. Students learn to design and implement small scale relational databases from project requirements. Topics include: (a) purpose and function of databases, (b), database management systems, (c) a relational database design methodology, (d) data normalization, (e) recursive and super/sub type relations, and (f) the use of data definition and manipulation SQL statements. This course develops communication skills between individuals and database professionals through the use and development of standard database design documents such as entity relationship diagrams (ERDs). This course is suitable for all students; no Computer Science background is required. Department Prerequisites: ENGL 101 or equivalent compass score, CMPS 111. CMPS 300 Software Quality Assurance, Deployment, and Maintenance. Students learn to systematically evaluate software systems. Topics include software: (a) verification, (b) reviews, (c) metrics, (d) quality assurance, (e) reliability, and (f) availability. University Prerequisites: ENGL 102. Department Prerequisites: CMPS 240 2009-2010 Program Review Computer Science Page 9 CMPS 330 Web Application Programming. Students learn to design and develop moderately sized web applications from project requirements and analysis documents. Topics include: (a) basic network protocols and message flow, (b) hypertext markup language (XHTML), cascading style sheets (CSS), client-side scripting using JavaScript, server-side application development with database access. Throughout the course emphasis is given to adherence to project requirements, software development methodologies, team dynamics, and the unified modeling language (UML). Prerequisites: ENGL 102. Department Prerequisites: CMPS 263 and CMPS 240. CMPS 362 System Analysis. Students learn to gather project requirements, analyze the problem space, develop a conceptual model of a software solution, and develop project management deliverables, such as Gantt and Pert charts. Throughout the course emphasis is given to adherence to project management guidelines, project deliverables, team dynamics, and the unified modeling language (UML). University Prerequisites: ENGL 102. Department Prerequisites: CMPS 260 or CMPS 263. CMPS 370 Application Development Techniques with Data Structures. Students learn to develop moderately sized applications from software design documents and/or modify existing open source software according to project requirements. Projects are selected that require significant data structure manipulation. Throughout the course emphasis is given to adherence to project requirements, software development methodologies, and the unified modeling language (UML). University Prerequisites: ENGL 102. Department Prerequisites: CMPS 240. CMPS 415 Database Design & Implementation II. Students learn to design and implement moderate scale relational databases from project requirements. Students design and implement a moderate scale relational database of at least ten tables. University Prerequisites: ENGL 102. Department Prerequisites: CMPS 263. CMPS 435 e-Commerce. Students learn to merge commercial aspects with web application development techniques to develop a complete e-Commerce application from project requirements. Projects are selected to provide significant database access, problem complexity, and business processes. Throughout the course emphasis is given to adherence to project requirements, software development methodologies, and the unified modeling language (UML). University Prerequisites: ENGL 102. Department Prerequisites: CMPS 263, CMPS 330, CMPS 362. CMPS 450 Software Engineering. Students learn to use systematic methods for designing, coding, testing, and documenting medium-sized programs. Major topics include formal specification, abstraction, modularity and reusability. University Prerequisites: ENGL 102. Department Prerequisites: CMPS 240. CMPS 470 Topics in Computer Science. Selected topic from Computer Science will vary from offering to offering. Prerequisites: ENGL 102. Department Prerequisites: CMPS 240, CMPS 263. CMPS 493 Project Proposal (1 credit hour). Students will complete the proposal of the software development project for their senior project including all requirements gathering, analysis, and project management deliverables. University Prerequisites: ENGL 102. Department Prerequisites: Permission of Instructor. 2009-2010 Program Review Computer Science Page 10 2009-2010 Program Review Computer Science Page 11 Summary of Course Requirements The following images are taken from the degree plan link. 2009-2010 Program Review Computer Science Page 12 BACHELOR OF ARTS or BACHELOR OF SCIENCE IN COMPUTER SCIENCE 2009-2010 Program Review Computer Science Page 13 2009-2010 Program Review Computer Science Page 14 3. Typical Program of Study COMPUTER SCIENCE ASSOCIATE DEGREE Sequence of Computer Science Courses CMPS Courses First Year Second Year Fall 111, 140 240, 265 Spring 170, 260, 263 270, 296 COMPUTER SCIENCE BA/BS DEGREE Sequence of Computer Science Courses CMPS Course First Year Second Year Third Year Fourth Year Starting in Odd Year (e.g. 201110) Fall Spring 170 240, 263 370, 450 300, 470 330, 362 415, 435, 493 496 496 Starting in Even Year (e.g. 201210) Fall Spring 170 240, 263 330, 362 415, 435 370, 450 300, 470, 493 496 496 4. History of Courses Taught as Program Requirements Computer Science courses have been a part of the University since 1968. Due to a very rapidly changing industry, there have been major revisions throughout the years. The initial languages included COBOL, Fortran and BASIC. Each could be classified as command-line procedural languages. As industry changed through the years, languages taught became more visual with an eventual transition to object-oriented languages such as Java and Visual Basic.NET. The department transitioned to Java beginning Fall 2009. Additionally, because programs written 30 years ago in industry were considerably smaller and much less complex than the programs written now, our courses must be constantly updated in order to give students the skills to compete in today’s programming environment. C. Articulation The state of New Mexico mandated the development of articulation agreements among the New Mexico institutions of higher education. Under this authority, the New Mexico Computer Science Task Force is developing a Computer Science articulation agreement and matrix for the participating New Mexico institutions of higher education. Gerald Burgess is the chair of the task force. Virginia Huegel is the off-campus liason between our department and any satellite campus or that teach CMPS 111 Computer Literacy or CMPS 260 Computer Applications. We are currently completing a Qwest grant to support offering computer literacy at Cobre High School. Two sections of CMPS 111 Computer Literacy were offered Fall 2009 and two sections are being offered Spring 2010 semesters. 2009-2010 Program Review Computer Science Page 15 2009-2010 Program Review Computer Science Page 16 D. Planning Processes The use of internal reviews, student evaluations, and comparisons to similar programs offered in New Mexico form the basis for our planning process. We meet regularly to discuss curriculum and business needs. As a result of the planning process, a proposal for revision of the program major and minor was presented and approved by the Curriculum and Instruction committee. E. Assessment Assessment has been both formal and informal. Reports were prepared and submitted annually to the Assessment Committee. This formal process is a self-study that was evaluated by the members of the Assessment Committee. Because this was an external review, the feedback will be useful. The beginning of major revisions to CMPS 111 Computer Literacy and CMPS 260 Computer Applications began in 2007. There was a standardization of the content and competencies. Flexibility was maintained for each individual instructor to select the course delivery and course assignments. After the implementation of these changes, the feedback from the students and faculty reinforced our changes. We, the Computer Science faculty, review the content of our courses at the end of each semester. Part of the feedback is from the student comments received during the student evaluation process. Changes made as a result of both the formal and informal processes have included course content, course time offerings, and course textbooks. The final result is an improved learning environment for the students. CRITERION C: PROGRAM RESOURCES A. Finances (Budget) The budget for the Department of Computer Science currently serves two (2) programs. The University pays the Computer Science faculty salaries and miscellaneous supplies. Because we are a technology-based program, it is mandatory we keep current with the changes occurring in our field. In order to do this, we attend national and regional meetings to network with peers, business representatives, and textbook publishers. B. Facilities and Capital Equipment Present equipment, labs, and classroom space are currently adequate to provide necessary instruction. Equipment and software are current and help provide students with a state-of-the-art education. In 2007, new computers were purchased by the University. The installation and maintenance of the computers is supplied by IT staff. Computer Science faculty recommend when a change is necessary to a different operating system and/or application software. This enables the University and department to keep current with the rapidly changing technology. 2009-2010 Program Review Computer Science Page 17 C. Library MILLER LIBRARY ASSESSMENT FOR COMPUTER SCIENCE PROGRAM REVIEW SPRING 2010 The Miller Library has consistently maintained a collection and provided services to support the Computer Science program. As shown in Table One, the Miller Library collection includes 173 titles in a wide variety of programming languages. Table Two provides a quantitative description of holdings that support specific courses in the Computer Science program. Because of the rapid developments in computer science, books and media resources become obsolete within a few short years. Consequently, the Miller Library strives to keep its computer science collection current by continuously weeding (i.e., removing) titles that are out-of-date. The result of continuous weeding is that , despite the smaller number of titles, the collection quality is enhanced. A unique feature of the computer science collection is that the Library of Congress uses a limited call number range for classification purposes. The classification range (QA 75.5 to QA 76.9) does not accommodate subjects that are relevant to the field. Therefore, some works are classified under other call number ranges. The most important of these to computer science are listed in Table Three. As the Miller Library is a partial depository for Federal Government Documents and enjoys full status as a depository for New Mexico State Government Documents. Because of its depository status, the Miller Library regularly receives print or electronic versions of important items such as government-sponsored studies, transcripts of congressional hearings, and findings of reports presented to governmental agencies or Congressional committees. Works on network security and computer crime are often published as Government Documents. Like other books in the circulating collection, Government Documents may be checked out. List One is a description of the database subscriptions that support the Computer Science program. Most of these databases include online articles. On occasion, patrons may not be able to find articles in either the print collection or in a database. The Interlibrary Loan Department is responsible for requesting books, articles, and other library items not held at the Miller Library. Typically, students and faculty are not assessed charges to request items from other libraries. The Miller Library is a member of several consortia that are committed to resource-sharing. These consortia include AMIGOS Library Services, Inc., (membership includes libraries in New Mexico, Arizona, Texas, Oklahoma, Arkansas, and Louisiana), the New Mexico Consortium of Academic Libraries, and the National Network of Libraries in Medicine. 2009-2010 Program Review Computer Science Page 18 TABLE ONE: MILLER LIBRARY HOLDINGS by Specific Programming languages Subject Heading Ada (Computer program language) C (Computer program language Assembler language (Computer program language) Pascal (Computer program language) Java (Computer program language) Microsoft Visual C# .NET Microsoft .NET Microsoft Visual studio XML (Document markup language) PHP (Computer program language) Number of Items Published prior to 2000 4 Number of Items Published Since 2000 Number of E-Books TOTAL 0 Number of Items in Media Formats (DVD’s etc.) 0 0 17 4 0 0 21 11 1 0 0 12 16 0 0 0 16 10 35 0 0 45 0 3 0 0 3 0 9 0 0 9 0 1 0 0 1 1 9 0 0 10 0 8 0 0 8 4 2009-2010 Program Review Python (Computer program language) FORTRAN (Computer program language) Perl (Computer program language) Computer Science Page 19 0 1 0 0 1 40 0 0 0 40 0 3 0 0 3 TOTAL 173 TABLE TWO: MILLER LIBRARY HOLDINGS ARRANGED ALPHABETICALLY BY LIBRARY OF CONGRESS SUBJECT HEADINGS Subject Heading Number of Items Published prior to 2000 Number of Items Published Since 2000 Number of EBooks CMPS 410. Analysis of Algorithms. Algorithms 22 4 3 0 26 CMPS 403. Desktop Publishing. Business Computer programs 15 10 0 0 25 CMPS 440. Information Warfare. Ciphers 7 1 1 0 8 CMPS 354. Networking and Communications. Computer network protocols 3 6 4 0 9 Course Number And Title Number TOTAL of Items in Media Formats (DVD’s etc.) 2009-2010 Program Review Computer Science Page 20 CMPS 440. Information Warfare. Cryptography Mathematics. 0 3 2 0 3 CMPS 350. Data Structures Data structures (Computer science) 19 5 0 0 24 CMPS 263 Databases, CMPS 415 Advanced Concepts of Databases Database management 30 18 0 0 48 CMPS 263 Databases, CMPS 415 Advanced Concepts of Databases Database management Computer programs 2 2 0 0 4 CMPS 435. ECommerce. Electronic commerce 4 16 5 0 20 CMPS 435. ECommerce. Electronic commerce Management 1 6 2 0 6 CMPS 354. Networking and Communications. Ethernet (Local area network system) 1 2 2 0 3 CMPS 270. System Administration, Software Integration and Planning, CMPS 296. Associate Degree Project, CMPS 405 MIS for Manager Management information systems 30 8 4 0 38 2009-2010 Program Review Computer Science Page 21 CMPS 354. Networking and Communications. Network analysis (Planning) 4 0 0 0 4 CMPS 333. Data Analysis. Numerical analysis Data processing. 17 1 0 0 18 CMPS 263 Databases, CMPS 415 Advanced Concepts of Databases Object-oriented databases 3 1 0 0 4 CMPS 450. Advanced ObjectOriented Programming. Object-oriented programming (Computer science) 10 11 0 0 21 CMPS 420 Operating Systems Operating systems (Computers) 15 12 0 0 27 CMPS 263 Databases, CMPS 415 Advanced Concepts of Databases Relational databases 6 3 0 0 9 CMPS 270. System Administration, Software Integration and Planning. CMPS 296. Associate Degree Project. System design 4 6 3 0 10 2009-2010 Program Review Computer Science Page 22 CMPS 354. Networking and Communications. TCP/IP (Computer network protocol) 4 5 2 0 9 CMPS 354. Networking and Communications. Wireless LANs 0 4 3 0 4 TABLE THREE: MILLER LIBRARY HOLDINGS IN COMPUTER SCIENCE LISTED IN ORDER OF LIBRARY OF CONGRESS CLASSIFICATION SYSTEM Library of Congress Call Number Range Subject Heading Number of Items Published prior to 2000 Number of Items Published Since 2000 Number of E-Books Number of Items in Media Formats (DVD’s etc.) Total HD 9696.2HD 9696.82 Q325.5 Q 360 QA 74 QA267.7 Computer Industry 4 4 0 0 8 0 10 1 0 0 0 0 0 2 1 0 1 0 0 0 0 2 11 1 1 Varied Machine learning Information Theory Computational labs Computational complexity Computer literacy 4 2 0 0 6 T 897.7 Computer animation 3 8 6 0 17 Mostly in Z 52.5. Word Processing 13 5 3 0 21 TOTAL 67 LIST ONE: DATEBASE SUBSCRIPTIONS The Miller Library subscribes to several databases that facilitates research in the computer science journal literature. These include the following: Computer Database produced by Gale Cengage Learning: Covers computer-related product introductions, news and reviews in areas such as hardware, software, electronics, engineering, communications and the application of technology; Permits library users to 2009-2010 Program Review Computer Science Page 23 access the most well-read and influential periodicals on the computer, telecommunications and electronics industries. Computers and Applied Sciences Complete produced by EBSCO: covers the research and development spectrum of the computing and applied sciences disciplines. Includes the online version of Computers Desktop Encyclopedia JSTOR: Includes computer science topics published in 22 scholarly mathematical journals InfoTrac Information Science and Library Issues: Includes articles from both peer-reviewed journals and popular magazines D. Other Academic Support Resources and Services Computer Science students have access to the University’s Academic Support Center. The center provides a variety of services leading to the academic success of WNMU students including workshops, academic advising, personal counseling, academic and peer mentoring, and other related services. Students also have access to the Career Services/Cooperative Education Office. This office provides personal assistance to students and alumni seeking employment before and after graduation. Services for students with special needs are provided through the Special Needs Office. Types of assistance provided are note takers, interpreters, readers, guides, recording of lectures, transcribing, and academic tutoring. We encourage students to access all resources available to them to help improve their learning experience at WNMU. Students are also advised about the Writing Center hours. This resource helps students with all their writing assignments. CRITERION D: PROGRAM PRODUCTIVITY AND EFFICIENCY A. Major Headcount Enrollment Program Type Computer Science Major 40 33 32 28 32 Computer Science Minor 8 2 3 5 6 Computer Science Concentration 1 0 0 0 0 49 35 35 33 38 Total 2004/05 2005/06 2006/07 2007/08 2008/09 Note the trend of increasing majors in 2009. As further proof of this, compared to 2008, our entrylevel programming classes in Fall 2009 and Spring 2010 have more students than they had a year ago. As a comparison, we were unable to offer a CMPS 170 Computer Programming Fundamentals (CMPS 170 Computer Programming I for 2010-11 catalog) class in Spring 2009. Currently, the Spring 2010 we were able to offer this same class. 2009-2010 Program Review Computer Science Page 24 B. Degrees Conferred Degrees Awarded Program Degree 2004 2005 2006 2007 2008 2009 Computer Science BA 0 0 0 0 0 1 Computer Science BS 1 4 3 1 0 3 1 4 3 1 0 4 Total The above chart lists the number of degrees conferred for the academic years from 2004 - 2009. There are several reasons students did not complete the program. Some students transferred to other institutions. Others changed from a Computer Science major to a minor. Sometimes, the rigor of the program caused students to change majors. Still, others changed because they realized that they did not want to be Computer Scientists. In an effort to increase retention, we have set aside times in our schedules when professors are present in the lab to assist students. In addition, we are constantly updating our teaching styles and courses in an effort to retain students. C. Credit Hour Production Year 2004 2005 2006 2007 2008 2009 Student Credit Hours 420 414 360 351 396 366 The above chart reveals the credit hour production for the Computer Science program. Student credit hours remained fairly consistent for the past four (4) years. However, we anticipate an increase for 2010. D. Number of Faculty Based on CHE Productivity Rates There are currently two (2) faculty members assigned to teach the eight (8) required core courses and four (4) elective courses. There is also one faculty member, whose primary responsibility is to coordinate the general education nature of Computer Literacy and Computer Application courses. This includes any off-campus offerings. Each member teaches four to five (4-5) courses in the Fall and Spring semesters. One faculty member is also responsible for supervising any senior projects, with the assistance of the other two faculty members. In 2009 and 2007, the program had 32 majors for a ratio of 10.7:1. In 2008, the program had 28 majors for a ratio of 9.33:1. In 2006, the program had 33 majors for a ratio of 11:1. In 2005, the program had 40 majors for a ratio of 13.33:1. Students take from 12 to 16 credit hours per semester. The conclusion from these ratios is that the average student to instructor ratio was 11:1. This ratio contributes to the quality of the learning environment. 2009-2010 Program Review Computer Science Page 25 The instructors promote the program through department brochures, revisions to the department website, and assistance to the Admissions staff. E. Average Class Size The class limit for all Computer Science classes is a maximum of twenty (20) because of equipment limitations. Our classrooms will only accommodate twenty (20) students. We also feel the need to keep the classes small in order for students to have access to the instructor and so the instructor can give individual attention to any student who needs it. Research shows that the smaller class size is conducive to the learning process. Our student population also demands that the class size be small. The majority of our students are non-traditional students. Some of these students have not been in a classroom for many, many years. They need to feel comfortable in the classroom environment to help retention purposes. F. Number of Courses Offered and the Time of Offering A student declaring a Computer Science major may have to take CMPS 140 Introduction to Computer Science if they have no background in Computer Science and if their current math background does not include at least Intermediate Algebra. After this course is completed, or if it is waived, a student may enter CMPS 170 Computer Programming Fundamentals, which is the first half of what is described by Association of Computing Machinery (ACM) of a CS I course. The second half of CS I is CMPS 240 Problem Solving. After completion of these courses, it is possible for a student to complete the rest of his/her CS requirements. Typically, we offered one upper-division core class and one upper-division elective per semester. Upper division classes are offered on a twoyear rotation. For extenuating circumstances, we have created independent study courses or course substitutions for those students that fall outside of this course sequence where it jeopardizes their ability to graduate in a timely manner. CRITERION E: PROGRAM QUALITY A. Other Program Evaluations The Computer Science faculty members have completed annual assessment reports. Either the assessment coordinator or the members of the assessment committee evaluated this report. The report format was a self-study of the curriculum and required outcomes of the program. This is a valuable tool used to reflect upon all aspects of a program. It also provides an external view of the quality of a program. The results provided the faculty with data to reflect on for possible changes for the future. The interesting factor of this formal process was it matched what the faculty members had already determined needed to be changed. With both groups concurring with the changes, we were able to restructure our curriculum. B. Quality of Faculty There were four (4) full-time faculty members until January 2010. Two full-time members had Master degrees with years of teaching and industry experience. The other full-time faculty members had a Ph.D. in a related field with years of teaching and industry experience. 2009-2010 Program Review Computer Science Page 26 C. Research Activity within the Program Since WNMU is a teaching university, research is not a required activity for the faculty teaching the Computer Science program. The faculty members conduct informal research to improve the quality of the curriculum and to stay competitive with other programs offered in New Mexico and surrounding states. D. Community Service Activity within the Program Community service is not required for the Associate of Science, Bachelor of Science, or Bachelor of Arts degrees in Computer Science. However, the students are encouraged to become involved in their community in whatever way they can. This concept is taught in many classes and the faculty strive by example to show their students the importance of community service. The capstone course for all three (3) degrees has assisted businesses and non-profit organizations with related projects. A recent AS eCommerce graduate used the updating the Math/CMPS website for her Senior Project. E. External Review Process See section A: Other Program Evaluation. CRITERION F: PROGRAM DEMAND/NEED A. Student Demand for the Program The number of declared majors cited in Criterion D, Section A, documents the student demand for this program. Past and current students of Computer Science testify to the program’s validity and quality. Graduates from Computer Science typically do not have problems becoming employed in companies that need computer programmers or database administrators. A review of the DOL Occupational Employment Projections report reveals that there will a 17% increase in Math and Computer Science related jobs between the years of 2008 and 2018. This translates to a projected 15,170 workers in this area in 2018 compared to 12,890 workers in the same area in 2008 representing an increase of 2,280 workers. This also puts the percentage increase in the Top Ten of all professions in the state. As quoted from the website, http://www.bls.gov/oco/oco1002 the job outlook for “employment growth” for computer scientists “is expected to be much faster than the average, and job prospects should be excellent.” The Bureau of Labor Statistics (BLS) predicts a 24% growth in jobs from 2008 to 2018. For computer software engineers and computer programs, “Overall, employment of computer software engineers and computer programmers is projected to increase much faster than the average for all occupations. Job prospects should be best for those with a bachelor's degree and relevant experience.” The BLS predicts a 21% growth in jobs from 2008 to 2018. For database 2009-2010 Program Review Computer Science Page 27 administrators “Employment is expected to grow much faster than the average, and job prospects should be excellent.” The BLS projects a 30% growth in jobs from 2008 to 2018 translating to an increase of 295,000 jobs. B. Employment Needs and Job Opportunities As stated in http://www.bls.gov/oco/ocos303 “Computer software engineers design and develop software. They apply the theories and principles of computer science and mathematical analysis to create, test, and evaluate the software applications and systems that make computers work. The tasks performed by these workers evolve quickly, reflecting changes in technology and new areas of specialization, as well as the changing practices of employers.” “Software engineers design and develop many types of software, including computer games, business applications, operating systems, network control systems, and middleware. They must be experts in the theory of computing systems, the structure of software, and the nature and limitations of hardware to ensure that the underlying systems will work properly.” “Computer software engineers begin by analyzing users' needs, and then design, test, and develop software to meet those needs. During this process they create flowcharts, diagrams, and other documentation, and may also create the detailed sets of instructions, called algorithms, that actually tell the computer what to do. They also may be responsible for converting these instructions into a computer language, a process called programming or coding, but this usually is the responsibility of computer programmers. Computer programmers also update, repair, modify, and expand existing programs. Some, especially those working on large projects that involve many programmers, use computer-assisted software engineering (CASE) tools to automate much of the coding process. These tools enable a programmer to concentrate on writing the unique parts of a program. Programmers working on smaller projects often use ‘programmer environments,’ applications that increase productivity by combining compiling, code walk-through, code generation, test data generation, and debugging functions. Programmers also use libraries of basic code that can be modified or customized for a specific application. This approach yields more reliable and consistent programs and increases programmers' productivity by eliminating some routine steps.” “As software design has continued to advance, and some programming functions have become automated, programmers have begun to assume some of the responsibilities that were once performed only by software engineers. As a result, some computer programmers now assist software engineers in identifying user needs and designing certain parts of computer programs, as well as other functions.” C. Societal Needs for the Program As stated in the website http://www.bls.gov/oco/ocos304.htm#outlook, “the widespread and increasing use of computers and information technology has generated a need for highly trained, innovative workers with extensive theoretical expertise. These workers, called computer scientists, are the designers, creators, and inventors of new technology. By creating new technology, or finding alternative uses for existing resources, they solve complex business, scientific, and general computing problems.” 2009-2010 Program Review Computer Science Page 28 D. Support of Other Programs Outside the Department Several disciplines require their students to take CMPS 140 Introduction to Computer Science. Several upper division classes are taken by MIS students. CMPS 111 Computer Literacy is a University-required course for all students pursuing a BA/BS degree. E. Support of Programs within the Department The major in Mathematics requires CMPS 170 Computer Programming Fundamentals. F. General Education The Computer Science program requires 41 hours of general education courses. CMPS 111 Computer Literacy retains the General Education content format even though it is no longer a General Education required course. This course was changed to a University-required course. CRITERION G: PROGRAM DUPLICATION Several institutions in New Mexico offer a Computer Science degree including New Mexico State, New Mexico Tech, Eastern New Mexico, and University of New Mexico. At New Mexico State University (NMSU), the Computer Science degree is housed under the College of Arts and Sciences. They offer a BA/BS in Computer Science. At New Mexico Tech (NMT), the Computer Science degree is housed under the Department of Computer Science and Engineering. They offer a BS in Computer Science and a BS in Information Technology. In 2002, New Mexico Tech received designation as a Center of Academic Excellence in Information Assurance Education from National Security Agency. We have submitted an NSA grant to start the offerings in Information Assurance. At Eastern New Mexico University (ENMU), the Computer Science degree is housed under the College of Liberal Arts and Sciences in the Mathematical Sciences area. They offer a BS in Computer Science. At University of New Mexico (UNM), the Computer Science degree is housed under the School of Engineering. They offer a BS in Computer Science. 2009-2010 Program Review Computer Science Page 29 ENMU-CS NMSU-CS NMT-CS NMT-IT UNM-CS WNMU-CS Database Design and Implementatio n II Systems Analysis and Design Web Application Programming Software Quality Assurance Data Base Design & Implementatio nI Bachelor Degrees of Science and Art A review of their websites (i.e. http://www.nmsu.edu, , http://www.nmt.edu, http://www.enmu.edu, and http://www.unm.edu) is summarized by the following feature analysis table. x x x x x x x x SUMMARY AND RECOMMENDATIONS A. Strengths We believe our strengths include the following: 1. Experienced and educated faculty 2. Faculty work as a team 3. Flexible curriculum for graduate school or direct employment 4. Student strengths/weaknesses evaluated annually 5. Increase of online course offerings 6. Emphasis on general education 7. Quality classrooms and equipment 8. Quality on-going student advisement 9. Emphasis on student retention and recruitment 10. Emphasis on concurrent/dual-credit for high school students 11. Development of CMPS brochure B. Concerns Our concerns include the following: 1. Increased caps for classes 2. Lack of marketing from the University 3. Retention of dual-credit students in any program at WNMU 4. Migration of dual-credit students to full-time WNMU student 5. Lack of tutoring support 6. Inability to identify CMPS majors/minors from Banner C. Recommendations for Action We have the following recommendations for action: x X 2009-2010 Program Review 1. 2. 3. 4. 5. Computer Science Page 30 Need for University supported marketing/recruiting Need for four (4) full-time faculty Complete two (2) courses proposals for Information Assurance course content Continue collaboration between School of Business and CMPS for MIS emphasis area Continue collaboration with Admissions staff for recruiting D. Five-Year Goals for the Program Our five-year goals for the program include: 1. Update brochure annually for recruitment tool 2. Update website annually for recruitment tool 3. Keep abreast of changes in technology to incorporate possible changes into the curriculum 4. Collaborate with other departments and off-campus sites to increase enrollment in CMPS courses 5. Collaborate with other departments and off-campus sites to increase declared majors 6. Continue work with New Mexico Computer Science Articulation Task Force 7. Continue to participate with on-campus career fairs Conclusion: Computer science offerings at Western New Mexico University have evolved from a few offerings under the Office of Research to an integral part of the Department of Mathematics and Computer Science. We offer a service course to the entire campus. Computer Literacy is a university-required course for students pursuing a BA/BS degree. This service course provides students with the skills they will need to prepare documents in the other disciplines. We will continue to collaborate with other departments to assure the content of this course continues to provide what our colleagues need their students to know. We also offer curriculum for students to complete the AS eCommerce and System Administration or the BA/BS in Computer Science. Because of the nature of technology, we continually review the curriculum contents to match the employment requirements. Graduating students need to be on the cutting edge to remain competitive in today’s job market. The students acquire a general education foundation by completing courses geared toward the University general education requirement such as communication (including writing and speaking), literacy of all types (reading numbers, consumerism, technology), critical thinking, multicultural perspectives, and social responsibilities. The Computer Science faculty utilize available research from professional journals and associations to update the curriculum and revise teaching techniques. Applied research is utilized by ascertaining current occupational skills needed in the local community and the region to determine the curriculum design. Applied research is also utilized to determine equipment needs and applicable computer software applications to complement the program goals and objectives. Students are involved in a capstone course that places them in the business community to gain work experience but to also become involved in the local community. Faculty are members of local professional and service organizations that contribute to the community. Faculty have been involved in contributing to career fairs and being involved in and contributing to the multicultural and diversity communities in the local area. 2009-2010 Program Review Computer Science Page 31 This self-study reveals the vastness and variety of opportunities available to students. Business depends on qualified and competent computer professionals for their day-to-day operations. The Computer Science programs provide the instruction required for future employment in the field. Therefore, we respectfully request this program be continued.