150 likes | 258 Views
Becoming an Expert. CPTE 228 Introduction John Beckett. What Brings Success?. Make the computer do the hard work. Laziness Impatience Hubris -- Larry Wall, the Chief Characteristics of a Programmer Attention to detail -- Rick Halterman , Is Computing in your future?
E N D
Becoming an Expert CPTE 228 Introduction John Beckett
What Brings Success? Make the computer do the hard work • Laziness • Impatience • Hubris -- Larry Wall, the Chief Characteristics of a Programmer • Attention to detail -- Rick Halterman, Is Computing in your future? • Self-correcting procedures -- John Beckett There has to be a better way I can make this work Could this be wrong?
Power User • Not: • A person who knows how to configure their PC for maximum video game performance • A person who knows how to spend money on all the latest toys • But: • A person who is perceived as knowing best how to get the job done
“Best” • Comprehensible to the user • Saves time/money (efficient) • More effective in what it accomplishes • Try to solve the problem, and the problems that will result from that “solution” • Robust • Survives changes in the task • Survives changes in the technical environment
Skills of an Expert – 1 • Understand the problem/need • Know the business • Listen to the user • Research what others are doing • Matching solution to problem • A purely technical “solution” can actually make a problem worse • A good solution takes into account the available technology, user capabilities, and the task • Key concept: enabling the user
Skills of an Expert – 2 • Willingness to learn the tools • Read documentation • Empirical research • Inferring underlying structures • Scripting • Critical thinking • Useful Google arguments & source evaluation • Identifying “flex” in the solution
Skills of an Expert – 3 • Optimism • Attitude is catching • We have many resources available to us • Skepticism • Can we prove this didn’t fail? • “The countess” – self-auditing results • What sort of failures are possible or likely? • What would happen if…
“Best Practices” • Business term for how others get things done • Not a drop-in solution • Different internal environment • Different external environment • Different requirements • Fertile source of ideas • Get you out of your rut • Challenge you to learn new things • May include tools that are useful or can be adapted • Important info: How others may react to new technology • “Let’s see how we can map this into the needs here.”
Fluency The ability to transform binary data into useful information • Know where data is kept • Know data formats and sources • Know likely transformation methods • Understand timing issues
Perspective • What people know • What people need • The individual who has asked for help • “I need X to work in the Y program” • The IT group • “We need a consistent technology platform” • The organization • “We need efficiency, effectiveness, and flexibility”
Key Technology: Scripting • Your customer is likely to be very good at using an application program like Excel • Scripting is how you connect pre-written application programs into systems • A programmer writes entire applications This class is about connecting programs so that they serve your business. That’s scripting!
Scripting Environments • Application suites • Microsoft Visual Studio • Microsoft Office: Visual Basic for Applications • OpenOffice.Org: Basic, Python, Java, BeanShell and JavaScript • Flash: ActionScript • Operating systems • Linux/Unix: BASH, PERL, PHP, Python, etc. • Windows: .BAT, .VBS, Powershell, etc.
Key Technology: IDE • Convenient way to develop programs • Debugging: Provides breakpoints • For Example: VbsEdit • Nags if you don’t pay, but works anyhow • Not necessary, but makes things much nicer • Microsoft has developed Visual Studio into a scripting IDE
In This Class We’ll • Write scripts using VBS • Write macros using VBA • Configure Office • Connect databases to Office applications • Consider the many ways applications can be connected together • Study deployment issues
Dev. Environment Programming Skill Good for… • VSTO Technology Platform