csci n100 principles of computing basic problem-solving

22

Upload: lindsay-doyle

Post on 19-Jan-2016

225 views

Category:

Documents


0 download

TRANSCRIPT

CSCI N100 CSCI N100

Principles of ComputingBasic Problem-Solving

Course GoalsCourse Goals

• Overcome fear of computers• Wide range of applications• Strong programming skills

What’s different about What’s different about computers?computers?

• You know lots of machines• Computers seem different• They seem to change• Each program makes the

computer act differently

Traditional teaching schemeTraditional teaching scheme

• One machine, one task• New machine• New class• Machines don’t change that

frequently

Learning about computingLearning about computing

• Computer does so many things• Same thing happens many

different ways• Programs change all the time

How do you work a computer?How do you work a computer?

• The buttons and mouse are easy

• It’s actually the PROGRAMS you have to learn

• One machine has many tasks

The training trapThe training trap

• New class for every task• New class for each software• New class for each version

Education in computingEducation in computing

• Learn basic concepts• Get solid background• Practice solving problems

Good computer usersGood computer users

• Little fear• Background knowledge• Problem-solving strategy

Definition of computerDefinition of computer

• Universal• Information• Manipulator

UniversalUniversal

• Works with all kinds of information

• Does all kinds of stuff to it• Very few limitations

InformationInformation

• Seems to be able to work with anything

• Actually very limited• Tiny pieces of data combined

into complex information

ManipulatorManipulator

• Seem able to do anything with data

• Actually very limited• Simple commands combined

into complex instructions

CSCI N100 CSCI N100

Principles of ComputingBasic Problem-Solving

Problem-SolvingProblem-Solving

• Use when you’re stuck• Plan for complicated problems• Backup when things go wrong

STAIRSTAIR

• S - State the problem• T- Tools• A - Algorithm• I - Implementation• R - Refinement

State the ProblemState the Problem

• Use English• No technical words!• Make it clean and precise• Be complete• Usually the hardest step

ToolsTools

• Identify some tools• Could be programs commands

things, ideas• Be imaginative!• List all potential tools

AlgorithmAlgorithm

• Computer word for plan/strategy

• Re-state problem in terms of tools

• List of steps• You should know how to do

each step

ImplementationImplementation

• Just do it!• Translate algorithm into action • Should be easiest step

RefinementRefinement

• It never goes right the first time

• Look back over previous steps• Fix problems and try again