| < Day Day Up > |
|
List at least seven skills you must master in your studies of the C++ programming language.
A development environment, computing platform, problem solving skills, how to approach a programming project, how to manage project complexity, how to put yourself in the mood to program, how to stimulate your creative abilities, object-oriented analysis and design, object- oriented programming principles...
What three development roles will you play as a student?
Analyst, Architect, Programmer
What is the purpose of the project approach strategy?
To help you maintain your development momentum
List and describe the four areas of concern addressed in the project approach strategy.
Requirements - Expected program functionality.
Problem Domain - Learn enough about the problem to be solved.
Programming language features - Learn the required C++ language features to write program.
Design - Design your solution
List and describe the five steps of the programming cycle.
Plan - Take a piece of the program design and formulate implementation
Code - Program the piece of the design you selected
Test - Ensure the piece of code you wrote works
Integrate - Fold newly tested code into the bigger program and test results
Factor - Improve the design where possible
Repeat - Goto Plan
What are the two types of complexity?
Physical and Conceptual
List several benefits to splitting even small projects into multiple files.
Helps manage physical complexity & helps separate interface from implementation
Discuss the concept of interface vs. implementation. How to you separate the interface of a class from its implementation?
Declare the class in a header file and implement the class in an implementation file.
What preprocessor directives can be used to allow multiple inclusion of header files?
#ifndef, #define, #endif
List at least three things that can be contained in header files.
class declarations, structure declarations, enum declarations, function declarations...
List three things that shouldn't be contained in header files.
variable declarations, class or function definitions, exported template definitions
Why do you think it would be helpful to write self-commenting source code?
It will make your source code easier to read and maintain.
What can you do in your source code to maximize cohesion?
Write well-named functions that have a singular purpose. Functions should not pull any surprises.
What can you do in your source code to minimize coupling?
Do not use global variables.
| < Day Day Up > |
|