Radford University
School of Computing and Information Sciences
Student Outcome 6-CS
(6-CS) Apply computer science theory and software development fundamentals to produce computing-based solutions;
|
Level 5
|
The student:
- independently identifies and uses mathematics to model systems and analyze their time and space complexity.
- Chooses languages, algorithms, and data structures that provide the time and space performance needed for a given task.
- identifies and uses library functions that provide needed performance.
- is very knowledgeable of consequences of choices of language, algorithms, and data structures.
- designs systems that meet all requirements.
- chooses a language that is appropriate for the domain, and that has a good balance of flexibility, efficiency, and reliability.
- Recognizes where a software pattern exists and implements it.
- Uses encapsulation and information hiding to increase abstraction and reliability.
- Uses principles of functional decomposition to develop a system that exhibits good program structure.
- Decomposes a program into modules or classes that exhibit high cohesion and low coupling.
- Can independently refactor code correctly.
- Tests code thoroughly.
|
Level 3
|
The student:
- with guidance can identify and use mathematics to model systems and analyze their time and space complexity .
- can choose languages, algorithms, and data structures that needed for a given task
but displays little knowledge of their time and space performance.
- can identify and use library functions to solve a task, but has little understanding of performance tradeoffs.
- is somewhat knowledgeable of consequences of choices of language, algorithms, and data structures.
- designs systems that meet some but not all requirements.
- can characterize and identify the flexibility, efficiency, and reliability of a language,
but many not select the correct language for an application.
- can apply a software pattern if directed uses encapsulation and information hiding to increase abstraction and reliability but sometimes
incorrectly.
- uses principles of functional decomposition to develop a system that overall exhibits good program structure,
but with some room for improvement.
- decomposes a program into modules or classes whose cohesion and coupling could be improved.
- can refactor code when directed to do so, but sometimes incorrectly.
- tests code to some extent.
|
Level 1
|
The student:
- demonstrates little understanding of how to identify and use mathematics to model systems
and analyze their time and space complexity.
- demonstrates little awareness of how to choose languages, algorithms, and data structures that needed for a given task.
- demonstrates little awareness of how to identify and use library functions to solve a task.
- demonstrates little understanding of consequences of choices of language, algorithms, and data structures.
- designs systems that meet few requirements.
- demonstrates little knowledge of the flexibility, efficiency, and reliability of various languages.
- has little knowledge of software patterns.
- does not use encapsulation and information hiding effectively.
- develops systems that do not exhibit good program structure.
- decomposes a program into modules or classes with poor cohesion and coupling .
- does not recognize opportunities to refactor code and cannot do so when directed.
- appears to conduct very little testing of code.
|