170 likes | 183 Views
Explore how CoCalc, a cloud-based platform, improved coding and collaboration in a statistics course. Discover the benefits, implementation strategies, and student feedback in this comprehensive case study.
E N D
Collaborative Calculation (CoCalc) in the Classroom By Michelle Isenhour Military Assistant Professor Naval Postgraduate School, Monterey, CA mlisenho@nps.edu
Agenda • What is CoCalc? • Background on Course and Students • How I used CoCalc • Why CoCalc? • Designing and Implementing a CoCalc-based Lesson/Course • Student Handouts • In-class Practical Exercises • Computational-based Assignments • Overall Assessment • Conclusion • Extra: Student Feedback
What is CoCalc? • Web-based cloud computing platform (http://cocalc.com) • Created by William Stein, a professor of mathematics at the University of Washington • Formerly SageMathCloud • Offers free accounts (as well as paid accounts) • Ideal for implementing coding for only a small segment of a course • A must-have for those looking to create a computationally-based mathematics course
Background on Course and Students • Statistics and Modeling course: • Probability and Probability Distributions • Basic Data Analysis and Descriptive Statistics • Confidence Intervals and Hypothesis Testing • Linear and Logistic Regression • Monte Carlo, Discrete Event Simulation, and Queuing Theory • 18 Students: • Graduate-level • Computer Science or Cyber Operations curriculum • Introduction to Programming course • No Experience with CoCalc or Jupyter Notebooks
How I used CoCalc • Supplement to Learning Management System (Sakai) • 25 Hosting and Internet Upgrades - One Year Basic Small Course • Lesson Materials (handouts): • Python Jupyter Notebooks • Adobe Acrobat Files • HTML Slides and Content • Individual Assignments • In-Class Practical Exercises • Collaborative Chat with Project Groups • Synchronous/Asynchronous Project Assistance
Why CoCalc? • CoCalc eliminates the need to install software on individual student computers: • Web-based Platform independent • Common software environment • No software-setup or updates required • Easy distribution of lesson materials: • Single repository • No need to .zip files and distribute • Easy to help students: • Jump directly into their code (from anywhere) • Integrated chat function
Design and Implementation Instructor Creates Student Handouts *1 upgrade for Instructor Course folder
Design and Implementation Instructor Distributes Handouts to Student Project Folders* *1 upgrade per Student Project folder
Design and Implementation Instructor Creates a Course-wide Shared Project* for In-Class Instruction Jupyter Notebook Excellent for Demos Students Can Edit *1 upgrade for Shared Project folder
Design and Implementation Students Collaborates Together for In-Class Exercises Common View Real-Time Editing
Design and Implementation Instructor Creates, Assigns, Collects, and Grades Individual Student Assignments
Design and Implementation Students Create Group Projects Shared CoCalc Project Free Trial Server Allows Collaboration Not Easy to Grade Mixed Student Reviews
Overall Assessment • Streamlined introduction to the programming environment. • Simplified the process of updating and distributing code to students. • Made demonstrating code in the classroom very efficient and effective. • Eliminated need for instructor and/or students to transfer files. • Allowed instructor to help students with code, synchronously or asynchronously, from any location. • Distribution/Collection of assignments works well for individual assignments, but not for group assignments. • Unpaid server performance may be too slow or unreliable, depending on application. • Slight learning curve – did not know which features of CoCalc would be important to the students (i.e., the use of TimeTravel and Activity Log for version control). • Excellent response to all requests for support from CoCalc.com (including a free trial period).
Conclusion • The use of CoCalc enhanced the student’s statistical abilities, improved their confidence in reading and writing code, and exposed the student to cloud-based computing resources that are always available.
Student Feedback - Positives • “CoCalc is a great idea for this course. Its reduces the time required to get everyone up to speed and ensures that you don't have to worry about differences between machines (Linux, Windows, Mac).” • “CoCalc is a great tool. It kept me from having to download a myriad of programs on my machine.” • “CoCalc is a great tool since the O&M is done by the company running the website instead of the user.” • “The way the content is in the lesson folders (Juypter notebook, .py files) provided on CoCalc was pretty helpful. ” • “In regards to CoCalc, I think the platform was great for lab work. Having the ability to code in a collaborative, cloud-based, environment made group work much easier (especially from home).”
Student Feedback - Positives • “CoCalcstreamlined receiving and running code for each daily lesson while also coming with all the important packages installed and configured automatically. I also appreciated the ability to work from my laptop while at school and continue that work on my desktop at home without transferring files/setting up another Python environment…Overall I prefer CoCalc simply because it essentially works out of the box.” • “With CoCalcI could share my project with you and you could view it when and where you had time.” • “The ability to work on the same code file together, is incredibly useful. We don't have to set up a github and pull or push code, and CoCalc implements code revision with the file history. We all know we're working on the same file so no one is working on out of date code, we don't have to communicate which libraries we need installed or which python versions we're running, it's all on CoCalc and it's all the same. In the long run I was very happy to have a tool like CoCalc and will continue to use it in the future.”
Student Feedback - Negatives • “The biggest drawback is the unpaid server issue when creating lab groups. I didn't experience any issues with CoCalc until it came time to work on labs where we created the groups and a lot of memory was used. Going forward, each team's work should be on the same server as our individual/shared work.” • “The paid vs trial server issue proved problematic in many instances during lab projects often times, locking code in place and/or preventing the removal or removing files that were not wanted or were needed.” • “One of the criticisms I have with regards to CoCalc is that its difficult to implement version control because multiple people can work on the same file simultaneously.” • “There are several learning curves that must be overcome to fully utilize the power that CoCalc provides.” • “I feel like a large portion of this class was learning CoCalc and coding Python in CoCalc, or learning how to overcome obstacles that CoCalc presents (i.e. running out of memory, slow bandwidth, etc.). I much prefer the Anaconda interface and using Jupyter Notebook or Spyder within it. ” • “I found CoCalc to not be very useful and would have preferred to solely use Jupyter Notebook/Anaconda/Spyder for the coding.” • “While I loved CoCalc's potential to allow us to all work on the same code, a very unfortunate side effect is the constant scrolling that occurs.”