Friday, March 13, 2020

[DMANET] Teaching “Algorithms” courses during COVID-19 outbreak

Dear Colleague,

As many universities switch to online classes to reduce the spread of
COVID-19, some faculty are faced with the challenge of moving their offline
classes into the online space. To facilitate this transition, we wanted to
let you know about our online "Data Structure and Algorithms" course that
we decided to make freely available to all instructors. If you are
interested, we would be pleased to create an online private version of the
course that can be used as an online flipped class at your university. If
you are not teaching "Algorithms" this Spring, may we ask you to forward
this Email to colleagues who teach relevant classes?

The course is currently offered as the Data Structures & Algorithms
Specialization on Coursera
<https://www.coursera.org/specializations/data-structures-algorithms>. This
series of six Massive Online Open Courses (MOOCs) was co-developed by
Daniel Kane (UCSD), Alexander Kulikov (SPbU), Michael Levin (HSE), Pavel
Pevzner (UCSD), and Neil Rhodes (UCSD). It enrolled over 400,000 students
since 2016, placing it among 10 most popular computer science MOOCs on
Coursera
<https://cse.ucsd.edu/index.php/about/news/cse-boasts-mooc-milestone> (out
of 500+). The specialization covers most materials studied in undergraduate
Algorithms classes and extends coverage to many graduate topics. Many
sections in this specialization closely follow the Algorithms textbook by
Dasgupta, Papadimitriou, and Vazirani.

Development of an automated grading system for algorithmic programming
challenges was the largest effort in our MOOCs. This system greatly saves
instructor's and TA's time and allows them to focus on interactions with
students. Access to a private version of our specialization will allow you
to use all the materials of the course to enroll students, to download a
gradebook, etc. Below please find information about these materials.


-

Video lectures from Coursera Specialization
<https://www.coursera.org/specializations/data-structures-algorithms>
and and MicroMasters Program at edX
<https://www.edx.org/micromasters/ucsandiegox-algorithms-and-data-structures>.
Videos are accompanied with multiple-choice quizzes that help learners to
self-check their understanding.
-

Lecture slides (available on request).
-

MoocBook "Learning Algorithms Through Programming and Puzzle Solving
<http://learningalgorithms.tilda.ws/>" by Alexander Kulikov and Pavel
Pevzner.
-

Automatically tested algorithmic programming challenges that help students
to practice writing efficient, reliable, and compact code. Since all 100
challenges are automatically graded, your TAs can focus on interaction with
students rather than grading. Every programming challenge can be solved in
ten programming languages.
-

Algorithmic puzzles <http://dm.compsciclub.ru/app/list> that students
can solve on mobile phones during your class. These 60 puzzles help
students to "invent" some key algorithmic ideas on their own.
-

Starter files for all programming challenges in C++, Java, and Python.
-

Extensive FAQs (every programming challenge has a separate forum thread
at the forum).
-

Capstone real-life projects: algorithms for finding shortest paths in
road networks and assembling genomes. Ironically, the genome assembly
capstone covers the European E.coli outbreak in 2011.
-

Complementary online Discrete Mathematics specialization
<https://www.coursera.org/specializations/discrete-mathematics> on
Coursera that may be useful for refreshing the prerequisites for the
Algorithms course.


All the best with teaching your classes in Spring 2020!

Alexander Kulikov, Michael Levin, Pavel Pevzner, and Neil Rhodes

**********************************************************
*
* Contributions to be spread via DMANET are submitted to
*
* DMANET@zpr.uni-koeln.de
*
* Replies to a message carried on DMANET should NOT be
* addressed to DMANET but to the original sender. The
* original sender, however, is invited to prepare an
* update of the replies received and to communicate it
* via DMANET.
*
* DISCRETE MATHEMATICS AND ALGORITHMS NETWORK (DMANET)
* http://www.zaik.uni-koeln.de/AFS/publications/dmanet/
*
**********************************************************