### ABET ACCREDITATION

The Computer Science department's BS program has been accredited by the Computing Accreditation Commission of ABET (and its predecessors) since 1997.

ABET, Inc., the recognized accreditor for college and university programs in applied science, computing, engineering, and technology, is a federation of 28 professional and technical societies representing these fields. Among the most respected accreditation organizations in the U.S., ABET has provided leadership and quality assurance in higher education for over 75 years.

### PROGRAM EDUCATIONAL OBJECTIVES

The Computer Science B.S. Program is designed to prepare graduates for productive and rewarding careers; it is expected that within a few years of receiving their degree, graduates will have attained the following:

**Depth:**Through professional practice or advanced study in computer science, graduates will apply the foundational concepts of the discipline including design, implementation and analysis of computing systems.**Breadth:**Graduates will demonstrate an awareness of broad societal and ethical issues in computing as they engage in productive public or private sector careers or graduate study.**Professionalism:**As participants in complex modern work environment, graduates will demonstrate clear communication skills, engage in responsible teamwork practices, and exhibit ethical and professional attitudes.**Learning:**Graduates will pursue lifelong learning that builds on the foundational knowledge and skills of computer science acquired in their undergraduate program in pursuit of their goals

### STUDENT OUTCOMES

The program’s *Student Outcomes *prepare graduates to attain the program *Educational *Objectives. The Student Outcomes of the Computer Science B.S. Program as specified by ABET Accreditation Criteria of the Computer Science are as follows:

- An ability to apply knowledge of computing and mathematics appropriate to the discipline
- An ability to analyze a problem, and identify and define the coputing 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 a common goal
- An understanding of professional, ethical, legal, security and social issues and responsibilities
- An ability fo communicate effectively with a range of audiences
- An ability to analyze the local and global impact of computing on individuals, organizations and society
- Recognition of the need for and an 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 systms of varying complexity.

The Computer Science coursework maps to these student outcomes as indicated below. The courses listed are required of all students pursuing a B.S. in Computer Science. Expand each link to view the outcomes:

**CS 111 – Program Design I**- Apply knowledge of computing and mathematics appropriate to the discipline
- Design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs

**CS 141 – Program Design II**- Apply knowledge of computing and mathematics appropriate to the discipline
- Design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
- Use current techniques, skills, and tools necessary for computing practice

**CS 151 – Mathematical Foundations of Computing**- Apply knowledge of computing and mathematics appropriate to the discipline
- 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

**CS 211 – Programming Practicum**- Apply knowledge of computing and mathematics appropriate to the discipline
- Analyze a problem, and identify and define the coputing requirements appropriate to its solution
- Design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs
- Use current techniques, skills, and tools necessary for computing practice
- Apply design and development principles in the construction of software systems of varying complexity

**CS 251 – Data Structures**- Apply knowledge of computing and mathematics appropriate to the discipline
- Analyze a problem, and identify and define the coputing requirements appropriate to its solution
- Use current techniques, skills, and tools necessary for computing practice
- 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
- Apply design and development principles in the construction of software systms of varying complexity

**CS 261 – Machine Organization**- Apply knowledge of computing and mathematics appropriate to the discipline
- Analyze a problem, and identify and define the coputing requirements appropriate to its solution
- Function effectively on teams to accomplish a common goal
- Use current techniques, skills, and tools necessary for computing practice

**CS 301 – Languages and Automata**- Apply knowledge of computing and mathematics appropriate to the discipline
- 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.

**CS 341 – Programming Language Design and Implementation**- Apply knowledge of computing and mathematics appropriate to the discipline
- Analyze a problem, and identify and define the coputing requirements appropriate to its solution
- Use current techniques, skills, and tools necessary for computing practice
- Apply design and development principles in the construction of software systms of varying complexity

**CS 342 – Software Design**- Apply knowledge of computing and mathematics appropriate to the discipline
- Analyze a problem, and identify and define the coputing requirements appropriate to its solution
- Function effectively on teams to accomplish a common goal
- Use current techniques, skills, and tools necessary for computing practice
- Apply design and development principles in the construction of software systms of varying complexity

**CS 361 – Computer Systems**- Apply knowledge of computing and mathematics appropriate to the discipline
- Analyze a problem, and identify and define the coputing requirements appropriate to its solution
- Use current techniques, skills, and tools necessary for computing practice

**CS 362 – Computer Design**- Apply knowledge of computing and mathematics appropriate to the discipline
- Analyze a problem, and identify and define the coputing requirements appropriate to its solution
- Use current techniques, skills, and tools necessary for computing practice

**CS 377 – Communication and Ethical Issues in Computing**- Understanding of professional, ethical, legal, security and social issues and responsibilities
- Communicate effectively with a range of audiences
- Analyze the local and global impact of computing on individuals, organizations and society
- Recognition of the need for and an ability to engage in continuing professional development

**CS 385 – Operating Systems Concepts and Design**- Apply knowledge of computing and mathematics appropriate to the discipline
- Analyze a problem, and identify and define the coputing requirements appropriate to its solution
- Use current techniques, skills, and tools necessary for computing practice

**CS 401 – Computer Algorithms I**- Apply knowledge of computing and mathematics appropriate to the discipline
- Analyze a problem, and identify and define the coputing requirements appropriate to its solution
- 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

**CS 499 – Professional Development Seminar**- Understanding of professional, ethical, legal, security and social issues and responsibilities
- Recognition of the need for and an ability to engage in continuing professional development

#### Notes:

The B.S. in Computer Science allow students to optionally select one of three concentrations:

- Human Centered Computing (HCC)
- Software Engineering (SWE)
- Computer Systems Concentration (CSC)

As a result, the B.S. in Computer Science may be granted in one of four forms (with one of the above concntrations or with no specified concentration). All of these options share a common set of required Computer Science courses: the courses listed in the grid above.

### ENROLLMENT AND GRADUATION TRENDS

Computer Science Enrollment data from 2004 to 2013 as collected by the UIC College of Engineering