PPT

advertisement
The Design and Implementation of a
First Course in Computer
Programming for Computing
Majors, Non-Majors, and Industry
Professionals within a Liberal
Education Framework
Ronald J. Harkins, Miami University
Hamilton, Ohio
1
Introduction to Computer Concepts and
Programming (CSA 163)



First course in problem solving/programming in
Visual Basic
Satisfies Liberal Education Requirement
(Mathematics, Formal Reasoning, Technology)
Enrolled students



Computing majors preparing to take OOP course in Java
Working professionals updating programming skills
Non-majors fulfilling liberal education requirement
2
Miami Plan
Liberal Education Principles




Critical Thinking
Understanding Contexts
Engaging with Other Learners
Reflecting and Acting
3
Critical Thinking Principle in CSA 163





Algorithm Development
Problem Solving/Logical Reasoning
Relevance of Input Data and Output Information
Debugging Programs
Appraisal of alternative algorithms/solutions
4
Critical Thinking Principle in CSA 163
(cont.)



Computing majors and Working Professionals seem
to exhibit different levels of critical thinking skills
than non-majors
Small groups and pair programming activities seem
to help non-majors with quantitative critical
thinking tasks
Socially relevant context in problem solving helps
focus critical thinking of non-majors
5
Understanding Context Principle
in CSA 163



Studying related computer concepts adds context to
computer programming
Working professionals and computing majors are
familiar with many computer concepts
Non-majors/liberal education students contribute to
technical topics under study by providing related
cultural/societal implications
6
Engaging With Other Learners Principle in
CSA 163




Improves confidence and self-esteem
Helps dissolve classroom hierarchies
Reduces student competition
Encourages cooperation
7
Pair Programming in CSA 163



“Driver” and “Navigator” share one computer
Roles change periodically to ensure both
experiences for each partner
Mixed constituency pairings
 Non-majors provide “user considerations”
 Majors provide technical expertise
 Professionals provide real-life rationale
8
Pair Programming in CSA 163
Benefits






Students sometimes learn more from others than from a
text…or professor!
Problem solving/programming is more socially
enjoyable and satisfying
Computing majors seem empowered
Professionals add “on the job” commentary
Non-majors seem more comfortable with peers
Team-programming extends naturally from pair
programming
9
Pair Programming in CSA 163
Challenges



Balancing work contribution between partners
Completion of pair activities outside of class
Partner dependency
10
Reflecting and Acting Principle
in CSA 163





Altering code and noting impact of modifications
Testing programs with different data sets and noting
accuracy of output information
Noting “real life” relevance of output information
Adjusting interface to improve customer (user)
friendliness
Making code ‘forgiving’ for customers (users)
11
Reflecting and Acting Principle
in CSA 163 (cont’d)



Utilize societal issues/problems to encourage
reflection/action on program output
Require written reflective commentary to
accompany program output
Consider requiring oral presentations, with
reflective review, for team programming projects
12
Reflecting and Acting Principle
in CSA 163 (cont’d)
Writing opportunities can include:
 Short answer questions on exams, assignments
 Extensive explanatory program documentation
 Short opinion/reflection paper
 Short technical research paper
 Meaningful writing experiences targeted to each
student constituency group
13
Aligning Pedagogy with Objectives for
Computing Majors, Non-Majors, and
Industry Professionals in CSA 163




Discovery learning challenges for majors
Reflective activities for non-majors
Real-life applications with tangible results/skills
for working professionals
Student constituency diversity improves the
course
14
Pedagogical Maxims for Mixed
Constituency Technology Courses








Just Do It
Mix It Up
Can I Help You?
Put It In Writing
Get Real
But Does It (Always) Work?
How’s It Going?
Be There
15
Pedagogical Maxims for Mixed
Constituency Technology Courses

Just Do IT



Online active learning
Practice, mastery, discovery learning
Mix It Up



Short, interruptive lectures
Demonstrations, lab activities, quizzes
Whole class involvement (eg. group debugging)
16
Pedagogical Maxims for Mixed
Constituency Technology Courses

Can I Help You?



Encourage peer learning
Act as a “helicopter instructor” during pair
programming activities
(Engaging with other learners principle)
Put It In Writing



Integrate writing into course activities
Incorporate reflection/action into writing directives
Connect major written paper with objectives of each
student constituency
17
Pedagogical Maxims for Mixed
Constituency Technology Courses

Get Real




Include ‘real-life’ problems for program solution
Direct applications to needs of enrolled constituencies
Use analogies for difficult programming topics
(Understanding contexts principle)
Try to include problems with societal/ethical issues
(Reflecting and acting principle)
18
Pedagogical Maxims for Mixed
Constituency Technology Courses

But Does It (Always) Work?



Require extensive testing to encourage development of
robust, reliable, algorithms
In pair programming labs, have one partner ‘break’ the
program, while the other tries to fix it (Critical thinking
principle)
Ask students to comment on relevance of output
information (Reflecting and acting principle)
19
Pedagogical Maxims for Mixed
Constituency Technology Courses

How’s It Going?





Assess frequently
Include formative evaluation
Use a variety of evaluative techniques
Focus certain evaluation methods to certain class
constituencies
Try peer evaluation (student and instructor led)
20
Pedagogical Maxims for Mixed
Constituency Technology Courses

Be There



Encourage attendance with a ‘class session event’
Try posting ‘incomplete’ lecture notes to be completed
in class
Try to incorporate active learning into every class
session
21
Conclusion
A technology-driven course, while focused on
problem solving and skill acquisition, can
nonetheless be structured to incorporate the
critical thinking, understanding contexts,
engaging with other learners, and the
reflection/action educational principles to produce
a course rich in both liberal education and
technical skill acquisition. This mix is very
appropriate for today’s students preparing for
tomorrow’s careers in an increasingly technical
and culturally diverse society.
22
Thank You…
Dr. Ronald J. Harkins
Associate Professor, Department of Computer
and Information Technology
Miami University
Hamilton, Ohio
Email: harkinrj@muohio.edu
23
Download