Computer Science Program Goals and Objectives

Goal #1: Problem-Solving. (ULG 1,5,6)
To develop students' ability to apply a range of techniques in solving problems.
Student Learning Objectives: Students graduating with a major in computer science will
  1. Be able to apply appropriate programming techniques to solve small-scale problems (i.e., in the small). This means choosing appropriate language constructs (e.g., conditions, repetition, function and class decomposition), data structures (e.g., arrays, stacks, associative arrays, heaps), and algorithms to solve a fairly small problem.
  2. Be able to select appropriate components to solve large-scale problems (i.e., in the large). This means choosing between appropriate data structures, algorithms, and system-level components (e.g., servers, databases, network protocols).
Goal #2: Independent Learning. (ULG 1,5,6)
To develop students' ability to adapt to new technologies and relate them to their previous knowledge.
Student Learning Objectives: Students graduating with a major in computer science will
  1. Be able to complete a project which uses technologies not covered in any class. This may include completely new technology or the use of unexplored features during coursework.
  2. Be able to solve problems in multiple languages (e.g., Current Languages, Programming Languages, Internet Development).
Goal #3: Ethical and Professional Behavior. (ULG 3)
To challenge students to consider the ethical and integrity issues related to technology.
Student Learning Objectives: Students graduating with a major in computer science will
  1. Be guided by ethical principles in their careers as informed by Christian values.
Goal #4: Communication. (ULG 1,5)
To develop student's ability to communicate effectively in both written and oral form.
Student Learning Objectives: Students graduating with a major in computer science will
  1. Be able to to communicate in writing (e.g., technical reports, project documentation, software development artifacts).
  2. Be able to communicate orally (e.g., new technology not covered in class, project presentations, code reviews)..
  3. Be able to document program code using appropriate tools (e.g., JavaDoc. UML).