Higher education is expanding online curricular offerings in response to the need for easier course access and more remote-teaching options. This transition includes courses that incorporate computational thinking, data analytics, and software modeling. Many of the strategies and tools that improve teaching and learning computation in the classroom can be adapted to teaching online whether in remote or in-person settings.
The materials below are for faculty new to teaching computation online, as well as experienced educators looking for new strategies.
Strategies for Teaching Online
- Provide ample opportunities for questions and feedback
- Provide one-on-one support during office hours or synchronous class time, emulating 'over-the-shoulder' in-person support.
- Encourage peer teaching and assistance through group projects and discussion boards.
- Hold frequent meetings to stimulate progress on work and prevent coding paralysis.
- Related essay: Teaching debugging and confidence to those new to programming by Alice Bradley, Williams College
- Encourage student discussion
- Use discussion boards or text-based chat functions to encourage peer-to-peer communication. These informal spaces allow students to ask for help, voice frustrations and share successes and relevant resources.
- For multiple sections of a course or multiple courses using MATLAB, create a combined discussion forum where students can mix and exchange ideas.
- Related essay: Surviving the Desert Island of Learning Computation Online by Tess Weathers, Chabot College
- Emphasize group work and collaborative projects
- Utilize online small groups and related technology to emulate in-person group sessions. This strategy utilizes cooperative learning and encourages problem solving, reciprocal teaching, and discussion.
- Be deliberate about the makeup of each group and explicit about the goals and expected outputs of group work.
- Related essay: Building Effective Groups for Online Computation by John Mathewson, Pasadena City College
- Consider flipping your classroom
- Use video lectures to teach the core course topics -- or deliver all of the lectures -- asynchronously (during out-of-class time).
- Shift the focus of synchronous class time to collaborative work, problem solving, and feedback.
- Analyze and debug code as a group via a shared screen, enabling some students to share their mastery and others to work towards it.
- Related essay: Improving the Effectiveness of an Introductory Programming Course for Engineering Students by Amy Biegalski, University of Tennessee
- Make learning 'hands-on' and applicable when possible: use projects and physical or simulated devices to increase experiential learning
- Incorporate MATLAB models (simulations) and visualizations.
- Use realistic examples and emphasize real-world applications. Let students choose topics tied to personal interests and local contexts.
- Give students opportunities to manipulate data and systems so they can observe behaviors firsthand.
- Incorporate hardware, such as sensors, smart phones, robots, and remote instrumentation.
- Use projects to get students to learn from doing rather than reading or passively listening to others speaking.
- Related essay: Virtual Electric Power Labs using MATLAB/Simulink/Simscape by Douglas Jussaume, University of Tulsa
Assessing student learning and content mastery is a critical element to any course, and is especially important for measuring student competency in computation. Online assessment also poses unique challenges for faculty and students. The following strategies for assessing students in online environments.
- Use small, frequent, low-stakes assessments
- Break large assignments into sections or small assignments to reduce the potential for paralysis and assessment anxiety.
- Increase assessment frequency to provide ample opportunity for questions and feedback.
- Use polling tools for low-stakes formative assessment and feedback.
- Use context-rich and realistic questions to keep students engaged
- Use real-world applications in assessments.
- Encourage students to use online resources and to cite their sources.
- Create small-group and 1-on-1 contact when possible
- Interaction via meeting software (e.g., Zoom) enables faculty and students to see each other, including verbal and visual cues.
- Use Breakout rooms for small group meetings.
- Consider equity and accessibility when designing assessments
- Access to stable internet, quiet spaces, and other factors can impact a student's ability to complete synchronous, timed, and video-on examinations.
- Make use of alternative assessments like group projects or strategies such as mastery grading to help make assessments more accessible and equitable.
- Mitigate the risk of cheating
- Allow students to iterate or re-do their work based on feedback, reducing the desire to cheat or plagiarize, also reducing anxiety.
- Utilize short answer questions, which are harder to copy than multiple choice questions
- Use dynamic assessments where students receive different questions or variables within questions.
- Communicate and reiterate expectations about academic integrity.
- Use tools that help to detect plagiarism.
Tools for Teaching Online
Many of the strategies for teaching online described above can be implemented, enhanced, or improved upon through the use of online software available to educators and students.
- Tools for group discussions: There are many tools for facilitating online discussions between students, and each comes with unique functionalities and nuances. Your institution's learning management system (LMS) may come with an embedded discussion tool. Examples include:
- Tools for real-time assessment: Polling technology can enable instructors to conduct real-time formative assessment and provide students with low stakes opportunities to practice and get feedback. Examples include:
- MATLAB Live Editor and Live Scripts: The MATLAB Live Editor provides a self-contained environment for writing and creating Live Scripts, which combine code with formatted text, visualizations, and equations. Live Scripts are powerful tools for interactive and engaging online teaching.
- Live Scripts enable the use of one screen for learning by displaying the code and result simultaneously.
- Live Scripts allow instructors to make on-the-fly adjustments so that students can see how the code and outputs interact.
- Students can take notes within the Live Script rather than in a separate static document.
- Live Scripts can be thought of and used as computational essays or computable documents.
- See the MATLAB Live Script Gallery for examples.
- MATLAB Grader: MATLAB Grader is an online system for automatically grading MATLAB code. Instructors can create problems, lessons, reference solutions, and templates for student assessment. MATLAB Grader provides immediate feedback and automated grading of student work. Workshop participants had these ideas and reflections about MATLAB Grader:
- Assessments of any size and scope can be implemented in MATLAB Grader: small formative assessments, quizzes, assignments, exams, etc.
- The utility of MATLAB Grader increases as class size scales up.
- Migrating assessments and assignments into MATLAB Grader can by a heavy lift initially but is useful in the long run.
- MATLAB Online and MATLAB Drive: With MATLAB Online and MATLAB Drive, students and instructors can use MATLAB and related cloud-based files through a web browser.
- MATLAB Online improves student ease of access to MATLAB. Students can work along with instructor using MATLAB Online.
- Use MATLAB Drive for homework submission and to enable sharing between instructors and students.
- Learning management systems with embedded tools: Many online learning management systems (LMS) have embedded tools, including grading systems and discussion boards. For instance:
- Community-contributed code repositories: Encourage students to search open-source code-sharing resources for code examples. Likewise, instructors can use these resources to find scripts, functions, and apps to use in their teaching.
Resources for Teaching Online
- Blog Post - Keep Teaching through Distance Learning by Loren Shure, MathWorks
- Webinar - Distance Learning with Cloud-based Tools from MathWorks
- Webinar - Teaching with MATLAB in the Modern Classroom