Tom Kelliher, CS 319
Oct. 5, 1998
- Project management
- Cognitive fundamentals, implications.
- Project staffing.
- Group working.
Work on project. Status reports on Friday.
Human memory organization:
- Small, fast short-term memory: registers-like, input from senses,
information processing. Capacity is about seven ``quanta.''
- Larger working memory: RAM-like, slower access, longer retention.
Processing memory, not long-term storage.
- Long-term memory: slow, large capacity, permanent, imperfect
Quanta and chunking:
- Consider a complicated concept, like bubble sort:
- We store the algorithm in a language-independent form in long-term
- We struggle with it until we make the semantic connections.
- Syntactic knowledge:
- Acquired by memorization.
- Examples: default parameter passing mechanism, operator for
- Retained in unprocessed form. (Easy to forget?)
- Semantic knowledge:
- Acquired by experience, active learning.
- Examples: control abstractions.
- Retained in an organized, representation independent fashion.
Motivation models for professionals:
Everyone's a combination, but one dominates.
- Task-oriented: motivated by intellectual challenge.
- Self-oriented: motivated by personal success and recognition.
- Interaction-oriented: motivated by presence and actions of others.
- To working memory through short-term memory.
- Integrate with existing knowledge in long-term memory. Previous
experience important here.
- Build semantic model.
- Convert to syntactic model (implement). Fewest problems if
programming language constructs match semantic model constructs.
- Implications for top-down, bottom-up design styles?
- Ensure engineers are qualified.
- Demonstrate organization is dedicated to personal development.
- Differing approaches for experienced, novice programmers.
Staff selection factors:
- Application domain experience.
- Platform experience.
- Programming language experience.
- Educational background.
- Communication ability.
What happened to all the experienced engineers? They became managers.
Percentages spent in various types of activities:
- Working alone: 30%.
- Interaction with others: 50%.
- Non-productive: 20%.
- Complementary personalities key.
- Keep everyone aware of the big picture, so no one goes astray.
- The leader might not be the technical leader. Motivational skills
- Imposition of outside leader.
- Group cohesiveness:
- Advantages: group quality standards, work closely, get to know
other's work, egoless programming.
- Disadvantages: irrational resistance to leadership change, group
Chief programmer (surgical) teams:
- Chief programmer.
- Backup programmer. Validation.
- Librarian. Clerical work.
- Supporting cast:
- OS, language, etc. specialists.
- Technical author.
- Test specialist.
28.3, 7, 9.
Thomas P. Kelliher
Mon Oct 5 11:11:12 EDT 1998