Skip to content

Latest commit

 

History

History
161 lines (91 loc) · 13.3 KB

Syllabus.md

File metadata and controls

161 lines (91 loc) · 13.3 KB

CSCI640 Syllabus

Prerequisite

CSCI-311, or CSCI 605 and CSCI211; and classified graduate standing.

Classified graduate standing.

Students who take this class without completing the prerequisite class will be given a failing grade.

Course Accounts

You need an account in the CSCI assignment turn-in system. See Canvas instructions for signing in and registering for https://inginious.csuchico.edu.

Enroll in CSCI 640, make sure you enroll in the correct section.

You will use this system to turn in some of your programming and lab assignments.

Textbook

If you like books and usually use your textbooks, then buy this book as it's a good reference. If you never open textbooks, then don't buy it but one of the assignments is derived from this book of materials so may be helpful.

Computer Systems: A Programmer's Perspective 3rd edition by Randal E. Bryant, David R. O'Hallaron (2015) Pearson Pub Co: ISBN-10: 013409266X

Or alternatively, the older edition.

Computer Systems: A Programmer's Perspective 2nd edition by Randal E. Bryant, David R. O'Hallaron (2010) Addison-Wesley Pub Co: ISBN-10: 0136108040

The book is optional as most of the course will focus on research and research papers; however, this book will be extremely helpful for individual projects. The book also focuses on C; this course will not be C-focused.

Attendance

Attendance of all lectures is not required, but it can help your grade and is highly recommended.

Attendance may improve your grade. For example, if your grade is a high B+ and you have attended most/all the lectures, I may raise your grade to a A-.

Missing class can make the projects and exams especially difficult. If I verbally change the requirements of a project during a lecture, you are responsible for meeting the new requirements. If you miss a class, make sure you get notes from another student.

If you regularly skip class, I will not answer questions on the material you missed.

Grading

Grades for this course will be relative. The students who do the best work will get an A, those who don't do as well get a B, and so on. I will likely not be following traditional percentage grades of 90% for an A, 80% for a B, etc., and I don't like to grade on a curve as if I applied blindly, which could result in grades actually being lowered if everyone is doing very well in the course.

I will routinely post the grading to Canvas. If you are not happy with a grade, please reach out to me right away. If you do not talk to me within a week of posting a grade, I will assume you think the grade is fair and accurate, and you will lose your right to dispute the grade.

Grade Category Percentages:

  • Required Readings 10% of the course grade
  • Paper Presentation 10% of the course grade (If these don't happen, will be folded into project grade)
  • Threading Assignment 10% of the course grade
  • Four Inquiry Projects 70% of the course grade
  • Lecture Participation (+/- 5% of course grade) A large aspect of this course's lectures will be group discussions about the research papers assigned, recommended, etc., related to current or seminal OS research. These may be submitted by me or fellow students. As such, I would like to encourage you to participate. Failing to participate will result in a detriment to your grade, and going above/beyond participation can lead to extra credit on your overall grade.
  • Lecture Attendance can improve/lower your grade (see above)

Project Grading Meetings

I will be testing your project submissions for code plagiarism, and any of you who fail these tests will be required to meet with me for detailed interviews about the assignments. If it is apparent you didn't do any of the work, I reserve the right to treat your submission as violating the Honesty Policy.

Project Grading Quiz

For any non-inquiry-based assignment, 30% of the assignment grade will come from an in-class quiz where you must answer questions about how aspects of your code work. This won't deter you from any more one-on-one grading meetings if I am concerned that you did your work.

Late Assignments:

  • Assignments turned in 1-24 hours after the due date will lose 15%
  • Assignments will NOT be accepted more than 24 hours after the due date.

Getting Help/E-mail

As this is an upper-division/graduate course, you'll likely want to use my office hours for help as there are unlikely tutors or other such resources.

We will be using Piazza for a class discussion board. You'll be invited via email; however there a link to the discussion board on Canvas well. General questions about the course, clarifications for an assignment, etc, should be asked here so that other students in the course can benefit, and I don't need to answer the same question multiple times. If you email me a question that should have been posted to the discussion board, I'll ask you to ask it on the discussion board before I answer it.

Additionally, you can email me directly with any specific questions; the distinction would help with your code or assignment that would be unique to you, and sharing with the class on the discussion board would be considered cheating. Ensure you put 'CSCI640' in the subject so it will be filtered correctly. ALL EMAIL WITH NO SUBJECT WILL NOT BE OPENED, so if you send me an email without a subject, do not expect a response, as I will not open it or respond to it.

I'll be making it a habit to respond immediately to emails received between 9 am and 5 pm, except when I'll otherwise be in a meeting, lecture, etc. Any emails outside of those times will be answered as I can or potentially the next morning at 9 am, so try to email me before 5 pm.

I will routinely communicate with the class via announcements on the Piazza board. Make sure the email you use on Piazza is one you routinely check in case of an important announcement.

If you do not sign up for the Piazza account, you will not receive the class e-mails and may miss important information about the class.

If you drop the class, you should be able to unenroll from the Piazza discussion board to stop receiving messages. Let me know if you dropped the class and still got an e-mail.

Responsibilities

Taken from Professor Tyson Henry's 211 syllabus as it's a good statement concerning responsibilities for any given course:

I am responsible for providing useful and interesting (and I hope entertaining) lectures, meaningful and challenging assignments, challenging exams, abundant help, encouragement, advice, and almost anything else I can do to help you learn the material.

Students are responsible for dedicating the time and effort necessary to learn the material. The amount of time and effort required varies drastically. Getting an A in this class may take you two hours/week. It may take you 20 hours/week to get a C. It is your responsibility to figure out how much time you need and to invest that amount of time that's appropriate for you.

You will not learn the material if you don't put in the time and effort required. If you don't learn the material, you will not be prepared for the subsequent classes, and you will probably be very disappointed with your grade. While I will feel bad that I had to assign you a bad grade, if you don't put in the time necessary for success, I will be forced to give you a low grade. The University requires that I assign grades based on your performance.

Honesty

You will get a 0 on the test or assignment the first time you cheat. The second time you cheat, you will fail the class. It is not a good idea to cheat in my class. I will be following Tyson Henry's Cheating Policy:

I expect all students to understand and follow the University's honesty policies. I will fail students who do not follow these policies, even if they don't understand them. It is your responsibility to understand these policies.

The bottom line is that you must do all the assignments on your own. Turning in code that anyone else wrote is cheating and will result in failing the course. Here are some examples of cheating:

  • copying code from another student
  • copying code from a book
  • copying code from the Internet
  • getting your friends to write your code
  • paying someone else to write your code
  • pestering other students until they give you their code
  • buying code
  • stealing code
  • letting someone steal your code (e.g. giving out your password, or using incorrect file protection)
  • giving your code to another student (both giving code and taking code are forms of cheating)
  • giving your laptop that contains your program to another student
  • getting so much help on an assignment that you are no longer doing the assignment (this can come from one helper or many helpers)
  • crowdsourcing your code
  • ChatGPT or use of other LLMs
  • the list can go on...

On the other hand, you are allowed to discuss projects and you may get help each other find bugs. Just make sure you don't get so much help that you are no longer doing the work.

Required Consultation: If I suspect that you did not do your own work (e.g. someone else wrote your programs), you are required to meet with me and discuss your program. During this meeting I will ask you simple questions about your program. If you don't know how your program works I will assume you have cheated. In the event that you refuse to meet with me I will:

  • assume you cheated
  • give you a zero
  • report you to Student Judicial Affairs.

I reserve the right to catch cheaters after the end of the semester. Just because a cheater makes it to the end of the semester without being caught does not mean he or she has gotten away with it. Since I keep assignments it is possible for me to catch cheaters after the fact. For example, assume your friend George gives you his old program and you turn it in. Next semester George might give his program to someone else and I could catch it. Now I will look through all old programs to see who else George has given his program to. One of my advantages is that I can use programs to look for all instances of an assignment over the past several years. And while I might not catch everyone, I am always amazed at the people I do catch.

Large Language Model Usage

Unless explicitly indicated, any suspected use of a LLM will result in a 0. They are not allowed for this course otherwise.

Religious Holidays

I will work with students so this class and its assignments, exams, and activities do not interfere with religious holidays. However, you must notify me ahead of time so we can make appropriate arrangements.

Americans with Disabilities Act

If you need course adaptations or accommodations because of a disability or chronic illness, or if you need to make special arrangements in case the building must be evacuated, please make an appointment with me as soon as possible, or see me during office hours. Please also contact Accessibility Resource Center (ARC) as they are the designated department responsible for approving and coordinating reasonable accommodations and services for students with disabilities. ARC will help you understand your rights and responsibilities under the Americans with Disabilities Act and provide you further assistance with requesting and arranging accommodations.

Confidentiality and Mandatory Reporting

As an instructor, one of my responsibilities is to help create a safe learning environment on our campus. I may also have a mandatory reporting responsibility related to my role. It is my goal that you feel able to share information related to your life experiences in classroom discussions, in your written work, and in our one-on-one meetings. I will seek to keep information you share private to the greatest extent possible. However, I am required to share information regarding sexual misconduct with the University. Students may speak to someone confidentially by contacting the Counseling and Wellness Center (898-6345) or Safe Place (898-3030). Information on campus reporting obligations and other Title IX related resources are available here: www.csuchico.edu/title-ix

Safe Zone Statement

I am part of the Safe Zone Ally community network of trained Chico State faculty/staff/students who are available to listen and support you in a safe and confidential manner. As a Safe Zone Ally, I can help you connect with resources on campus to address problems you may face that interfere with your academic and social success on campus as it relates to issues surrounding sexual orientation/gender identity. My goal is to help you be successful and to maintain a safe and equitable campus.

LGBTQ Equality Statement

I am firmly committed to diversity and equality in all areas of campus life, including specifically members of the LGBTQ community. In this class I will work to promote an anti-discriminatory environment where everyone feels safe and welcome. I recognize that discrimination can be direct or indirect and take place at both institutional and personal levels. I believe that such discrimination is unacceptable and I am committed to providing equality of opportunity for all by eliminating any and all discrimination, harassment, bullying, or victimization. The success of this policy relies on the support and understanding of everyone in this class. We all have a responsibility not to be offensive to each other, or to participate in, or condone harassment or discrimination of any kind.