Introduction to Problem Solving Spring 2008

advertisement

Introduction to

Problem Solving

Alexey Onufriev

Departments of Computer Science and

Physics

Virginia Tech

Copyright © 2007-2011

The key premise:

• Problem solving is not an innate ability (you either have it or you don’t). It’s a skill that can be learned.

Goals of This Course

• Make you a better problem solver in general

– Understand how you operate

– Recognize limitations and pitfalls

– Learn general techniques that you can apply to solve problems

– Learn how to form successful teams and function within a team.

• Improve your ability to successfully complete the CS degree

• Learning a specific skill (such programming) is

NOT the goal

CS2104 is for you if at least some of these apply:

• You want to occupy upper levels of professional hierarchy

• You want to go to graduate school

• You want to be able to find a high-end job even in adverse conditions

• You want to learn how to function within a team

• You want to work for highly creative companies such as Google

CS2104 is NOT for you if you:

• want to be a low end, specialized programmer (perhaps a very good one at that).

• just want to learn specific sets of skills.

• are certain you are not going to grad. school

• are sure there will always be a job waiting for you in a specific area.

• Can’t stand it when class does not strictly follow a textbook.

• Hate any whiff of open-endedness in problems (every detail must be specified)

Salaries in the outsourcing world

Why bother?

Why bother?

http://cjres.oxfordjournals.org/content/early/2012/09/15/cjres.rss012.abstract

What Motivated This Course?

We designed this course in hopes of:

• Improving students ’ ability to design

• Improving students ’ ability to develop algorithms

• Improving students ’ ability to plan (projects)

• Improving students ’ performance on tests

• Improving students ’ analytical abilities

• Improving students ’ ability to “ argue ” (proving)

• Improving students ’ ability with personal interactions

Guiding Philosphy

1. Problem solving is a skill (it can be learned). It is not an innate ability.

2. Problem solving is fundamentally about attitude and effort (the “ problem-solving stance ” ).

3. The problem-solving stance isn ’ t something that you can just “ turn on ” when you need it for a test, etc. You have to live it – and successful people do just that.

Course Organization/Process

• Learn about yourself

• Learn problem-solving techniques

• Solve a wide variety of problems, so as to learn how to apply the specific heuristics

(techniques. E.g. “ simplify ” )

• Understand errors typically made by poor problem solvers. Learn to avoid.

• Learn how to work as part of a team

What Kinds of Problems?

• Problems “ in the small ” : Puzzles, word problems, math problems (simple math), algorithmic problems (will very require basic programming skills, but focus is NOT on programming)

– Heuristics

• Problems “ in the large ” : “ Real life ” problems

– A whole “ pipe-line ” . Requires a task force of 4-5 people working in sync. 1-2 in-class projects + 1 homework larger project that uses what we have learned.

• Interpersonal problems

– Take a “ problem-solving ” stance

– Team work

Know Yourself

• Whimbey Analytical Skills Inventory (WASI)

• Myers-Briggs Personality Type (Homework

Assignment 1) http://www.humanmetrics.com/cgi-win/JTypes1.htm

http://similarminds.com/jung.html

(It is good to do a couple of different MB tests, results vary somewhat. Then, read the descriptions.)

• Soloman & Felder Index of Learning Styles

• Thomas-Kilmann Conflict Mode Instrument

The day-to-day:

Course website: http://courses.cs.vt.edu/cs2104/Spring12Onufriev/

Grades:

• Final ~ 150 points

• Project ~ 150

• Homeworks ~ 200

• Quizzes ~ 150

• In-class ~ 50-100

• “Activity”

• Extra Credit

Grades

year: 09 ‘10 total score grade # of people

>90 A 2 9

85-90 A6 5

<50 F 2 0

60-65 C 2 2

65-70 C+ 3 1

80-85 B+ 8 7

75-80 B 7 8

70-75 B7 2 your total score = 100*(your actual total)/(your max possible without items dropped as discussed in class).

NO CURVES or any other funny business.

An interview

• Google/Microsoft real interview questions

Download