The curriculum goals of the unit, as currently stated in the catalog or other departmental documents, are as follows: (from the catalog)

“The mission of the B.S. Program of the Department of Computer Science of the University of Colorado at Boulder is to provide an excellent undergraduate education that provides mastery of computer science principles and practices and prepares students for careers as computer specialists as well as for graduate study in computer science. The educational objectives of the computer science BS degree are to produce students who three to five years after graduation:

  • are prepared to be valued individual contributors in a software-oriented organization, to be programmers, and designers in an entrepreneurial pursuit, to lead small projects and generally begin preparation for a management career, or to succeed in rigorous postgraduate programs.
  • are able to focus their careers on pure computer science technology or to bring computer science expertise to a companion discipline.
  • are prepared, where appropriate, to specialize in a broad spectrum of computer science sub-disciplines, ranging across formal computer science (e.g., computational science, bioinformatics, and theory), cognitive science (e.g., human/machine learning, human-computer interaction, collaborative work, and human language technologies), and core computing (e.g., systems, networks and software engineering).

A list of program outcomes for computer science graduates has been developed that satisfy the requirements of ABET in the Criteria for Accrediting Computing Programs for general computing programs (ABET Criterion 3) and for computer science programs in particular (ABET Criterion 9). As defined by ABET, outcomes are “statements that describe what students are expected to know and are able to do by the time of graduation.”

The program outcomes of the CS B.S. degree are, that at the time of graduation, CS graduates will possess:

  • an ability to apply knowledge of computing and mathematics appropriate to the discipline
  • an ability to analyze a problem, and identify and define the computing requirements appropriate to its solution
  • an ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
  • an ability to function effectively on teams to accomplish shared computing design, evaluation, or implementation goals
  • an understanding of professional, ethical, legal, security and social issues and responsibilities for the computing profession
  • an ability to communicate effectively about computing topics with a range of audiences
  • an ability to analyze impacts of computing on individuals, organizations, and society
  • a recognition of the need for and ability to engage in continuing professional development
  • an ability to use current techniques, skills, and tools necessary for computing practice
  • an ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices
  • an ability to apply design and development principles in the construction of software systems of varying complexity”

During the last review period, what revisions, if any, have been made to your curriculum goals as stated in the CU course catalog? What is your schedule for such curriculum review?

No changes have been made to the curriculum goals over this past year.  The department's Curriculum Committee reviews its curriculum goals annually suggesting changes if appropriate. Suggested changes would then be reviewed and approved by the full faculty.  Even if no changes are suggested during an ABET cycle, the curriculum goals are reviewed by the full faculty in the final year of the cycle, which will happen during the 2014-15 academic year.

Summarize the means you have employed to assess your success in attaining those curriculum goals.

The department employs a number of means to evaluate success in attaining the curriculum goals that involve seeking input from a range of stakeholders including students, faculty, staff, alumni, and employers and does so in a number of different ways.

The department solicits input from alumni and employers as to the continued relevance of the department's goals as well as their assessment of the capabilities of our graduates. These stakeholders interact with the department in a variety of ways such as serving as members of the Advisory Board, sponsoring senior projects, providing guest lectures, teaching courses, and interviewing and employing students.  The department solicits feedback using both formal and informal mechanisms during and after those interactions.

A student group, Computer Science Student Advisory Council (CSUAC), is charged with soliciting input from students and communicating that to the faculty by way of the Curriculum Committee.

A number of assessment instruments are administered by the College of Engineering & Applied Science that gather data relevant to CSEN.  The assessment tools applied since the previous annual assessment report are:

  • Senior Survey – assessment of program outcomes
  • Post-Graduation Surveys (given to alumni approximately 6 months after they graduate; data from 2013 calendar year is available in this cycle)
  • Alumni Surveys – assessment of program objectives
  • Employer Survey - assessment of their experiences with the CEAS graduates they have interviewed or hired

The department also runs surveys using the Qualtrics surveying tool to assess student attitudes toward the use of new tools and techniques.  For the 2013-14 academic year surveys the use of a Virtual Machine to unify the development environment for all students in courses was expanded to use across lower division courses and some upper division courses. In addition, the use of Interview Grading was adopted for use as an assessment mechanism across introductory and some upper-division courses.  Students were surveyed about both of the above and the results were studied and reports written. 

In addition to seeking feedback from alumni and employers, student attainment of curriculum goals is verified in the context of their capstone experience in CSCI 4308/18: Software Engineering Project. This is done using a variety of assessments: homework assignments, in-class assessments, project sponsor feedback, and student interviews by the Senior Project Director.  This year these interviews revealed two areas students felt needed improvement: one - lack of course content on state-of-the-art technologies, and two - the requirement for all seniors to complete the capstone project was not appropriate for students who have had significant software development experience.

The Faculty Course Questionnaires (FCQs) administered by the University are also used to assess individual courses.  The recently formed Undergraduate Curriculum Committee, which has the responsibility for recommending curriculum changes for approval by the faculty as a whole, reviews the results of these assessments as they are available and make suggestions for improvement. The Department Executive Committee and Chair are responsible for allocating teaching, facilities, and other resources to implement changes. For instance, this year across offerings of CSCI 3308: Software Engineering Methods and Tools there was great dissatisfaction voiced on the FCQs; therefore a concern was registered with the Curriculum Committee.

Specify what actions you have taken as a result of employing your assessment protocols.

The need for a Curriculum Committee to focus on course content and overall curriculum goals separate from the Undergraduate Committee, which focuses more on decisions related to course schedules, teaching assignments, student experience, and student petitions, was identified and put into action.  A committee was appointed and a committee charter was written and presented for a vote of the faculty of the department. The Charter was approved and the committee identified the review of the introductory course content and inter-relationships among foundation courses as its highest priority. Using the ACM Curriculum as a guide, the committee began the process of reviewing courses focusing on ensuring smooth transitions among courses by reviewing the student preparation expectations and outcomes for these courses.  To date, the course outcomes and topic list for CSCI 1300 has been written.  The process will continue with the review of CSCI 2270: Data Structures, CSCI 2400: Computer Systems, and CSCI 2824: Discrete Structures in the next academic year.

The Undergraduate Committee recognized that the addition of the two new capstone options would likely lead to confusion among undergraduates. In an effort to reduce confusion, as well as to increase awareness of research opportunities, the committee decided to hold a "Capstone Options and Research Fair" two weeks before registration for Fall classes.  The fair included descriptions of the various capstone course and research options and also included a research poster session in which faculty and graduate students presented projects for which they would welcome undergraduate participation.  The fair was deemed a great success and will be held annually in the future.

In response to concerns about CSCI 3308, noted above, the Curriculum Committee made a decision to revamp the curriculum for the course to more closely reflect its title (Software Engineering Methods and Tools) and to support its course outcomes. It also made the class a pre-requisite for CSCI 4308: Software Engineering Project 1, essentially requiring students to take it earlier in the curriculum. Previously, students were taking CSCI 3308 at the same time as CSCI 4308, when they needed to learn the concepts and techniques of CSCI 3308 before taking CSCI 4308. To support the addition of this pre-requisite, the executive committee approved offering the course each semester and during the summer session.  The first offering of the revised course, offered in summer 2014, received excellent reviews in student FCQs and the changes were adopted on a permanent basis.

In response to the two concerns revealed during senior interviews, mentioned above, the department added a capstone option for experienced software developers; with this option, they get to serve as a mentor to other senior project teams, rather than participating on a team directly. In response to the request to review the state-of-the-art in various areas of computer science and technology, the department is investigating the offering of a series of "tech intensives" each academic year. The vision is to have alums and/or members of the local technology community to volunteer to teach short, one credit-hour courses on tools and technologies that they are currently using in industry. This idea will be studied in more depth during the 2014-2015 academic year with a goal of offering the first set of tech intensives during the 2015-2016 academic year.