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.