Title: The Design and Implementation of a First Course in Computer Programming for Computing Majors, Non-Majors, and Industry Professionals within a Liberal Education Framework
1The 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
2Introduction 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
3Miami Plan Liberal Education Principles
- Critical Thinking
- Understanding Contexts
- Engaging with Other Learners
- Reflecting and Acting
4Critical 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
5Critical 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
6Understanding 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
7Engaging With Other Learners Principle in CSA 163
- Improves confidence and self-esteem
- Helps dissolve classroom hierarchies
- Reduces student competition
- Encourages cooperation
8Pair 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
9Pair Programming in CSA 163Benefits
- Students sometimes learn more from others than
from a textor 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
10Pair Programming in CSA 163Challenges
- Balancing work contribution between partners
- Completion of pair activities outside of class
- Partner dependency
11Reflecting 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)
12Reflecting and Acting Principle in CSA 163
(contd)
- 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
13Reflecting and Acting Principle in CSA 163
(contd)
- 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
14Aligning 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
15Pedagogical 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?
- Hows It Going?
- Be There
16Pedagogical 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)
17Pedagogical 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
18Pedagogical 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)
19Pedagogical 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)
20Pedagogical Maxims for Mixed Constituency
Technology Courses
- Hows 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)
21Pedagogical 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
22Conclusion
- 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 todays students preparing
for tomorrows careers in an increasingly
technical and culturally diverse society.
23Thank You
-
- Dr. Ronald J. Harkins
- Associate Professor, Department of Computer and
Information Technology - Miami University
- Hamilton, Ohio
- Email harkinrj_at_muohio.edu