Program Learning Outcomes: Programs, Curriculum Alignment, and Assessment Plans

 

I. Description of Degree Programs Offered by the Computer Science Department

Computer science is the study of the theoretical and practical aspects of computer technology and computer usage. The Computer Science Department offers two undergraduate degrees: B.A. in computer science and B.S. in computer science. It also offers the following graduate degrees: M.S. in computer science and Ph.D. in computer science. Besides offering instructional courses, the department engages in a substantial research program in which both advanced undergraduates and graduate students participate.

The bachelor of arts (B.A.) degree in computer science at UCSC is designed to give students a solid grounding in both theoretical and practical topics in computer science, computer engineering, and mathematics while leaving flexibility for a broad program of study, including many courses outside of science and engineering, or even for a double major in another discipline.

The bachelor of science (B.S.) degree in computer science is appropriate for students desiring a somewhat stronger concentration in the sciences, with more courses in computer science and computer engineering, as well as courses in physics or chemistry; this degree also allows for electives outside of science and engineering.

Students in our graduate program develop skills in specialized areas of research which include: analysis of algorithms, artificial intelligence, pattern recognition and retrieval, machine learning, neural networks, computer games, computer graphics, computer animation, scientific visualization, computer and sensor vision, image processing, image synthesis, multimodal human-computer interaction, programming languages and environments, software engineering, Web and Internet engineering, real-time embedded systems, computer security, databases, parallel and distributed computation, operating systems, and storage systems.

The Master of Science (M.S.) degree in Computer Science at UCSC builds a
student's core knowledge through graduate courses in algorithms,
programming languages, and architecture. M.S. students can choose between
two types of M.S. degrees -- project track and thesis track. Their progress
are measured through the completion of coursework requirements and the
passing of the report (and presentation) for their Masters project/thesis.

The doctor of philosophy (Ph.D.) degree in Computer Science at UCSC builds a student's core knowledge through graduate courses in algorithms, programming languages, and architecture. PhD students then proceed to study and research on their selected area of specialization. Their progress through their PhD studies are measured through preliminary exams and/or qualifying exams, and the dissertation defense.

II. Bachelor of Science and Bachelor of Arts in Computer Science

 A. Program Learning Outcomes

Recipients of a BS or BA in Computer Science degree at UCSC are expected to have the following skills and experiences:

  1. Demonstrate mastery of Computer Science in the following core knowledge areas
    • Algorithms, Data Structures, and Complexity
    • Programming Languages and Compilers
    • Software Engineering and Development
    • Computer Hardware and Architecture
  2. Apply system-level perspective by thinking at multiple levels of detail and abstraction and by recognizing the context in which a computer system may function, including its interactions with people and the physical world.
  3. Apply problem-solving skills and the knowledge of computer science to solve real problems.
  4. Understand how technological advances impact society and the social, legal, ethical and cultural ramifications of computer technology and their usage.
  5. Write about and orally communicate technical material about computer science and computer systems, broadly conceived.

B. Curriculum Alignment Matrix

Table 1 shows curriculum alignment of courses common to both BS and BA degrees. Table 2 and 3 show curriculum alignment of courses unique to the BS and BA degrees respectively.

Table 1. Curriculum Alignment Matrix of CMPS Courses for BS and BA Degrees.
I = introduced, P = practiced, D = demonstrated

CMPS 80J: Technology Targeted at Social Issues   P 

Courses PLO 1 PLO 2 PLO 3 PLO 4 PLO 5
CMPS 5C: Intro Progg C/C++ I   I    
CMPS 5J: Introduction to Programming in Java I   I    
CMPS 5P: Introduction Programming om Python I   I    
CMPS 10: Introduction to Computer Science I     I  
CMPS 11: Intermediate Programming I I P    
CMPS 12A/L: Introduction to Programming (Accelerated) I I P    
CMPS 12B/M: Introduction to Data Structures P I P    
CMPS 17: Social Networks I     I  
CMPS 60M: Scientific Computation with Matlab and Maple     P    
CMPS 80G: Introduction to Unix     P    
CMPS 80L: Social Data Analytics and Visualization       P  
CMPS 80S: From Software Innovation to Social Enerpreneurship       P  
CMPS 80V: Creating Virtual Worlds on the Web       P  
CMPS 101: Algorithms and Abstract Data Types P P P    
CMPS 102: Intro Analysis of Algorithms D P P    
CMPS 104A: Fundamental Compiler Design I P P P    
CMPS 104B: Fundamental Compiler Design II P P P    
CMPS 105: System Programming P P P    
CMPS 109: Advanced Programming P P P    
CMPS 111: Introduction to Operating Systems D D P    
CMPS 112: Comparative Programming Languages D D P    
CMPS 115: Introduction to Software Engineering P D D   D
CMPS 116: Software Design Project P D D P D
CMPS 117: Software Design Project II P D D P D
CMPS 119: Software for Society P P P D  
CMPS 121: Mobile Applications P P P P  
CMPS 122: Computer Security P P P P  
CMPS 128: Distributed Systems P P P P  
CMPS 129: Data Storage Systems P P P    
CMPS 130: Computational Models D D P    
CMPS 132/W: Computability and Computational Complexity D D P   D
CMPS 140: Artifical Intelligence P P P    
CMPS 142: Machine Learning and Data Mining P P P P  
CMPS 143: Introduction to Natural Language Processing P P P P  
CMPS 160/L: Introduction to Computer Graphics P P P    
CMPS 161/L: Introduction to Data Visualization P P P P  
CMPS 162/L: Advanced Computer Graphics and Animation P P P    
CMPS 165: Data Programming for Visualization P P P P  
CMPS 180/W: Database Systems I P P P P D
CMPS 181: Database Systems II P P P P  
CMPS 182: Introduction to Database Management Systems P P P P  
CMPS 183: Hypermedia and the Web P D D P  
CMPS 185: Technical Writing and Communication in Computer Science   P   P D
CMPS 191: Computer Science and Technology Seminar     P P  
Table 2. Curriculum Alignment Matrix of Additional Non-CMPS Courses for the BS Degree.
I = introduced, P = practiced, D = demonstrated
Courses PLO 1 PLO 2 PLO 3 PLO 4 PLO 5
AMS 10: Mathematical Methods for Engineers I     I    
BME 80G: Bioethics in the 21st Century   P   P  
Chem 1B/M: General Chemistry     I    
Chem 1C/N: General Chemistry     I    
CMPE 16: Applied Discrete Mathematics I I I    
CMPE 80A: Universal Access: Disability, Technolgy, and Society       P  
CMPE 80E: Engineering Ethics       P  
CMPE 107: Probability and Statitics for Engineers     I    
CMPE 110: Computer Architecture     I    
CMPS 185: Technical Writing and Communication in Computer Science   P   P D
Math 19A/19B: Calculus for Science, Engineering, and Mathematics     I    
Math 23A: Multivariate Calculus     I    
Phil 22: Introduction to Ethical Theory       P  
Phil 24: Introduction to Ethics       P  
Phil 28: Environmental Ethics       P  
Phil 80G: Bioethics in the 21st Century       P  
Physics 5A/L: Introduction to Physics I     I    
Physics 5B/M: Introduction to Physics II     I    
Physics 5C/N: Introduction to Physics III     I    
Table 3: Curriculum Alignment Matrix of Additional Non-CMPS Courses for the BA Degree.
I = introduced, P = practiced, D = demonstrated
Courses PLO 1 PLO 2 PLO 3 PLO 4 PLO 5
AMS 10: Mathematical Methods for Engineers I     I    
BME 80G: Bioethics in the 21st Century   P   P  
CMPE 16: Applied Discrete Mathematics I I I    
CMPE 80A: Universal Access: Disability, Technolgy, and Society       P  
CMPE 80E: Engineering Ethics       P  
Math 19A/19B: Calculus for Science, Engineering, and Mathematics     I    
Math 23A: Multivariate Calculus     I    
Phil 22: Introduction to Ethical Theory       P  
Phil 24: Introduction to Ethics       P  
Phil 28: Environmental Ethics       P  
Phil 80G: Bioethics in the 21st Century       P  

C. Assessment Plan

The assessment plan for both BS and BA degrees is primarily based on direct evidence of the students' competency in the relevant courses. See Table 4. While course grades in the relevant courses may not provide sufficient resolution about a particular PLO, the upper division courses usually involve a project that accounts for a significant portion of the course grade. Taken as a group, the course grades provide a reasonable assessment of the PLO. While one may argue that a rubric or an evaluation form should be designed to measure a particular PLO, this is not always feasible due to the different nature of each class which makes it difficult for such rubrics to be used across multiple courses. Furthermore, some courses have standardized evaluation forms e.g CMPS 116/117 that cover multiple PLOs. These are included as Appendix I (Performance Review form) and II (Capstone Sponsor form). The performance review form is used to assess individual students in the class, while the capstone sponsor form is used to assess group projects, and is standardized to meet ABET requirements.

Table 4: Assessment Plan
PLO Source of evidence Whose evidence Assessment tool When collected When reported
1. Mastery of core subjects Completion of relevant courses (101, 104A, 109, 115, CMPE 12/L) CS majors AIS Spring 2015 Fall 2015
2. System level perspective Completion of senior thesis or a capstone course (116, 140, 161/L, 181 or 183) CS majors AIS Spring 2016 Fall 2016
3. Problem solving skills Demonstrated in senior level upper division courses with final projects (117, 121, 142, 161/L 162/L) CS majors AIS Spring 2017 Fall 2017
4. Technological impact Completion of a relevant elective (80J or 80S or 119, or CMPE 80A or 80E, or Philosophy 22 or 24 or 28 or 80G, or BME 80G CS majors AIS Spring 2018 Fall 2018
5. Communication skills Completion of a DC course (115, 132/W 180/W, 185, or 195) CS majors AIS Spring 2019 Fall 2019

III. Master of Science in Computer Science

A. Program Learning Outcomes for Both Thesis and Project Tracks

Recipients of an MS in Computer Science degree at UCSC are expected to have the following characteristics and experiences:

  1. Proficiency with the fundamental knowledge in algorithms, programming languages, and architecture.
  2. Proficiency with fundamental knowledge in at least one area of research.
  3. Ability to apply reasoning, problem solving, and technical skills to solve a problem with minimal guidance.
  4. Ability to communicate concepts and results to a technical audience in the form of a technical report and/or an oral presentation to a review committee.

B. Curriculum Alignment Matrix

Table 5: Curriculum Alignment Matrix for CS MS Degree
I = introduced; P = practiced; D = demonstrated.
Courses PLO 1 PLO 2 PLO 3 PLO 4
CMPS 200: Research and Teaching in Computer Science and Engineering     I I
CMPS 201: Analysis of Algorithms IPD   P  
CMPS 203: Programming Languages IPD   P  
CMPS 204: Compiler Design   IPD P P
CMPS 210: Computational Models and Complexity   IPD P P
CMPS 211: Combinatorial Algorithms   IPD P P
CMPS 217: Logic in Computer Science   IPD P P
CMPS 221: Advanced Operating Systems   IPD P P
CMPS 223: Advanced Compupter Security   IPD P P
CMPS 229: Storage Systems   IPD P P
CMPS 232: Distributed Systems   IPD P P
CMPS 240: Artificial Intelligence   IPD P P
CMPS 241: Knowledge Engineering   IPD P P
CMPS 242: Machine Learning   IPD P P
CMPS 245: Computational Models of Discourse and Dialogue   IPD P P
CMPS 247: AI: Problem Solving and Intelligent Search   IPD P P
CMPS 250: Introduction to Information Theory   IPD P P
CMPS 253: Advanced Programming Languages   IPD P P
CMPS 260: Computer Graphics   IPD P P
CMPS 261: Advanced Visualization   IPD P P
CMPS 262: Computer Animation   IPD P P
CMPS 263: Data Driven Discovery and Visualization   IPD P P
CMPS 272: Evolutionary Game Theory   IPD P P
CMPS 276: Software Engineering   IPD P P
CMPS 277: Principes of Database Systems   IPD P P
CMPS 278: Design and Implementation of Database Systems   IPD P P
CMPS 279: Software Reuse and Component-Based Software Engineering   IPD P P
CMPS 290: Special Topics   IPD P P
CMPS 296: Master's Project     P D
CMPS 297: Independent Study     P D
CMPS 299: Thesis Research     P D

C. Assessment Plan

Masters students are expected to complete 48 units of coursework (MS project track) 50 units of coursework (MS thesis track), of which at least 30 units must be in Computer Science. Each student must take and pass core courses, including algorithms, programming languages, architecture, which test for mastery of the fundamental knowledge, and the ability to use analytical and computational methods (PLO 1). MS students are also required to complete a Master's Project (under the MS project track) or a Masters Thesis (under the MS thesis track). The project and thesis tracks test for mastery material in at least one area of focus (PLO 2). Students in the MS project are required to complete a report on a topic which will be read and reviewed by a review committee before the award of the Master of Science degree (PLO 3 and PLO 4). Students in the MS thesis track are required to propose a thesis topic by the end of their first year, complete a thesis which will be read and reviewed by a review committee, give and pass a public presentation of the completed research to the review committee before the award of the Master of Science degree (PLO 3 and PLO 4). See Tables 6-8.

Table 6: Assessment Plan
PLO Source of evidence Whose evidence Assessment tool When collected When reported
1. Proficiency with core subjects Completion of relevant courses (201, CMPE 202, 203) All MS students AIS Spring 2015 Fall 2015
2. Proficency in area of research Completion of set of courses relevant to chosen area of research All MS students AIS, Spring graduate reviews Spring 2016 Fall 2016
3. Reasoning and problem solving skills for independent research Thesis research or project report All MS students See problem solving rubric (Table 7) Spring 2017 Fall 2017
4. Communication skills Thesis research or project report All MS students See communication skills rubric (Table 8) Spring 2018 Fall 2018
Table 7: Problem Solving Rubric

Inefficient or inelegant solution

Trait Did not meet expectation Partially met expectation Met expectaion Exceeded expectation
Identification of the problem Incoherent or incomplete description, missed the central problem High level problem or issue stated but lack details Clear description of issues or problems Contextual information provided also
Identify possibly solutions Intractable or incorrect solution Feasible, efficient approach and solution Multiple viable alternative solutions with pros/cons discussed
Implementation Incomplete or incorrect work Problem decomposition with solution to part of the problem Complete solution with proper documentation Thorough work, creative approach, exercise good programming practices
Table 8: Communication Skills Rubric
Trait Did not meet expectation Partially met expectation Met expectaion Exceeded expectation
Technical writing (MS thesis and project) Disorganized or missing important related works Explains problem, approach and solution but lacks sufficient detail to reproduce results Self contained manuscript understandable to a technical audience Manuscript is publishable quality and accessible to non-expert audience
Public presentation (MS thesis) Does not convey the critical results of the research Explains problem, approach and solution but may run out of time, or does not answer questions from audience adequately Presentation with sufficient technical depth for experts Presentation is accessible to non-expert audience

IV. Doctor of Philosophy in Computer Science

A. Program Learning Outcomes

Recipients of a PhD in Computer Science degree at UCSC are expected to have the following characteristics and experiences:

  1. Mastery with the fundamental knowledge in algorithms, programming languages, and architecture.
  2. Proficiency with fundamental knowledge in several specialized areas of research and expertise in at least one area of research.
  3. Ability to apply reasoning, problem solving, and technical skills to solve problems with minimal guidance, and to conduct independent and innovative research.
  4. Ability to communicate concepts and results to a technical audience in the form of conference papers, journal papers, and/or oral presentations.

B. Curriculum Alignment Matrix

Table 9: Curriculum Alignment Matrix for CS PhD Degree
I = introduced; P = practiced; D = demonstrated.
Courses PLO 1 PLO 2 PLO 3 PLO 4
CMPS 200: Research and Teaching in Computer Science and Engineering     I I
CMPS 201: Analysis of Algorithms IPD   P  
CMPS 203: Programming Languages IPD   P  
CMPS 204: Compiler Design   IPD P P
CMPS 210: Computational Models and Complexity   IPD P P
CMPS 211: Combinatorial Algorithms   IPD P P
CMPS 217: Logic in Computer Science   IPD P P
CMPS 221: Advanced Operating Systems   IPD P P
CMPS 223: Advanced Compupter Security   IPD P P
CMPS 229: Storage Systems   IPD P P
CMPS 232: Distributed Systems   IPD P P
CMPS 240: Artificial Intelligence   IPD P P
CMPS 241: Knowledge Engineering   IPD P P
CMPS 242: Machine Learning   IPD P P
CMPS 245: Computational Models of Discourse and Dialogue   IPD P P
CMPS 247: AI: Problem Solving and Intelligent Search   IPD P P
CMPS 250: Introduction to Information Theory   IPD P P
CMPS 253: Advanced Programming Languages   IPD P P
CMPS 260: Computer Graphics   IPD P P
CMPS 261: Advanced Visualization   IPD P P
CMPS 262: Computer Animation   IPD P P
CMPS 263: Data Driven Discovery and Visualization   IPD P P
CMPS 272: Evolutionary Game Theory   IPD P P
CMPS 276: Software Engineering   IPD P P
CMPS 277: Principes of Database Systems   IPD P P
CMPS 278: Design and Implementation of Database Systems   IPD P P
CMPS 279: Software Reuse and Component-Based Software Engineering   IPD P P
CMPS 290: Special Topics   IPD P P
CMPS 296: Master's Project     P D
CMPS 297: Independent Study     P D
CMPS 299: Thesis Research     P D

C. Assessment Plan

PhD students are expected to complete 58 units coursework, of which at least 33 units must be in CS. Each student must take and pass core courses, including algorithms, programming languages, architecture, which test for mastery of the fundamental knowledge, and the ability to use analytical and computational methods (PLO 1). Each student must also take three courses from three different breadth categories (PLO 2). Each student must either take a preliminary exam in their area of specialization (PLO 2) or advance to candidacy (also called qualifying exam) by the end of their third year (PLO 3). Each student must complete a dissertation and present his or her research in a public seminar, followed by a defense of the dissertation to the dissertation committee and attending faculty (PLO 3 and PLO 4). See Table 10.

Table 10: Assessment Plan
PLO Source of evidence Whose evidence Assessment tool When collected When reported
1. Master of core subjects Completion of relevant courses (201, CMPE 202, 203) All PhD students AIS, statistics Spring 2015 Fall 2015
2. Proficiency in area of research Completion of set of courses relevant to chose area of research All PhD students AIS, Spring graduate review, Preliminary Exam Spring 2016 Fall 2016
3. Reasoning and problem solving skills for independent research QE and dissertation defense All PhD students Spring graduate review, Advancement to Candidacy, see research rubric (Table 11) Spring 2017 Fall 2017
4. Communication skills QE and dissertation defense All PhD students Spring graduate review, Committee approval, see communication skills rubric (Table 12) Spring 2018 Fall 2018
Table 11: Research Rubric (for use in QE and PhD Defense)
Trait Did not meet expectation Partially met expectation Met expectaion Exceeded expectation
Novelty of research Research plan lacks innovative ideas Ideas or novelty are incremental Proposed work is novel and interesting Development of the research plan was largely envisioned by the student
Level of preparation to carry out proposed research Lacks coherent or realistic plan Feasibility of plan is too ambitious or dependent on other uncontrollable factors Has properly researched previous works and alternative methods, and has a feasible plan Has done previous work, or published works related to proposed research
Significance / impact of proposed work Research focus is arcane Proposed research has limited potential impact Proposed research advances the knowledge of field in a significant way Research has broad application and potential to stimulate new areas of research
Table 12: Communication Skills Rubric
Trait Did not meet expectation Partially met expectation Met expectaion Exceeded expectation
Technical writing Disorganized or missing important related works Explains problem, approach and solution but lacks sufficient detail to reproduce results Self contained manuscript understandable to a technical audience and of publishable quality Manuscript is publishable in technical venue as a journal or conference paper
Public presentation Does not convey the critical results of the research Explains problem, approach and solution but may run out of time, or does not answer questions from audience adequately Presentation with sufficient technical depth for experts Presentation is accessible to non-expert audience