All Projects → racuna1 → ser334-public

racuna1 / ser334-public

Licence: other
This repository contains public source files for use in SER334 (Operating Systems & Networks) at Arizona State University.

Programming Languages

c
50402 projects - #5 most used programming language
Makefile
30231 projects
C++
36643 projects - #6 most used programming language
shell
77523 projects
python
139335 projects - #7 most used programming language
CMake
9771 projects
PHP
23972 projects - #3 most used programming language

Projects that are alternatives of or similar to ser334-public

sre
📚 Index for my study topics
Stars: ✭ 47 (+67.86%)
Mutual labels:  software-engineering, operating-systems
Design-Patterns
Software Design Patterns
Stars: ✭ 83 (+196.43%)
Mutual labels:  software-engineering
hamilton
A scalable general purpose micro-framework for defining dataflows. You can use it to create dataframes, numpy matrices, python objects, ML models, etc.
Stars: ✭ 612 (+2085.71%)
Mutual labels:  software-engineering
plur
PLUR (Programming-Language Understanding and Repair) is a collection of source code datasets suitable for graph-based machine learning. We provide scripts for downloading, processing, and loading the datasets. This is done by offering a unified API and data structures for all datasets.
Stars: ✭ 67 (+139.29%)
Mutual labels:  software-engineering
cs-sakaryauniversity
Sakarya Üniversitesi'nde okuduğum süre boyunca karşıma çıkan tüm ödevler, ders notları ve çıkmış sınav soruları (All the assignments, lecture notes and exams)
Stars: ✭ 133 (+375%)
Mutual labels:  software-engineering
arja
Multi-Objective GP for Automated Repair of Java
Stars: ✭ 31 (+10.71%)
Mutual labels:  software-engineering
Magic-Calculator
android app for fun
Stars: ✭ 31 (+10.71%)
Mutual labels:  magic
mtgsqlive
MTGJSON build scripts to generate alternative data formats
Stars: ✭ 40 (+42.86%)
Mutual labels:  magic
grmpy
Python package for the simulation and estimation of generalized Roy model
Stars: ✭ 14 (-50%)
Mutual labels:  software-engineering
Magic-Spoiler
Tools for generating Cockatrice-compatible cards.xmls for unreleased magic cards
Stars: ✭ 13 (-53.57%)
Mutual labels:  magic
ideas4
An Additional 100 Ideas for Computing https://samsquire.github.io/ideas4/
Stars: ✭ 26 (-7.14%)
Mutual labels:  software-engineering
googlemock-example
An example of using Google Mock inspired by Martin Fowler's "Mocks Aren't Stubs".
Stars: ✭ 23 (-17.86%)
Mutual labels:  software-engineering
devlog
Command-line tool for tracking your day-to-day software development work
Stars: ✭ 16 (-42.86%)
Mutual labels:  software-engineering
SSDUT-learning-materials
这些是我本科四年的专业课学习资料,分享给大家,也欢迎大家把里面没有的传进去,一定不要造轮子啊。😀
Stars: ✭ 27 (-3.57%)
Mutual labels:  operating-systems
UWaterloo-Links-SE
A list of links which I've found useful during my time at UWaterloo studying Software Engineering
Stars: ✭ 75 (+167.86%)
Mutual labels:  software-engineering
code-examples
Code examples from the https://sttp.site book
Stars: ✭ 19 (-32.14%)
Mutual labels:  software-engineering
engineering-management
A list of resources about Software Engineering Management
Stars: ✭ 31 (+10.71%)
Mutual labels:  software-engineering
random-dose-of-knowledge
Using the latest Software Engineering practices to create a modern and simple app.
Stars: ✭ 26 (-7.14%)
Mutual labels:  software-engineering
mesan-react-native-authentication-app
A React Native app with authentication including Register, Login, Username, Forgot Password and Update Profile using React Hooks and React Context API.
Stars: ✭ 35 (+25%)
Mutual labels:  software-engineering
systems
Resources for learning systems programming.
Stars: ✭ 42 (+50%)
Mutual labels:  operating-systems

Introduction

This repository contains public files for use in SER334 (Operating Systems & Networks) taught by Lecturer Ruben Acuña at Arizona State University. This repository stores practice exams and sample problems used in the course.

The content associated with the most recent offering of the course can be downloaded from the "release" tab. Note that if you are currently taking the course, the files provided to you on course website, or on the master branch, will be more up to date than last official release.

Units

This course is divided into sections of material called units. Each of these units focuses on a topic in operating systems. A typical course offering includes 12 units of material (named: Unit 1, ..., Unit 12).

Note that the specific units covered may vary between semesters. All existing units are made available on this repository regardless of whether they are used in the current offering. See the table below. Units which are marked with "opt" in the internal ID are optional in the current offering of the course.

Each unit has an internal ID (e.g., unit1, opt_module_spp3), a title, and a reference source. The internal ID is used as a unique identifier for a unit in the file name. (This ID may or may not match the specific unit number used in a course offering.) The title is the name used for the unit of content. The reference indicates the primary book or website source for the content.

Internal ID Title Reference
unit1 C Programming I N/A
unit2 C Programming II N/A
module_cp3 C Programming III N/A
unit4 Operating-System Structures OSC: Chapter 2 (Operating-System Structures)
unit5 Processes OSC: Chapter 3 (Processes)
unit6 Threads OSC: Chapter 4 (Threads)
unit7 Process Synchronization I OSC: Chapter 5 (Process Synchronization)
unit8 Process Synchronization II OSC: Chapter 5 (Process Synchronization)
unit9 CPU Scheduling OSC: Chapter 6 (CPU Scheduling)
unit10 Main Memory OSC: Chapter 8 (Main Memory)
unit11 Virtual Memory OSC: Chapter 9 (Virtual Memory)
unit12 Mass-Storage Structure OSC: Chapter 10 (Mass-Storage), TSC: Chapter 2 (TCP Sockets)
opt_module_osc7 Deadlocks OSC: Chapter 7 (Deadlocks)
opt_module_spp3 Parallel Programming SPP: Chapter 3 (Patterns)

Abbreviations:

  • OSC: Operating System Concepts by Silberschatz, Galvin, and Gagne.
  • SSP: Structured Parallel Programming by McCool, Robison, and Reinders. [available online from ASU Library]
  • TSC: TCP/IP Sockets in C by Donahoo, and Calvert. [available online from ASU Library]

Practice Exams

(These files are optional and intended for advanced students. During courses, these practice exams are provided as prints and/or PDFs.)

This repository contains sample exams for SER334. Each practice exam contains problems which match the units on exams that will be conducted. These practice exams are half length, meaning they contain approximate half the number of questions of a real exam. Problems are similar in scope and difficulty to what appears on real exams but will not be "the same questions with different numbers". The questions should be to gauge how well you perform on the type of questions that may appear, and on the topics that the exam(s) will cover.

These practice exams are provided without answers. You are encouraged to speak with the instructor or teaching assistants about the questions when enrolled in the class.

Sample Problems

(These files are optional and intended for advanced students. During courses, these problems are provided as prints and/or PDFs.)

This repository contains the sample problem sets used in SER334, which is taught using a problem-centric approach. These problem sets cover many different topics in Operating Systems (Units 3 to 12), as well as C programming (Units 1 to 2). Answers are provided for all questions. They are intended to enable a more active approach to learning, where students may attempt the problems and then check their answers, rather than seeing material passively.

As preparation to full (graded) exercise sets, students should attempt these sample problems and self-assess their answers based on the provided solutions. Each problem set indicates specific questions which are required. These questions touch on critical concepts and will appear on exercises/homework/exams. Although some problems are not required, that does NOT mean you are not required to be able to solve them. If you are taking the course, you should have the ability to work every problem given.

These questions are publicly available for several reasons:

  1. To enable students to report issues with the prompts or answers.
  2. To enable the continuous improvement of sample problems throughout the semester.
  3. To enable students and support staff access to material before it is used in class.

Many of the questions are aligned with the material in Operating-System Concepts by Silberschatz, Galvin, and Gagne. Students taking a similar course at another university may find these worked problems useful.

Dependencies

  • LyX 2.3.x or greater must be installed.
  • (optional) yEd 3.17 or greater must be installed.

The sample questions are provided in LyX. LyX is a WYSIWYG editor which wraps Latex, a programming language typically used to typeset mathematical texts.

Most of the diagrams are provided in graphml format. Since LyX does not natively support graphml files, we convert them to PNG. We suggest using yEd to view and edit the graphml files, and then exporting them to PNG before building the complete PDF with LyX. Since the images are already provided as PNGs, yEd is only needed for those wanting to edit diagrams.

Viewing

In order to view the problems, you will need to install LyX on your system, and compile the LyX file(s) to a PDF.

Every LyX file contains two LyX branches: "blank", and "soln". By default, the "blank" branch is selected. This will cause Lyx to build the output PDF with blank spaces for you to fill in your answers. Deactivating the blank branch and activating the soln one will produce a PDF with the answers.

Building

A build script (build.py) is also provided. Running this file will automatically produce PDFs for the practice exams and sample problems (both blank and solution) in the build subdirectory. Note that LyX must be available in the system PATH.

Reporting Issues

If you find an error in a question answer, please use the issue tracker to report it.

Issues should be named with the following pattern: "Unit [N]: Sample Problems: Q[#] [problem]", where N is the unit number, # is the question number, and [problem] is the general issue category (e.g., correction, clarification, etc.) Use the issue text field to describe the specific problem.

Note that issues are not the place to ask for additional explanation of an answer, instead you should contact the instructional staff for your course. Answers are intended to be concise and similar to what would be given as a written answer in class.

Contributing

Users of this material are welcome to fork the repository and make upstream pull requests. See the issue tracker for available work. Please note that making a pull request will be taken as permission to use your contribution under our license.

If you are interested in making a more substantial contribution, such as writing original problems, you should apply for a SER334 UGTA position.

Authors

  • Ruben Acuna
  • Tanner Lisonbee
  • Natallia Karaliova
  • Alireza Bahremand
  • Jonathan Bush
  • Marcinina Alvaran
  • Vatricia Edgar
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].