CS 3113 Fall 21

Logo

This is the web page for Operation Systems at the University of Oklahoma.

View the Project on GitHub oudalab/cs3113fa22

CS 3113 Fall 2022

Introduction To Operating Systems

Assignment 0

Due 2022/09/09 end of day

For this assignment you will implement the solution to a simple programming problem. This assignment is designed to give you an easy introduction to C as you prepare for larger projects in the semester. This project has four main tasks. After this assignment, it is our expectation that you will know how to complete each task.

Task 1

Create a Google Cloud VM with the latest version of Ubuntu (22.04+). Follow the cloud-config directions to guide you through the process.

Task 2

Create a private Github repository called cs3113fa22-assignment0. It is important that this repository remains private to avoid any inadvertent academic dishonesty violations. For this assignment, you can use the files in this template repository to start off template repo. You will need to add cegme, jasdehart, and farabee738 as collaborators; you can do this in on the GitHub website for your code going to Settings > Manage Access.

Task 3

Create a Makefile that can properly run the targets make all and make clean. The command make all should compile your a0.c program to create an executable called a0. The command make clean should remove any executables (a0) generated after running make all.

Task 4

Write a program in C with the main method in a0.c that reads in integers from stdin until a non-integer or end of file character (EOF) is reached. For lines that have a number that is a multiple of 3, print Boomer! to stdout, for lines with a number that is a multiple of 5, print Sooner! stdout, and for numbers that are multiples of 3 and 5, print Boomer Sooner! to stdout. For all other numbers, just print the number. The program will exit when a non-integer is entered or end-of-file is reached. Be sure to comment your code.

In addtion to the C file, you need to create a README.md file. It should contain

Note the last point is important for avoiding academic dishonesty violations.

The .md format is a markdown text format. Here is GitHub’s version of the markdown format.

Below is example input and example output. You will need to create your own examples to test your code.

Example Input

1
2
3
4
5
7
9
11
15

Example Output

1
2
Boomer!
4
Sooner!
7
Boomer!
11
Boomer Sooner!

Submission

You will submit a link to your GitHub repository to Gradescope.

When you have submitted, you can use the command line and GitHub to tag your submitted version as 1.0

git tag v1.0
git push origin v1.0

If you make changes after submitting, you can change the version tag to make sure we grade your most up-to-date version.

When you submit your code on Gradescope it will use the Makefile to clean and compile your code. We will then use a test file similar to the tests.bats file found in the template to test your code.

Point distribution

Item Weight
Grade scope submission 25%
Readme.md with all components 60%
Private repository 15%
Total 100%

BACK