Operating Systems (Fall 2026): Difference between revisions

From Soma-notes
Created page with "'''This course outline is in development.''' ==Course Information== *'''Course Number:''' COMP 3000 *'''Term:''' Fall 2026 *'''Title:''' Operating Systems *'''Institution:''' Carleton University, School of Computer Science *'''Instructor:''' [https://people.scs.carleton.ca/~soma Anil Somayaji] (anil.somayaji at carleton.ca): by appointment (Subject to change) *'''Teaching Assistants:''' ** TAs will be announced in the first class *'''Lectures:''' Tue. and Thu. 11:35-12..."
 
No edit summary
 
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''This course outline is in development.'''
==Course Outline==


==Course Information==
[[Operating Systems (Fall 2026) Course Outline|Here]] is the course outline for COMP 3000: Operating Systems.


*'''Course Number:''' COMP 3000
==Lectures & Exams==
*'''Term:''' Fall 2026
*'''Title:''' Operating Systems
*'''Institution:''' Carleton University, School of Computer Science
*'''Instructor:''' [https://people.scs.carleton.ca/~soma Anil Somayaji] (anil.somayaji at carleton.ca): by appointment (Subject to change)
*'''Teaching Assistants:'''
** TAs will be announced in the first class
*'''Lectures:''' Tue. and Thu. 11:35-12:55 AM via Zoom
*'''Tutorials:'''
** A1: Fri. 4:05-5:25 PM <!-- in UC 180 and online -->
** A2: Mon. 4:05-5:25 PM <!-- in UC 182 and online -->
** A3: Mon. 2:35-3:55 PM <!-- in NI 4030 and online -->
*'''Course Website''': https://homeostasis.scs.carleton.ca/wiki/index.php/Operating_Systems_%28Fall_2026%29


==Course Calendar Description==
<table style="width: 100%;" border="1" cellpadding="4" cellspacing="0">
 
  <tr valign="top">
Operating system implementation course stressing fundamental issues in design and how they relate to modern computer architectures. Assignments involve the modification and extension of a multitasking operating system.
    <th>
 
    <p align="left">Date</p>
Includes: Experiential Learning Activity
    </th>
 
    <th>
Precludes additional credit for SYSC 4001.<br>
    <p align="left">Topic</p>
Prerequisites: COMP 2401 with a minimum grade of C- and COMP 2402.
    </th>
 
  </tr>
==Learning Outcomes==
    <tr>
 
      <td>
By the end of this course, students should:
      <p>Sep. 9, 10
* be able to write C code that uses low-level Linux services and should be able to implement simple Linux kernel extensions (modules),
      </p>
* have a strong conceptual model of how an operating system works that allows them to determine the relative role of application and operating system code when debugging software, and
      </td>
* understand the basic use and architecture of virtual machine-based cloud architectures.
      <td>
 
      <p>[[Operating Systems 2026F Lecture 1|Lecture 1]]
Note that in order to achieve these objectives students should have come into this course with a strong background in C programming and general application development.
      </p>
 
      </td>
==Grading==
    </tr>
 
    <tr>
The marking scheme for this course is:
      <td>
 
      <p>Sep. 15, 16
*  4% for lecture participation
      </p>
* 18% for tutorial participation
      </td>
* 18% for the assignments
      <td>
* 25% for the Midterm, Oct. 13th during class
      <p>[[Operating Systems 2026F Lecture 2|Lecture 2]]
* 35% for the Final Exam (during the final exam period)
      </p>
 
      </td>
I also calculate grades using alternative marking schemes at the end of the semester, assigning the highest grade for each student from any of the marking schemes. Thus your final grade may be higher than might be suggested by strict following of the above scheme.
    </tr>
 
    <tr>
The midterm and final will not be proctored but I will conduct selected and randomized post-exam interviews. See Collaboration, below.
      <td>
 
      <p>Sep. 17, 18
==Communication, Lectures, and Assignments==
      </p>
 
      </td>
[[Operating Systems (Fall 2022)|The course website page listed above]] is the canonical source of information on this course.  Please refer to it for updates. When significant changes are made to this document it will be either announced in lecture and/or posted in the course discussion forum.
      <td>
 
      <p>[[Operating Systems 2026F Lecture 3|Lecture 3]]
Course discussions will be on [https://teams.microsoft.com Microsoft Teams]. While you may discuss assignments there, do not post outright answers to them (unless the solutions have been posted).  You may discuss tutorials freely.
      </p>
 
      </td>
Assignment and exam submissions will be through [https://brightspace.carleton.ca Brightspace]. Grades will also be posted there.
    </tr>
 
    <tr>
All lectures will be conducted via Zoom.  Lectures will be recorded and links posted to the course wiki.  Lecture participation is based on interactions during lecture, such as questions asked and participation in online polls.  You do not need to participate in every lecture to get full marks for this; the grade is based on the quality and quantity of your interactions.  Note that grades will be calculated so that lecture participation can only improve your grade.
      <td>
      <p>Sep. 22, 23
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 4|Lecture 4]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Sep. 24, 25
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 5|Lecture 5]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Sep. 29, 30
      </p>
      </td>
      <td>
<p>[[Operating Systems 2026F Lecture 6|Lecture 6]] (NSPW)<br>(Last day to withdraw with fee adjustment: Sep. 30)
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Oct. 1, 2
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 7|Lecture 7]] (NSPW)
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Oct. 6, 7
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 8|Lecture 8]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Oct. 8, 9
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 9|Lecture 9]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Oct. 13, 14
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 10|Lecture 10]]: Midterm Review
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Oct. 15, 16
      </p>
      </td>
      <td>
      <p>Midterm (in class)
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Oct. 20, 21
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 11|Lecture 11]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Oct. 22, 23
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 12|Lecture 12]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Nov. 3, 4
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 13|Lecture 13]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Nov. 5, 6
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 14|Lecture 14]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Nov. 10, 11
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 15|Lecture 15]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Nov. 12, 13
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 16|Lecture 16]]<br>
  (Last day to withdraw Nov. 13)
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Nov. 17, 18
      </p>
      </td>
      <td>
<p>[[Operating Systems 2026F Lecture 17|Lecture 17]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Nov. 19, 20
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 18|Lecture 18]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Nov. 24, 25
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 19|Lecture 19]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Nov. 26, 27
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 20|Lecture 20]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Dec. 1, 2
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 21|Lecture 21]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Dec. 3, 4
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 22|Lecture 22]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Dec. 8, 9
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F Lecture 23|Lecture 23]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>TBA
      </p>
      </td>
      <td>
      <p>Final Exam
      </p>
      </td>
    </tr>
</table>


==Tutorials==
==Tutorials==


Tutorials are graded based on participation and effort, not correctness.  They are marked out of four points.  The expectation is that if you make a reasonable attempt at all parts of the tutorial, you will get 4/4 points.  Thus for most students tutorials are an easy way to improve your overall grade.  However, if you don't do the tutorials, you can significantly harm your grade for the course.
<table style="width: 100%;" border="1" cellpadding="4" cellspacing="0">
 
  <tr valign="top">
To get credit for tutorials, you must demonstrate to your assigned TA that you have made a reasonable attempt at the questions.  This demonstration will typically be through a brief conversation where you show your TA your work, either in person or virtually.  If this is not feasible, at your TA's discretion you may submit written answers.
    <th>
 
    <p align="left">Date Available</p>
The scheduled tutorial time is a designated time when you can work with TAs and other students together, in person, on that week's tutorial.  TAs will generally also be available online during these times as well, so if you aren't on campus you can still get help and get credit.  The Teams tutorial channel is a forum for getting help with tutorials, potentially from other students. 
    </th>
 
    <th>
Plan to take a 2-5 hours each week to do the assigned tutorial.  Tutorials, however, are accepted with no grade penalty up until the related assignment is due.  (For example, Tutorials 1 and 2 must be completed before Assignment 1 is submitted.)  Partial attempts will potentially be given partial credit; however, you may improve your tutorial mark as long as it is still being accepted.  Exceptions will be made only if there are extenuating circumstances.
    <p align="left">Tutorials</p>
 
    </th>
While you may collaborate with others and use outside resources, when asked you should indicate who helped you and and the sources you used.  When submitting written answers, collaborators and sources should be clearly listed.
  </tr>
 
    <tr>
Your work should be your own.  Please don't represent the work of others as your own, because if you do, you are subject to being reported to the Dean for plagiarism.
      <td>
 
      <p>Sep. 14
==Collaboration==
      </p>
 
      </td>
Collaboration on all work is allowed except for the midterm and final. Collaboration, however, should be clearly acknowledged.  See below for further details.
      <td>
 
      <p>[[Operating Systems 2026F: Tutorial 1|Tutorial 1]]
The midterm and final exams will be open book, open note, open Internet, because they will not be actively proctored.  Those outside resources will not be of much use, however, if you have not prepared by completing the tutorials and assignments.  Your answers should be your own and you '''are not''' allowed to collaborate during the exams.
      </p>
 
      </td>
Random and selected exams will be chosen for '''10-15 minute interviews'''.  You may also volunteer to be interviewed.  These interviews are to verify grading quality and to make sure that the work is your own.  The Dean will be contacted if during an interview it becomes clear that a student is not the sole author of any exam.
    </tr>
 
    <tr>
For assignments, while you may get help from others and even collaboratively solve technical problems, the code and answers submitted should all be your own work.  For example, you ''may not'' divide an assignment into parts, give a part to another student or anyone else to solve, and then submit that work as your own.  You have to have participated in the creation of every part of your submitted work.  An easy way to make sure this happens is never share files regarding coursework or copy and paste answers into email.  Instead, meet together (virtually) to work on an assignment and then separate to write up your solutions.
      <td>
 
      <p>Sep. 21
Similarity between submitted assignments and projects that has not been appropriately documented will be treated as plagiarism - the same as copying on a midterm or a final - and will be submitted to the Dean for disciplinary action.
      </p>
 
      </td>
==Course Notes/Multimedia==
      <td>
 
      <p>[[Operating Systems 2026F: Tutorial 2|Tutorial 2]]
Video from lectures will be available via the [[Operating Systems (Fall 2022)|lecture pages on the main course website]] within a day after lectures are delivered.  These same pages will also contain code and notes given in class.
      </p>
 
      </td>
Do not rely upon the lectures and notes to cover all material related to this class.  Mastery of the tutorial material is essential for doing well on the assignments and exams.  Textbook and other outside readings should be used as supplements to help you understand concepts covered in lecture and tutorial.
    </tr>
 
    <tr>
==Required Textbooks==
      <td>
 
      <p>Sep. 28
The course will be using the textbook [http://pages.cs.wisc.edu/~remzi/OSTEP/ Operating Systems: Three Easy Pieces].  The chapters of this textbook are available for free online; you can also buy a full epub, PDF, or paper copy if you wish.
      </p>
 
      </td>
Individual chapters will be linked with the lectures associated with them.  You should plan on reading the assigned chapters '''before''' coming to class, as the material in lectures will be easier to understand then.  The lectures are designed to supplement the textbook, not replace them.
      <td>
 
      <p>[[Operating Systems 2026F: Tutorial 3|Tutorial 3]]
This course focuses much more on reading code rather than writing code.  Thus, John Aycock's book, [http://pages.cpsc.ucalgary.ca/~aycock/reading-and-modifying-code.pdf Reading and Modifying Code], is worth reading to better understand how reading code differs from writing code.
      </p>
 
      </td>
==Course Software==
    </tr>
 
    <tr>
In this course we will be working with the [http://www.ubuntu.com/ Ubuntu] Linux distribution.  You may use other Linux distributions in the tutorials to complete the assigned work; there will be differences, however, in some aspects (such as installing software), particularly if you use a distribution not based on Ubuntu or Debian.
      <td>
 
      <p>Oct 5
==Undergraduate Academic Advisor==
      </p>
 
      </td>
The Undergraduate Advisor for the School of Computer Science is available in Room 5302C HP; or by email at scs.ug.advisor@cunet.carleton.ca.  The undergraduate advisors can assist with information about prerequisites and preclusions, course substitutions/equivalencies, understanding your academic audit and the remaining requirements for graduation. The undergraduate advisors will also refer students to appropriate resources such as the Science Student Success Centre, Learning Support Services and Writing Tutorial Services.
      <td>
 
      <p>[[Operating Systems 2026F: Tutorial 4|Tutorial 4]]
==SCS Computer Laboratory==
      </p>
 
      </td>
SCS students can access one of the designated labs for your course. The lab schedule can be found at: https://carleton.ca/scs/tech-support/computer-laboratories/. All SCS computer lab and technical support information can be found at: https://carleton.ca/scs/technical-support/. Technical support is available in room HP5161 Monday to Friday from 9:00 until 17:00 or by emailing SCS.Tech.Support@cunet.carleton.ca.
    </tr>
 
    <tr>
==University Policies & Resources==
      <td>
 
      <p>Oct. 19
For information about Carleton's academic year, including registration and withdrawal dates, see [https://calendar.carleton.ca/academicyear/ Carleton's The Academic Year].
      </p>
 
      </td>
===Pregnancy, Religious, or other Obligation===
      <td>
 
      <p>[[Operating Systems 2026F: Tutorial 5|Tutorial 5]]
For pregnancy, religious, or other equity-related obligations please contact your instructor with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details, visit [https://carleton.ca/womensstudies/resources-and-links/equity-services/ Equity Services] and [https://carleton.ca/equity/focus/discrimination-harassment/religious-spiritual-observances/ Religious/Spiritual Observances].
      </p>
 
      </td>
===Academic Accommodations for Students with Disabilities===
    </tr>
 
        <tr>
Academic Accommodations for Students with Disabilities If you have a documented disability requiring academic accommodations in this course, please contact the Paul Menton Centre for Students with Disabilities (PMC) at 613-520-6608 or pmc@carleton.ca for a formal evaluation or contact your PMC coordinator to send your instructor your Letter of Accommodation at the beginning of the term. You must also contact the PMC no later than two weeks before the first in-class scheduled test or exam requiring accommodation (if applicable). After requesting accommodation from PMC, meet with your instructor as soon as possible to ensure accommodation arrangements are made. For more details, visit the [http://carleton.ca/pmc Paul Menton Centre website].
      <td>
 
      <p>Nov. 2
===Survivors of Sexual Violence===
      </p>
 
      </td>
As a community, Carleton University is committed to maintaining a positive learning, working and living environment where sexual violence will not be tolerated, and is survivors are supported through academic accommodations as per Carleton's Sexual Violence Policy. For more information about the services available at the university and to obtain information about sexual violence and/or support, visit [https://carleton.ca/sexual-violence-support Sexual Assault Support Services].
      <td>
 
      <p>[[Operating Systems 2026F: Tutorial 6|Tutorial 6]]
===Accommodation for Student Activities===
      </p>
 
      </td>
Accommodation for Student Activities. Carleton University recognizes the substantial benefits, both to the individual student and for the university, that result from a student participating in activities beyond the classroom experience. Reasonable accommodation must be provided to students who compete or perform at the national or international level. Please contact your instructor with any requests for academic accommodation during the first two weeks of class, or as soon as possible after the need for accommodation is known to exist. For more details, see [https://carleton.ca/senate/wp-content/uploads/Accommodation-for-Student-Activities-1.pdf the policy].
    </tr>
 
    <tr>
===Student Academic Integrity Policy===
      <td>
 
      <p>Nov. 9
Student Academic Integrity Policy. Every student should be familiar with the Carleton University student academic integrity policy. A student found in violation of academic integrity standards may be awarded penalties which range from a reprimand to receiving a grade of F in the course or even being expelled from the program or University. Examples of punishable offences include: plagiarism and unauthorized co-operation or collaboration. Information on this policy may be found [https://carleton.ca/registrar/academic-integrity/ here].
      </p>
 
      </td>
====Plagiarism====
      <td>
 
      <p>[[Operating Systems 2026F: Tutorial 7|Tutorial 7]]
As defined by Senate, "plagiarism is presenting, whether intentional or not, the ideas, expression of ideas or work of others as one's own". Such reported offences will be reviewed by the office of the Dean of Science.  Standard pentaly guidelines can be found [https://science.carleton.ca/academic-integrity/ here].
      </p>
 
      </td>
====Unauthorized Co-operation or Collaboration====
    </tr>
 
    <tr>
Senate policy states that "to ensure fairness and equity in assessment of term work, students shall not co-operate or collaborate in the completion of an academic assignment, in whole or in part, when the instructor has indicated that the assignment is to be completed on an individual basis".
    <tr>
 
      <td>
Please see above for the specific collaboration policy for this course.
      <p>Nov. 16
 
      </p>
===Special Information===
      </td>
 
      <td>
It is important to remember that COVID is still present in Ottawa.  The situation can change at any time and the risks of new variants and outbreaks are very real.  There are number of actions you can take to lower your risk and the risk you pose to those around you including being vaccinated, wearing a mask, staying home when you’re sick, washing your hands and maintaining proper respiratory and cough etiquette.
      <p>[[Operating Systems 2026F: Tutorial 8|Tutorial 8]]
 
      </p>
'''Feeling sick?''' Remaining vigilant and not attending work or school when sick or with symptoms is critically important.  If you feel ill or exhibit COVID-19 symptoms do not come to class or campus.  If you feel ill or exhibit symptoms while on campus or in class, please leave campus immediately.  In all situations, you must follow Carleton’s symptom reporting protocols.
      </td>
    </tr>
'''Masks:''' Carleton has paused the COVID-19 Mask policy, but continues to strongly recommend masking when indoors, particularly if physical distancing cannot be maintained.  It may become necessary to quickly reinstate the mask requirement if pandemic circumstances were to change.
    <tr>
 
      <td>
'''Vaccines:''' While proof of vaccination is no longer required as of May 1 to attend campus or in-person activity, it may become necessary for the University to bring back proof of vaccination requirements on short notice if the situation and public health advice changes.  Students are strongly encouraged to get a full course of vaccination, including booster doses as soon as they are eligible, and submit their booster dose information in cuScreen as soon as possible.  Please note that Carleton cannot guarantee that it will be able to offer virtual or hybrid learning options for those who are unable to attend the campus. 
      <p>Nov. 23
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2026F: Tutorial 9|Tutorial 9]]
      </p>
      </td>
    </tr>
</table>


All members of the Carleton community are required to follow requirements and guidelines regarding health and safety which may change from time to time.  For the most recent information about Carleton’s COVID-19 website and review the Frequently Asked Questions (FAQs).  Should you have additional questions after reviewing, please contact covidinfo@carleton.ca.
==Assignments==


'''Doctor’s note or medical certificate:''' in effect for Fall 2022 term. In place of a doctor’s note or medical certificate, students are advised to complete the self-declaration form available on the Registrar’s Office website to request academic accommodation for missed course work including exams and assignments. Students should also discuss with the course instructor the required accommodations arising from the COVID-19 situation.
<table style="width: 100%;" border="1" cellpadding="4" cellspacing="0">
  <tr valign="top">
    <th>
    <p align="left">Due Date</p>
    </th>
    <th>
    <p align="left">Assignments</p>
    </th>
  </tr>
    <tr>
      <td>
      <p>Sep. 28
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2022F: Assignment 1|Assignment 1]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Oct. 13, 14:30
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2022F: Assignment 2|Assignment 2]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Nov. 16
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2022F: Assignment 3|Assignment 3]]
      </p>
      </td>
    </tr>
    <tr>
      <td>
      <p>Dec. 7
      </p>
      </td>
      <td>
      <p>[[Operating Systems 2022F: Assignment 4|Assignment 4]]
      </p>
      </td>
    </tr>
</table>

Latest revision as of 23:37, 24 August 2026

Course Outline

Here is the course outline for COMP 3000: Operating Systems.

Lectures & Exams

Date

Topic

Sep. 9, 10

Lecture 1

Sep. 15, 16

Lecture 2

Sep. 17, 18

Lecture 3

Sep. 22, 23

Lecture 4

Sep. 24, 25

Lecture 5

Sep. 29, 30

Lecture 6 (NSPW)
(Last day to withdraw with fee adjustment: Sep. 30)

Oct. 1, 2

Lecture 7 (NSPW)

Oct. 6, 7

Lecture 8

Oct. 8, 9

Lecture 9

Oct. 13, 14

Lecture 10: Midterm Review

Oct. 15, 16

Midterm (in class)

Oct. 20, 21

Lecture 11

Oct. 22, 23

Lecture 12

Nov. 3, 4

Lecture 13

Nov. 5, 6

Lecture 14

Nov. 10, 11

Lecture 15

Nov. 12, 13

Lecture 16
(Last day to withdraw Nov. 13)

Nov. 17, 18

Lecture 17

Nov. 19, 20

Lecture 18

Nov. 24, 25

Lecture 19

Nov. 26, 27

Lecture 20

Dec. 1, 2

Lecture 21

Dec. 3, 4

Lecture 22

Dec. 8, 9

Lecture 23

TBA

Final Exam

Tutorials

Date Available

Tutorials

Sep. 14

Tutorial 1

Sep. 21

Tutorial 2

Sep. 28

Tutorial 3

Oct 5

Tutorial 4

Oct. 19

Tutorial 5

Nov. 2

Tutorial 6

Nov. 9

Tutorial 7

Nov. 16

Tutorial 8

Nov. 23

Tutorial 9

Assignments

Due Date

Assignments

Sep. 28

Assignment 1

Oct. 13, 14:30

Assignment 2

Nov. 16

Assignment 3

Dec. 7

Assignment 4