BS Computer Science Program Outcomes

In order to be able to attain the program objectives 3 to 5 years after graduation, on graduation from the program, students will demonstrate:

  1. An ability to analyze, design, implement and test significant computer-based projects, working individually and in small project teams.
    Performance Criteria:
    • Use of requirements elicitation and analysis techniques to develop complete, consistent, unambiguous, and testable requirements.
    • Use of software design methodology and notation to devise and document software design that enables efficient implementation.
    • Use of configuration management tools and coding standards in the software implementation of a design.
    • Effective participation in software development teams.
  2. Proficiency in the selection and use of data structures and algorithms, including an understanding of the underlying mathematical abstractions and the complexity and implementation of solutions.
    Performance Criteria:
    • Understanding of the definition and implementation of common list, table and tree data structure.
    • Selection of data structures appropriate for application needs.
    • Analysis of the time and space complexity of common algorithms.
  3. Proficiency in the use of several programming languages and an understanding of different programming paradigms and their implementation in modern programming languages.
    Performance Criteria:
    • Effective use of an object-oriented language.
    • Effective use of an imperative/procedural language.
    • Effective use of a functional language.
  4. An understanding of theoretical computer science, software engineering and computer organization concepts and the ability to apply that knowledge in formulating and implementing computer-based solutions to problems.
    Performance Criteria:
    • Understanding of formal language theory and the use of common language recognition algorithms.
    • Use of software engineering practices in software project work.
    • Understanding of digital logic and computer organization concepts.
    • Effective use of an assembly language.
  5. An understanding of the concepts of computer operating systems and concurrent systems.
    Performance Criteria:
    • Understanding of process scheduling in a multi-programming environment.
    • Understanding of memory management techniques, including virtual memory.
    • Understanding of file system implementation.
    • Understanding of the concepts of process and thread synchronization and coordination.
    • Use of language facilities in multi-threaded and multi-process programming.
  6. An ability to persuasively express their ideas orally and in writing.
    Performance Criteria:
    • Sufficient detail to make an effective argument.
    • Effective organization of presented material to enable logical progression of an argument.
    • Effective and correct use of the English language.
  7. An understanding of the social and ethical issues of computing and preparation to use their computing skills to make a positive impact on society.
    Performance Criteria:
    • Ability to recognize and discuss social and ethical aspects of computer applications.
    • Understanding of the impacts of computer technology on society.
    • Ability to recognize ethically questionable situations and to consider the implications of their individual actions in those situations.