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