Learning Outcomes

Program Goals and Student Learning Outcomes

Goal #1 To enable understanding of the capabilities, limitations, and ramifications (technical, ethical, and social) of computing, the state of the art, and current research and developments in computer science and related areas.

  • Demonstrate an understanding of the various ethical issues associated with modern computing technologies
  • Demonstrate an understanding of the various social issues involved with current “hacktivism” movements, such as Anonymous and WikiLeaks

Goal #2 To develop the ability to understand and analyze end-user needs, master the techniques of creating and applying algorithms and data structures, and analyze their viability.

  • Create various software projects, given a specification, using various algorithms and data structures
  • Analyze software projects in terms of usability, efficiency, and/or correctness, and be able to modify software projects using this analysis

Goal #3 To become effective at working individually and in teams, building on the work of others, and be able to communicate technical information with both experts and nonexperts.

  • Both individually and within a group, write clear, concise and accurate technical documents following industry standards to technical and nontechnical audiences
  • Both individually and within a group, effectively present a clear overview of a software project for mixed audiences (both technical and nontechnical)

Goal #4 To prepare for adapting to changes in hardware/software technologies, as well as new and changing application areas through a firm grasp of fundamental principles, and to develop an appreciation of the need for lifelong learning.

  • Apply existing knowledge to learning how to develop software within a system, environment, or programming language that has not been taught as part of a formal course

Goal #5 To appreciate both the demands and range of opportunities of the computing profession, and provide for and encourage creative contribution to the art.

  • Demonstrate proficiency in a variety of different areas of computer science
  • Create various software projects in a variety of different areas of computer science.