The Program Educational Objectives of the Bachelor of Science in Computer Science are statements that describe the accomplishments of graduates 3-5 years post-graduation:
Illuminate - lifelong learning in computer science
- Alumni will be prepared to learn on their own whatever is required to stay current in their chosen profession, for example, learning new programming languages, algorithms, developmental methodologies, etc.
- Alumni should be prepared to do continual learning throughout their careers, to include such things as pursuing advanced degrees, attending short courses, reading technical or trade journals, participating in sabbaticals, etc.
- Alumni will be prepared to pursue careers in all branches of computer science including technical development, project management, and technical sales.
Investigate - demonstration of computer science principles
- Alumni should have the ability to find and access information relevant to an application under development.
- Alumni should have the ability to model various problem domains and convert them into software solutions.
- Alumni should have the ability to apply techniques of algorithm design and automata theory to new problem solving situations.
- Alumni should demonstrate the ability to draw upon the expertise of others and negotiate solutions to a problem as a productive technical team member.
- Alumni should demonstrate an understanding of the impact of computer problem solutions in a global, economic, environmental, and societal context.
Innovate - creative application of computer science principles
- Alumni should be able to generate new and innovative solutions to solve problems or meet requirements in their discipline.
- Alumni should be able to integrate global, economic, environmental, and societal considerations into their problem solutions.
The Department of Computer Science has established the following Student Outcomes for the Bachelor of Science in Computer Science. By the time of graduation, students are expected to demonstrate:
- An ability to apply mathematical foundations, algorithmic principles, and computer science theory and practice
- An ability to model, design, implement and test software systems in a way that demonstrates comprehension of the trade-offs involved in design and implementation choices
- An ability to learn to use new design methodologies, operating systems, languages, and other software development tools within reasonable time constraints
- An ability to function effectively on teams related to software development
- An ability to communicate with others, both orally and in writing, about technical subjects
- An understanding of professional, ethical and social responsibilities