Class hours: Tuesday/Thursday 1:30 - 2:45 pm
Location: Sarkeys Energy Ctr N0202
Final Exam: Tuesday December 14, 1:30 - 3:30 pm
Location: Sarkeys Energy Ctr N0202
Dr. Christan Grant
Jonathan M. Lesslie
Note: Any email messages to the professors or teaching assistants must include
cs3113 in the subject line.
Any email without this string in the subject line will likely be filtered as junk.
The William Kerber Teaching Scholars will be available for questions and help for several CS topics.
The prerequisites for this course are CS 2413 - Data Structures and CS 2613 - Computer Organization (or ECE 3223). (If you have not taken these courses, you will need instructor permission to take 3113.) You are expected to have a working knowledge of C and C++, including a familiarity with its basic data types and control structures, and an understanding of computer organization. This course will introduce students to operating systems theory and cover the principles of systems programming.
Successfully learning operating systems means understanding both theory and system programming. This operating systems course will include activities to support both. As a computer scientist or a computer engineer, this course will be extremely beneficial, but will also be a lot of work. Students should be prepared to spend several hours a week outside of class studying and working on assignments. It is ill-advised to take this course with other programming heavy courses.
Lectures will be a mix of traditional lectures, class discussions, videos and other activities. Participation is required to get the most out of the class.
Course website is https://oudalab.github.io/cs3113fa21. We will use the Canvas learning system. This course website can be reached through canvas.ou.edu. Please check this system regularly to keep informed of all announcements, updates, and changes.
Increasingly, software is developed and executed in “the cloud”. This semester the class will make heavy use of a popular cloud infrastructure. Students will be able to deploy virtual machines with various configurations, on the fly. Credentials for using this infrastructure will be distributed after the first week of class. For questions and issues using this software, students should use the in-class discussion board. All students enrolled in class should also have a CS account and access to a Linux-based systems in the CS department. For most computer science students, an account will be automatically created. All code written for this course MUST run using the compilers or interpreters that will be specified for the assignments. It is your responsibility to ensure that your code runs on these systems. For compatibility reasons, we recommend developing and testing on a Linux-based machine.
Laptop Computers: It is the responsibility of each student in this class to have a working laptop computer with ample battery (at least 2 hours of life under moderate usage) and wireless Internet connectivity. You must bring the laptop computer to class. If your computer requires repair during the semester, it is your responsibility to make arrangements to have another computer available and to get the necessary software installed. There exist campus resources (including financial help) to repair broken computers; please see the instructors if you would like information about these programs. Note that temporarily borrowing a computer from a fellow student in the class can present a number of problems, including the potential for academic misconduct.
Newsgroups and Email: The newsgroup on Canvas should be the primary method of communication (outside of class). This allows everyone in the class to benefit from the answer to your question, and provides students with more timely answers since the TAs and instructors check Canvas at least once a day. Matters of personal interest should be directed to email instead of to the newsgroup, e.g. informing the instructors of an extended personal illness.
Incompletes: The grade of “I” is intended for the rare circumstance when a student who has been successful in a class has an unexpected event occur shortly before the end of the class. We will not consider giving a student a grade of “I” unless the following three conditions have been met:
Religious Holidays: It is the policy of the University to excuse the absences of students that result from religious observances and to provide without penalty for the rescheduling of examinations and additional required classwork that may fall on religious holidays.
Classroom Conduct: Because cell phones and laptops can distract substantially from the classroom experience, students are asked not to use either during class, except in cases in which they are required as part of a classroom exercise. Disruptions of class will also not be permitted. In the case of disruptive behavior, we may ask that you leave the classroom and may charge you with a violation of the Student Code of Responsibilities and Conduct. Examples of disruptive behavior include:
All students are expected to wash their hands, social distance, and wear a mask according to school, state, and federal guidelines. It is my goal to be extremely considerate to personal and family situation, but please alert me to any problems you may be facing as early as possible. That way we can ensure you are able to Although the course will be online, please review the OU covid policies https://www.ou.edu/coronavirus. The university has also posted a corona virus question-answer page.
A temporary university policy has been established to protect the OU community by ensuring that students who are ill or required to isolate feel encouraged to remain at home. Missing a class session or other class activity due to illness or isolation will not result in a penalty for the absence, and the student will not be asked to provide formal documentation from a healthcare provider to excuse the absence. This policy is based on all students and faculty adhering to the principles of integrity, honesty, and concern for others.
Students who are experiencing symptoms of COVID-19, including cough, fever, shortness of breath, muscle pain, headache, chills, sore throat, loss of taste or smell, congestion or runny nose, nausea or vomiting, or diarrhea or who have been in close contact with others who have symptoms should:
Sessions of this course may be recorded or live-streamed. These recordings are the intellectual property of the individual faculty member and may not be shared or reproduced without the explicit, written consent of the faculty member. In addition, privacy rights of others such as students, guest lecturers, and providers of copyrighted material displayed in the recording may be of concern. Students may not share any course recordings with individuals not enrolled in the class or upload them to any other online environment.
Feel free to discuss all assignments with the instructors or the TAs.
Quizzes, Exams, In-Class Exercises: unless otherwise stated, you may not communicate with others about solutions to these assignments.
Make sure that your computer account is properly protected. Use an appropriate password, and do not give your friends access to your account or your computer system. Do not leave printouts, computers or thumb drives around a laboratory where others might access them.
Programming projects will be checked by software designed to detect collaboration. This software is extremely effective and has withstood repeated reviews by the campus judicial processes.
|Students A and B meet and work on their assignment together. Neither student prepared anything in advance and the resulting work is identical.||Yes|
|Students A and B create drafts of their assignment independently and get together to compare answers and discuss their understanding of the material. Each person decides independently whether to make changes that are discussed.||No|
|Students A and B agree to prepare drafts of their assignments independently, but only Student A does. Student A shares her draft to Student B who reviews it and offers suggestions for improvement.||Yes|
|Students A and B agree that student A will work the even problems and Student B will work the odd problems. They share their work.||Yes|
|Students A and B agree that student A will work on a read function and Student B will work the sorting function. They share their solutions.||Yes|
|Student A has completed a project and is helping Student B complete the same project. Student A explains to Student B what student B’s code actually does, which is different than what Student B thinks the code does. Student B determines how to modify the code independently.||No|
|Student A has completed a project and is helping Student B complete the same project. Student B is having trouble getting one part of the program to work, so Student A texts Student B three lines of their solution.||Yes|
|Student A has completed a project and is helping Student B complete the same project. Student B is having difficulty getting the program to work, so student A tells student B exactly what to type for several lines.||Yes|
|Student A has completed a project and is helping student B complete the same project. Student B is having difficulty getting the program to work, so Student A suggests that Student B use a specific debugging strategy (e.g. “Print out the contents of the variable”).||No|
|Student A has completed a project and is helping Student B complete the same project. Student A shows Student B an example program in the online textbook that will be helpful in figuring out the solution to the problem.||No|
|Student A publishes solutions to an assignment on a public Internet page.||Yes|
|Students A and B work on a project together. After they have finished it, student A takes the code and modifies it so the programs do not appear to be identical.||Yes|
|Student A copy and pastes code from a public Internet page but changes the variable names.||Yes|
Points for this class will come from a variety of sources. The different components are weighted as follows:
Assignment will be assigned every one to two weeks. Assignments will range from generating custom exam questions, multiple choice quizzes, or coding assignments. Projects will be exclusivley coding assignments that will take 2-3 weeks to complete. The class will have between 3 - 5 projects. Each project will require a Read Me describing the effort.
For written student submissions should only be
.txt files, portable document format
.md. Files of type
.rtf will not be accepted. Compressed files should be of type
.tar.gz. Files of the
.rar format will notmbe accepted. Other file types, particularly coding files, may be used in the class. The expected file type will be stated. Often, files packaged under non-Unix/Linux flavored operating systems, such as Windows, have a non-negative number of compatibility issues with our grading systems. If the graders cannot open files for these reasons, the project will not receive credit.
Late policies are often at odds with the ability for students to receive feedback. I strongly encourage all students to submit assignments at the posted due date. If assignments are not completed on time, the frequent assignments will mount up and the amount of work that can be due may be in surmountable. The policy is that all assignments must be completed before they are graded. This typically means that students will have 3-7 days to complete the assignment. If as long as a student submit the assignment we will not take off extra points. However, the grading time will not be announced and we will not accept assignments after the deadline.
As required by the university, the course will have both a midterm and a comprehensive final exam on the date listed in on the class schedule
Grade cut-offs will be at or below the traditional 90, 80, 70, etc. cut-offs.
Please note that when an exam/assignment is brought with grading questions, we may examine the entire exam/assignment and your final grade may end up lower.
Canvas has a grade book that is used to store the data that are used to calculate your course grade. It is the responsibility of each student in this class to check their grades on Canvas after each assignment is returned. If an error is found, bring the graded document to any of the instructors or TAs, and we will correct Canvas.
By the end of the semester, the students will increase their:
The College of Engineering utilizes student ratings as one of the bases for evaluating the teaching effectiveness of each of its faculty members. The results of these forms are important data used in the process of awarding tenure, making promotions, and giving salary increases. In addition, the faculty uses these forms to improve their own teaching effectiveness. The original request for the use of these forms came from students, and it is students who eventually benefit most from their use. Please take this task seriously and respond as honestly and precisely as possible, both to the machine-scored items and to the open-ended questions.
The University of Oklahoma is committed to providing reasonable accommodation for all students with disabilities. Students with disabilities who require accommodations in this course are requested to speak with the professor as early in the semester as possible. Students with disabilities must be registered with the Office of Disability Services prior to receiving accommodations in this course. The Office of Disability Services is located in the University Community Center at 730 College Avenue; the phone is 405-325-3852 or TDD only is 403-325-4173.
Should you need modifications or adjustments to your course requirements because of documented pregnancy-related or childbirth-related issues, please contact one of the instructors as soon as possible to discuss. Generally, modifications will be made where medically necessary and similar in scope to accommodations based temporary disability. Please see http://www.ou.edu/eoo/faqs/pregnancy-faqs.html for commonly asked questions.
For any concerns regarding gender-based discrimination, sexual harassment, sexual misconduct, stalking, or intimate partner violence, the University offers a variety of resources, including advocates on-call 24.7, counseling services, mutual no-contact orders, scheduling adjustments and disciplinary sanctions against the perpetrator. Please contact the Sexual Misconduct Office 405-325-2215 (8-5) or the Sexual Assault Response Team 405-615-0013 (24.7) to learn more or to report an incident.
During an emergency, there are official university procedures that will maximize your safety.
If you receive an OU Alert to seek refuge or hear a tornado siren that signals severe weather
If you receive an OU Alert to shelter-in-place due to an active shooter or armed intruder situation or you hear what you perceive to be gunshots:
For more information, visit http://www.ou.edu/emergencypreparedness.html
If you receive an OU Alert that there is danger inside or near the building, or the fire alarm inside the building activates:
For OU IT support, please phone (405) 325-HELP. For help with issues pertaining to any CS department machine (in room DEH 115). There is a OU SharePoint site that you can use for reference https://sooners.sharepoint.com/sites/OUCSTutorials.
Long before the University of Oklahoma was established, the land on which the University now resides was the traditional home of the “Hasinais” Caddo Nation and “Kirikirʔi:s” Wichita & Affiliated Tribes.
We acknowledge this territory once also served as a hunting ground, trade exchange point, and migration route for the Apache, Comanche, Kiowa and Osage nations.
Today, 39 tribal nations dwell in the state of Oklahoma as a result of settler and colonial policies that were designed to assimilate Native people.
The University of Oklahoma recognizes the historical connection our university has with its indigenous community. We acknowledge, honor and respect the diverse Indigenous peoples connected to this land. We fully recognize, support and advocate for the sovereign rights of all of Oklahoma’s 39 tribal nations. This acknowledgement is aligned with our university’s core value of creating a diverse and inclusive community. It is an institutional responsibility to recognize and acknowledge the people, culture and history that make up our entire OU Community.
Dates and details in the syllabus and schedule are subject to frequent change, please check regularly. Major changes will be announced on Canvas.
This page is available online at: https://oudalab.github.io/cs3113sp20
Go back to CS3113