Technology expectations for Grinnell online remote CS education

Note: We mention a wide variety of software in this statement. Don’t worry if you don’t know about something. Your instructor will discuss that software in the first few days of class.

The advent of online remote learning at Grinnell requires us to revisit and reconsider our curriculum, our learning outcomes, and our pedagogies. This document represents efforts by Grinnell’s Department of Computer Science to consider and attempt to address some of these issues.

The Department is firmly committed to principles of equity. We realize that not all students have equal or equitable access to technology, that some students will necessarily have competing demands on their time, that some will be working in very different time zones, and that a host of other issues can come into play for online learning.

At the same time, the Department is committed to providing its students with an excellent educational experience, one that may be different from our traditional experience, but is still comparable in terms of interactivity, individualized attention, and learning outcomes. In addition, because of College policies, we are required to ensure that each four-credit course represents approximately 180 hours of work for the average student, which translates to twenty-four hours per week of in-class and out-of-class work.

We know from our own experiences, from student surveys, and from national studies that, in most cases, synchronous classes are an important component for community building and often provide better learning outcomes. With the compressed time frame of seven-week terms, synchronous classes seem particularly important for providing the richest educational experience in these unprecedented times. Hence, most of our classes will be held synchronously, with required attendance. To succeed in our classes, students must have Internet connections that permit them to participate in synchronous classes. We will not require that students share video of them selves, but they should generally be prepared to receive a video or shared screen. If an instructor has chosen to offer synchronous courses and to require attendance, students must abide by those policies.

Participation in most CS courses naturally requires more than just receiving information; students must also be able to participate in small-group and large-group activities. We rely on such activities not only because we know they provide better educational outcomes, but also because we consider the skill of working with others an essential learning outcome of our program. To succeed in our classes, students must have Internet connections that allow them to participate in these group activities, particularly in pair programming exercises. In general, that requires the ability to participate in an audio conversation (e.g., via Microsoft Teams) while also screen sharing (e.g., via FastX or Microsoft Teams).

In most computer science classes, we build computational artifacts, particularly computer programs. We realize that not all computers are able to run the compilers, integrated development environments, and other software necessary for this work. Hence, we have long done our best to identify other ways to run the software for our classes, with FastX or ssh connections to MathLAN workstations serving as our traditional mechanisms. To succeed in most classes, students will likely need to be able to connect to MathLAN with FastX or to run software on their own computers. (Don’t worry if you don’t know what FastX or MathLAN are! We’ll talk about them if necessary.)

To summarize: For most CS courses, students must have the technological capacity to

  • Receive audio and video from the instructor (or other class member) via Blackboard Collaborate Ultra, Microsoft Teams, and Webex.
  • Participate in audio and screen sharing sessions, using the aforementioned platforms or others.
  • Run software appropriate for the course.

While we will do our best to adapt to different circumstances, our time is limited, particularly in the context of seven-week terms. For students who do not currently have appropriate technology, we have been told that the College is providing students with that technology. (If you’ve found that that’s not the case, please let us know and we’ll see what we can do to help. Note, also, that there’s a form for requests) Hence, we expect that students who enroll in our courses will be able to meet the technological and meeting-time requirements of those courses. Students who cannot arrange meet those requirements should be prepared to delay the courses until they are able to take the courses in person or can make the appropriate arrangements for time and technology. If a student must drop a course now because they cannot fulfill these requirements, we will do our best to prioritize them in future semesters.

In a few cases in which it is essential that students take a course now, we might be able to make adjustments; contact your instructor for details. We are much more likely to be able to make adjustments in upper-division courses than in introductory courses. We will, of course, accommodate students with disabilities.

Update: We will, of course, make special exemptions for students affected by recent natural disasters.

Instructors will provide students with an opportunity to check on software requirements during the first few days of class.

Current plans for individual courses in Fall 1

CSC 151: CSC 151 will be offered synchronously, with required attendance. CSC 151 relies on pair programming. We traditionally use the DrRacket Integrated Development Environment in our classes. The best approach we have determined for that course is to use FastX screen sharing along with Teams audio chat. FastX screen sharing uses less bandwidth than other screen-sharing applications.

CSC 161: CSC 161 will be offered synchronously, with required attendance. CSC 161 also relies on pair programming. For class sessions, we will use Microsoft Teams. For pair programming, we plan to use Repl.it. For homework assignments, we encourage students to work on their own computers or to connect to MathLAN. They may also use Repl.it. This plan may be adjusted for Fall Term 2 and for Spring.

CSC207: CSC207 will be offered synchronously, with required attendance. Students will use the Eclipse IDE for CSC 207. We strongly encourage students to use Eclipse in MathLAN, connecting via FastX. That ensures that they use the appropriate Java compiler and provides a consistent development environment. For individual work, students may use Eclipse on their own machines. Class sessions will be offered through Blackboard Collaborate with Microsoft Teams as an occasional supplement. During class, students will be working in MathLAN through FastX.

CSC/MAT 208: CSC 208 will be offered synchronously, with required attendance. Students will need to be able to use DrRacket, which they can access via FastX on MathLAN or install on most personal computers. Students must also be able to use the Coq interactive theorem prover, which is installed in MathLAN and is can be installed on most personal computers. Students will also need to be able to use LaTeX, which they will primarily access with the Overleaf online service.

CSC 211: CSC 211 will be offered synchronously, with required attendance. Students will use Java-based programs for circuit and microprocessor simulation; to facilitate screen sharing during collaborative lab-exercises, these will be run on MathLAN with remote connection via FastX.

CSC 262: CSC 262 will be offered synchronously, with required attendance. Students will utilize the MATLAB programming environment for collaborative lab work. This commercial software is available and licensed for classroom use on MathLAN, with remote connection (and screen sharing) via FastX.

CSC 301: CSC 301 will be offered synchronously, with required attendance. Students will generally be able to use the development environment that they find best, either on their personal computers, on MathLAN using FastX or ssh, or using Cloud-based solutions that they identify for themselves. Students may also need to be able to use LaTeX, which they can access through MathLAN or using the Overleaf online service. Students may also be able to install LaTeX on their personal computers.

CSC 324 and CSC 326: CSC 324 and 326 will be offered synchronously, with required attendance. In addition to the general expectations mentioned earlier, students will need to be able to:

  • Use an appropriate Ruby on Rails development environment (Amazon’s Cloud 9 IDE, Ruby on Rails and SQLite3) on their own computer, or access MathLAN to do program development);
  • Participate in approximately 10 required synchronous class meetings (using Webex) in which they are able to at least hear audio, but preferably access audio and video (we will, of course, make exceptions for students with hearing- or speaking-related accommodations);
  • Participate in text-based discussions using PioneerWeb/Blackboard;
  • Participate in daily, synchronous, online team meetings (choice of platform by team consensus); and
  • Contribute to creating team video presentations.

CSC 341: While this class will include synchronous sessions on Blackboard, students may choose to participate in this class asynchronously. Students will need to be able to use LaTeX, which they can access through MathLAN or using the Overleaf online service. Students may also be able to install LaTeX on their personal computers.

CSC 395: CSC 395 will be offered synchronously, with required attendance. This class will use the Julia programming language. Students may use whichever platform they consider appropriate for Julia, including MathLAN, their personal computers, or Web-based Jupyter notebooks. Students will also need to be able to use LaTeX, which they can access through MathLAN or using the Overleaf online service. Students may also be able to install LaTeX on their personal computers.