17
Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa [email protected] Some students want to explore computer science but not commit to the intense introductory major course. Some students lack intellectual skills to succeed (in 1st attempt) in regularly-paced programming course. Let's discuss ideas for

Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa [email protected] Some students want to explore computer

Embed Size (px)

Citation preview

Page 1: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

Computer Science Made Easy?

J. Philip East

Computer Science Department

University of Northern Iowa

[email protected]

Some students want to explore computer science but not commit to the intense introductory major course. Some students lack intellectual skills to succeed (in 1st attempt) in regularly-paced programming course. Let's discuss ideas for accomplishing both these goals in a single course.

Page 2: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

Course Goals

• Computer Science Made Easy

• Student difficulty in CS-I

• Recruitment/diversity

• Explore/examine skills needed for programming

• (Am hoping to get feedback and suggestions from you)

Page 3: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

Exploring C.S. & Programming

• One credit college course (6-9 week high school course?)

• Course rationale/purpose– Provide exploration of computer science– Provide computer use skills– Be low stress– Develop pre-programming skills– Available to explorers and CS-I dropouts

Page 4: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

The Exploration Part

• Introductory discussion– Define CS (solving problems via software development)– Discuss kinds of jobs to be had– Characterize programming (your favorite

characterization?)

• Independent student exploration– Students explore jobs, topics in CS– Sharing/discussing explorations

Page 5: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

Low Stress

• Pass/Fail rather than graded

• Grading scheme:– Scores: missing=0, fair=1, ok=2, good=3, excellent=4– Must average "ok" to pass

• Showing up and participating will be important

• No exams (except possibly a pre-programming skills test that will

be used to assess instruction, not students)

Page 6: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

Two Planning Approaches

• Thinking in terms of programming tasks

• Thinking about the independent skills

• Obviously, some overlap

• Goal of understanding learning & teaching implies focus on independent skills

Page 7: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

Programming-like Tasks

• Directions (following & giving)

• Abstraction (names/definitions; using syntax charts and FSAs--interpreting, defining, debugging; indirection)

• Sequencing instructions (including various control structures)

• Troubleshooting/debugging/diagnosing

• Problem representation

• Problem subtasking

Page 8: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

Independent/Basic Skills

• Following directions (various contexts)

• Being planful (includes most tasks on previous slide)

– Problem representation (identify outcome(s), known data/resources, required/necessary tasks/interactions)

– Problem subtasking (problem subdivision with representation)

– Solution testing/debugging (requires observation, comparison with expectation, identifying problem, fixing)

• Solution implementation--concretizing

• Patterning is an underlying mechanism

Page 9: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

Following Directions

• Subskills– Careful listening/reading– Interpreting– Seeking clarification

• Practice with feedback/self-assessment

• Lots of contexts

Page 10: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

Being Planful:Problem Representation

• Varied contexts

• Individual and group exercises may be used• Student success is measured by their personal

formulation of the problem/scenario (outcome(s), known data/resources, required/necessary tasks/interactions)

• Self-assessment and discussion of formulations

Page 11: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

Being Planful:Subtasking/Actual Planning

• Build from prior tasks/contexts/problems

• Formalized/explicit planning versus real-time implementation under observation

• Require some formalization of plans (collection of

subproblem representations) • Sequencing introduced here (problem selection important)

• Discussion and self-assessment RE plans

Page 12: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

Implementation/Concretizing

• Next step (but not part of "planful" skills)

• Will follow from (some) planned problem solutions

• Two possible approaches– Repeatedly implement and test a solution– Implement several solutions and, later, test them all

Page 13: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

Being Planful:Testing/Debugging

• Will build on student or instructor supplied solutions

• Involves: stating expectations, observing results, comparing the two, identifying problems, fixing the problems, and comparing with expectations, …

• Comments RE process?

Page 14: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

(Oh, Yeah) Indirection

• I like this too much to leave it out

• Probably should be included anyway

• Arrays, indexes, pointers, abstracted comments (from real life and from other notations)

Page 15: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

Testing these Skills

• Requires– New contexts– Multiple items per skill– Careful selection of tasks to isolate skills– Relatively easy checking?

• ?

Page 16: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

Plans for the Course

• Schedule (≈1 week each)

– Intro & CS exploration

– Following directions

– Problem representation

– Subtasking

– Implementing & testing

– Indirection/programming

– Review/test/?

• Assignments– Task homeworks

– Exploration report

• Suggestions?

Page 17: Computer Science Made Easy? J. Philip East Computer Science Department University of Northern Iowa east@cs.uni.edu Some students want to explore computer

Bibliography

• Course descriptions

• Theory

• Predicting programming skill

• www.cns.uni.edu/~east/scholarship/necc/cs_made_easy