<commit_before>---
layout: class
title: "COMP 345: Operating Systems, Spring 2019"
catalog-desc: Topics include dynamic procedure activation, system structure, memory management, process management, and recovery procedures.
semester: s19
---

*{{ site.data.policies.syllabus_deviation_v1 }}*

* toc
{:toc}

### Logistics

* Class meetings: MTWF 9:00 AM - 9:50 AM in CSB 303
* Instructor: <NAME>
  * Office: {{ site.data.me.office }}
  * Phone: {{ site.data.me.phone }}
  * Website: <a href="{{ site.url }}">{{ site.url }}</a>
  * Email: <a href="mailto:{{ site.email }}">{{ site.email }}</a>
  * Office hours: {{ site.data.semesters[page.semester].office_hours }}
* Website: <a href="{{ site.url }}{{ page.url }}">{{ site.url }}{{ page.url }}</a>
* Credits: 1 course credit
* Prerequisites: COMP 230 with C- or better.
* Feedback: At any time during the course you can use
  [this]({{ site.data.semesters[page.semester].feedback_form }}) to provide
  anonymous suggestions, criticism, praise, etc.

### Content

#### Topics

#### Sources

#### Student Learning Outcomes

### Policies

* **Late assignments**: {{ site.data.policies.late_days_v1 }}

* **Academic dishonesty**: {{ site.data.policies.cheating_v1 }}

* **Collaboration**: {{ site.data.policies.collab_v2 }}

* **Electronic devices**: {{ site.data.policies.electronics_v1 }}

* **General expectations**: {{ site.data.policies.expectations_v1 }}

### Assessment

#### Assignments and Workload

The weekly workload for this course will vary by student and over the
semester, but on average should be about 13 hours per week. The follow
table provides a rough estimate of the distribution of this time over
different course components for a 16 week semester.

| Category                   | Amount |  Final Grade Weight | Total Time | Time/Week (Hours) |
|----------------------------+--------+---------------------+------------+-------------------|
| Lectures                   |     41 | 10% (Participation) | -          |               2.5 |
| Labs                       |     10 |               12.5% | -          |               1.5 |
| Homework                   |   8-10 |               12.5% | 48         |                 3 |
| Exam Study                 |      - |                   - | 16         |                 1 |
| Exams                      |      5 |                 40% | -          |                 - |
| Projects                   |      2 |                 25% | 48         |                 3 |
| Reading+Unstructured Study |      - |                   - |            |                 2 |
|----------------------------+--------+---------------------+------------+-------------------|
|                            |        |                     |            |                13 |

#### Grading

Your participation grade is based on a variety of activities. During
class I will often make use of the Socrative (https://socrative.com)
app, so you’ll need to install this on your phones. Participating in
Socrative questions and with in-class group activities is required for
a decent participation grade; an A includes asking questions either in
class or in office hours.

Your final grade is based on a weighted average of particular
assignment categories, with weights shown above. You can estimate your
current grade based on your scores and these weights. You may always
visit the instructor *outside of class* to discuss your current
standing.

{{ site.data.policies.gradescale_std_v1 }}

You are always welcome to challenge a grade that you feel is unfair or<commit_msg>345 content, textbook, and other updates<commit_after>---
layout: class
title: "COMP 345: Operating Systems, Spring 2019"
catalog-desc: Topics include dynamic procedure activation, system structure, memory management, process management, and recovery procedures.
semester: s19
---

*{{ site.data.policies.syllabus_deviation_v1 }}*

* toc
{:toc}

### Logistics

* Class meetings: MTWF 9:00 AM - 9:50 AM in CSB 303
* Instructor: <NAME>
  * Office: {{ site.data.me.office }}
  * Phone: {{ site.data.me.phone }}
  * Website: <a href="{{ site.url }}">{{ site.url }}</a>
  * Email: <a href="mailto:{{ site.email }}">{{ site.email }}</a>
  * Office hours: {{ site.data.semesters[page.semester].office_hours }}
* Website: <a href="{{ site.url }}{{ page.url }}">{{ site.url }}{{ page.url }}</a>
* Credits: 1 course credit
* Prerequisites: COMP 220 and COMP 230 with C- or better.
* Feedback: At any time during the course you can use
  [this]({{ site.data.semesters[page.semester].feedback_form }}) to provide
  anonymous suggestions, criticism, praise, etc.

### Content

Introduces basic operating system concepts including virtualization,
memory management, process and thread management, concurrency, file
systems, and process scheduling. Students will also gain hands-on
experience with the C programming language and Unix-based operating
systems via programming projects.

#### Topics

Possible topics include:

| Processes             | Concurrent Data Structures |
| CPU Scheduling        | Concurrency Bugs           |
| Virtual Memory        | I/O Devices                |
| Free Space Management | Redundant Disk Arrays      |
| Locks                 | File Systems               |

#### Sources

The required course textbook is:

* Arpaci-Dusseau, <NAME>., Arpaci-Dusseau, <NAME>. *Operating Systems: Three Easy Pieces*. Arpaci-Dusseau Books. 2015.

It is available online at
[http://pages.cs.wisc.edu/~remzi/OSTEP/](http://pages.cs.wisc.edu/~remzi/OSTEP/).

<!-- #### Student Learning Outcomes -->

### Policies

* **Late assignments**: {{ site.data.policies.late_days_v1 }}

* **Academic dishonesty**: {{ site.data.policies.cheating_v1 }}

* **Collaboration**: {{ site.data.policies.collab_v2 }}

* **Electronic devices**: {{ site.data.policies.electronics_v1 }}

* **General expectations**: {{ site.data.policies.expectations_v1 }}

### Assessment

#### Assignments and Workload

The weekly workload for this course will vary by student and over the
semester, but on average should be about 12 hours per week. The follow
table provides a rough estimate of the distribution of this time over
different course components for a 16 week semester.

| Category                   | Amount | Final Grade Weight  | Total Time | Time/Week (Hours) |
|----------------------------+--------+---------------------+------------+-------------------|
| Lectures                   |     55 | 10% (Participation) | -          |               3.5 |
| Projects                   |   3--5 | 45%                 | 64         |               4.5 |
| Exam Study                 |      - | -                   | 27         |               1.5 |
| Exams                      |      3 | 45%                 | -          |                 - |
| Reading+Unstructured Study |      - | -                   |            |               2.5 |
|----------------------------+--------+---------------------+------------+-------------------|
|                            |        |                     |            |                12 |

#### Grading

Your participation grade is based on a variety of activities. During
class I will often make use of the Socrative (https://socrative.com)
app, so you’ll need to install this on your phones. Participating in
Socrative questions and with in-class group activities is required for
a decent participation grade; an A includes asking questions either in
class or in office hours.

Your final grade is based on a weighted average of particular
assignment categories, with weights shown above. You can estimate your
current grade based on your scores and these weights. You may always
visit the instructor *outside of class* to discuss your current
standing.

{{ site.data.policies.gradescale_std_v1 }}

You are always welcome to challenge a grade that you feel is unfair or
{'fraction_non_alphanumeric': 0.15221825599184088, 'fraction_numerical': 0.017593064762876084, 'mean_word_length': 2.032470042520294, 'pattern_counts': {'":': 0, '<': 20, '<?xml version=': 0, '>': 20, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 27, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1270777', 'n_tokens_mistral': 2234, 'n_tokens_neox': 2045, 'n_words': 740}