Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/glesica/missing-course

The Missing Course (based on MIT's The Missing Semester)
https://github.com/glesica/missing-course

education

Last synced: about 2 months ago
JSON representation

The Missing Course (based on MIT's The Missing Semester)

Awesome Lists containing this project

README

        

# The Missing Course

A [University of Montana](https://umt.edu) course covering helpful software
development tools and techniques based on [The Missing
Semester](https://missing.csail.mit.edu).

## Shortcuts

* [Assignments](assignments/)
* [Lecture videos](videos/)
* [Office hours](office-hours.html)
* [Topics](topics/)

## Schedule

The [topics/](topics/) directory contains the materials we will cover. It is
organized into topics and each topic will generally take about a week. Keep in
mind, however, that many topics will build on one another. This means that you
really don't want to fall behind. If you miss a week, be sure to catch up.

## Instruction

Lectures will be delivered electronically due to the COVID-19 pandemic. See
Moodle for the Zoom link.

[Office hours](office-hours.html) will be held virtually in an on-demand
fashion. Please use [Calendly](https://calendly.com/glesica) to schedule an
office hours appointment.

If you need help with an assignment, it is generally a good idea to include
whatever code or data you are working with when you email me. You can do this
using the `tar` command.

To create a zip file that includes all the files in a particular directory, use
the following (in this case, the directory you want to zip is called "the_dir"):

```
tar czf the_dir.tgz the_dir
```

After you've done this, you can attach `the_dir.tgz` to an email.

Assuming no technology issues, lectures will be recorded and posted on the
course web site and / or Moodle.

### Lecture Videos

Lecture videos are available on YouTube, the list is on the [videos/](videos/)
page.

## Assignments

[Student Guestbook](assignments/guestbook.html)

Students will submit each assignment by creating a "pull request" (PR) against
this GitHub repository. Don't worry, we'll learn what that means before anything
is due. This pattern will simulate a standard software development workflow.
You can think of it as one big, semester-long group project.

Due dates are going to be a pretty relaxed affair. You'll lose a point for every
day something is late. The idea here is just to keep the whole class from
turning in every assignment on the last day of the semester.

Assignments can be found in the [assignments/](assignments/) directory.

## Reading

There isn't a textbook, but there are a couple books that students might find
informative. These are listed below. This list will likely be updated as the
semester progresses.

- [Classic Shell Scripting](https://www.oreilly.com/library/view/classic-shell-scripting/0596005954/)
- [A Philosophy of Software Design](https://www.goodreads.com/book/show/39996759-a-philosophy-of-software-design)

## Prerequisites

### Linux on Windows

It is possible to install a Linux distribution under Windows 10 using WSL
(Windows Subsystem for Linux). This will be required for some of the topics we
study during this course. See the link below for instructions.

-

## Grading

Assignments will be evaluated automatically or by the instructor and grades will
be posted on the course's Moodle page for confidentiality.

## Disabilities

If you have a documented disability and would like to discuss an affordance,
please let me know as soon as possible.

## Instructor

[George Lesica](https://lesica.com) is a Senior Software Scientist in the
[Wheeler Lab](https://wheelerlab.org) at the University of Montana and a
freelance software development and technology consultant.

- Email:
- Microsoft Teams: George Lesica