Variable Cr. (Hrs.:0 Lab)
Individual or small group pursuit of a project preferably an advanced topic in computing. Prerequisite: Senior standing. Consent of department (On Dem.)
Senior Design Project Learning Agreement. Course generally offered fall (1st) and spring (2nd) semesters.
E1. The student should be able to program fluently in several languages. (CSCI 135, CSCI 136, CSCI 255, CSCI 232, CSCI 332, CSCI 305)
E2. The student should understand advanced programming concepts and constructs. (CSCI 232, CSCI 332, CSCI 46, CSCI 305, CSCI 340, CSCI 361, CSCI 460)
E3. The student should understand the software development life cycle and the need for using appropriate software development techniques. (ESOF 322, ESOF 326)
E4. The student should have the ability to work independent of supervision, and manage time and deadlines appropriately. (Senior Standing)
R1. The student will demonstrate the ability to apply knowledge of computing and mathematics acquired in their previous coursework to the solutions of research problem or a client project.
R2. The student will demonstrate the ability to analyze a problem and identify the appropriate computing requirements appropriate to its solutions. (CS: 1)
R3. The student will demonstrate the ability to design, implement and evaluate computer-based systems, processes, components, or programs to meet desired needs. (CS: 2)
R4. The student will recognize the need for, and demonstrate the ability to, engage in continuing professional development.
R5. The student will demonstrate the ability to use current techniques, skills, and tools necessary for computing practice, as appropriate to the problem or project.
R6. The student will demonstrate the ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices. (CS: 6)
R7. The student will demonstrate the ability to apply design and development principles in the construction of software of varying complexity.
5-2-1 - Techniques, skills, and tools necessary for computing practice
5-a-4 - The study of computing-based systems at varying levels of abstraction
5-a-5 - A major project that requires integration and application of knowledge and skills acquired in earlier course work