Undergraduate Program Assessment

CS Goals, Objectives and Outcomes

Our goal is to educate students for a career in CS and a productive life as good citizens. We expect that the major program, the general education and the free electives available to students will all contribute toward achieving this goal.

We have the following Student Learning Outcomes for the program we offer to our majors. Upon graduation computer science students will

1. Understand their responsibilities to individuals, organizations, and society, both locally and globally. Specifically, graduates will

1.1 recognize the need for and gain the ability to engage in continuing professional development.

1.2 demonstrate an understanding of professional, ethical, legal, security, and social issues and responsibilities.

1.3 demonstrate the ability to analyze the local and global impact of computing on individuals, organizations, and society.

2. Be proficient in software design and development. Specifically, graduates can

2.1 analyze a problem and identify and define the computing requirements appropriate to its solution.

2.2 design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.

2.3 use current techniques, skills, and tools necessary for computing practice.

3. Be proficient in the theoretical foundations of computer science. Specifically, graduates can

3.1 compute the complexity of algorithms and can explain how the limitations of computers affect algorithm choice.

3.2 represent and solve problems using models such as graphs, abstract machines, and grammars.

3.3 read, follow, and write mathematical notation and proofs.

3.4 explain basic concepts in database theory and database system design and organization.

4. Be proficient in the fundamental area of computing systems. Specifically, graduates can

4.1 describe and evaluate the components of a modern computer system and explain number systems and data representations.

4.2 explain the functionality provided by an operating system such as process creation, memory management, exceptin handling, and scheduling, and can write programs that utilize system calls.

4.3 describe the processes of compiling, assembling, and linking, including compiler stack organization and register handling conventions.

5. Possess the ability to communicate well with a range of audiences, and to function effectively on teams to accomplish a common goal. Specifically, graduates can

5.1 construct effective visual and oral presentations of technical subjects.

5.2 produce well-written documents explaining technical issues in a variety of contexts.

5.3 create a significant software project working collaboratively in a team.


The Xitracs report of these student learning outcomes is accessible here.


Historical Perspectives

Some program data you might find interesting and helpful: