CS401 Final Exam Topics
The CS401 final exam is open book and open
notes. You are also welcome to bring a computer. However, they are not open-neighbor! Be
prepared for short-answer questions and creating or
analyzing software documents or code. The topics that will
be covered are listed below, which focus on the second half of the course:
Project Management
-
Earned Value Analysis on a project schedule (e.g. calculate
PV, SPI, CV, etc. AND know what these mean)
-
Work breakdown structure
-
How to estimate the size/time required for a
project
-
Understand a PERT diagram that illustrates dependencies in a
project
-
Understand a Gantt diagram
-
Components of a software project management
plan
-
Tasks involved for the project
manager
People and Team Structure
-
Communication cost as a function of
team size
-
Team models
-
Motivating factors
for developers
-
Characteristics of high
performing teams
-
Common causes of
team failure
User Interface Design
- Evaluate a user interface using heuristic design and
interface principles:
- Simple and natural dialog
- Speak the user's language
- Minimize user's memory load
- Be consistent
- Provide feedback
- Provide clearly marked exits
- Provide shortcuts
- Deal with errors in a positive manner
- Provide help
- CRAP - Guidelines for design layout
- Representations and visualizing information
- Design of everyday things
- affordances
- causality
- visible constraints
- mapping
- population stereotypes
- conceptual models
Design
- Common architectural styles with pro's and con's
- Main with Subroutines and Shared data, Data abstraction, Implicit
invocation, Repository (blackboard), Layers of abstraction,
Model-view-controller
- Design considerations
- Abstraction
- Procedural vs. Data Abstraction
- Modularity
- Levels of cohesion
- Types of coupling
- Desire high cohesion, loose coupling
- Information Hiding
- Complexity
- Intra-Modular; e.g. size/structure.
- Halstead's Software Science, McCabe's Cyclomatic complexity.
- Inter-Modular
- System Structure : refers to Inter-Modular
organization
- graph analysis; tree optimal
Patterns
- Know the following patterns, be able to identify or use or select the
appropriate pattern for a problem
- Adapter
- Bridge
- Facade
- Strategy
- MVC
- Command
- Proxy
- Observer
UML
- Be able to interpret or create UML diagrams for:
- Use cases
- Class diagram
- Sequence
- Activity
- State chart
Guest Lecture
Ethics
Software Project
-
There may be a question regarding your group project!