CPSC 405 Syllabus Information
Staff,
Meetings,
Office Hours
Audience,
Notebook,
Communication,
Grading,
Labs,
Late Labs,
Teams,
Lab Days,
HW Questions,
Textbooks,
Honor Code
Class Staff
Lecturer/Teacher/Professor
Contacting Gusty
Class Meetings
- Lectures will held in James Farmer Hall, Room 025:
- Tuesday's: 8:30 to 10:30
- Thursday's: 8:30 to 10:30
- Lectures will be in person and allow you to interact with me and other students.
- Attending lectures and participating in class is the best way to learn our material.
- You are expected to attend class, and class participation is part of your grade.
You cannot participate if you miss class.
- We have dedicated Lab Days. You are expected to be in class on Lab Days.
- Often the lecture time will include time for working on problems, where I can
provide guidance.
Office Hours and Zoom
I am on campus every Tuesday and Thursday, from approximately 8 to noon.
If I am not in our classroom, I will be in my office or roaming the halls of Farmer.
If you cannot visit during regular office hours, we can arrange a meeting at a
mutually acceptable day and time.
Office: Farmer 047
Hours:
- Sunday: via prearranged appointment
- Monday: via prearranged appointment
- Tuesday: 10:20-noon
- Wednesday: via prearranged appointment
- Thursday: 10:20-noon
- Friday: via prearranged appointment
- Saturday: via prearranged appointment
Zoom:
Gusty's Meeting Room
Class Audience
- CPSC 405 is intended for UMW undergraduates who want to
learn about design and implementation of operating systems, and
their use as a foundation for systems programming.
- CPSC 405 is required for CPSC majors.
- CPSC 405 has two prerequisites: CPSC 305 and CPSC 340.
- CPSC 405 Catalog Description
Class Notebook
We will use pencil and paper as part of our learning process.
- Each student much purchase a pencil or a pen.
- Each student must purchase a notebook.
- The notebook can be a spiral notebook, a fixed binded notebook, or a loose-leaf, ring notebook.
- You cannot use a collection of loose papers. You need something to keep your notes collected.
- Each student must bring their notebook and pencil/pen to all class meetings.
- During class, you will use your notebooks for class activies, design activities, and taking notes.
- You will use your notebooks to answer lab questions.
- I will periodically examine your notebooks as part of my evaluation of your class participation
and lab work.
Class Communication
Class Grading Policy
Grades in CPSC 405 will be based on:
- Labs: (50%)
- For the most part, your grade will be what you assign yourself.
- I reserve the right to adjust your grade based upon comments/grades in your
teammates submissions, your make grade, how well you answered the lab's
questions in your notebook, and how you perform during Check-off Meetings.
- See Lab Submissions for more information.
- You must submit all labs in order to pass the class.
- Lab Check-off Meetings: (15%)
- During the lab check-off meetings I
will ask you a few questions about your lab solution.
- I plan to hold 3 or 4 lab check-off meetings per team for randomly-selected labs.
- The lab check-off meetings will be conducted during Lab Days.
- A successful Check-off meeting will result in the same score your assigned
yourself on the lab, or we could agree to a better score.
- An unsuccessful Check-off Meeting will result in a lower score than your
lab, and it could result in lowering your lab score.
- Missing a Check-off Meeting without a legitimate excuse is considered
an unsuccessful Check-off Meeting.
- Class notebook: (10%)
- Everyone is responsible for maintaining a handwritten class notebook.
- Your notebook should be of a form that supports retention of the sheets of paper.
For example, a spiral notebook or a ring binder.
- In your notebook, you will take notes, perform inclass exercises, and answer lab questions.
- I will examine your class notebook during Lab Check-off Meetings and during inclass exercises.
- Class participation: (10%)
- Our classes allow you to participate, ask questions,
and work on labs.
- I expect you to be in class.
- I will take roll.
- Homework questions are included in Class Participation
- Quizzes: (0%)
- There will be no quizzes.
- Final Exam: (15%)
- The final exam will be an oral presentation where you and
your teammates describe what you have learned in CPSC 405.
- I will provide guidance
to help you prepare your presentation.
Class Labs
- Labs are the most important component of our class.
- The labs are a learn by doing component of our course and involve significant programming.
- Labs are designed to improve your computer science skills and knowledge.
- We have two types of labs. The majority of our labs are Xv6-based Labs.
These labs are completed by adding code to Xv6, building, running, and testing
your Xv6 code.
We have a few Linux-based Labs. These labs are completed by creating standalone
C programs that run on Linux.
- See Lab Submissions for the details of submitting labs.
Labs Submitted Late Rules
- The submission deadline is 11:59:59pm on the day that the
lab is due. You can turn in as many times as you like before the
deadline.
- For Xv6-based labs, your lab score will be a combination of the value computed by make grade,
and how well you answered the lab's questions in your notebook.
- You have a total of 48 late hours for the semester. Each hour late in excess
of 48 hours will penalize your total lab grade by 1%, up to a maximum of
50%. Suppose your lab average is a 90, and you have 50 late hours. Your lab
average is reduced to 88.
- Late hours must be used before Thanksgiving.
- For predictable situations (athletic events, deadlines in
other classes, job interviews, etc.), I expect you to manage your time
so as to finish assignments by the due date; however, you can use your late hours.
If you have exhausted your late hours and encounter an emergency that causes
you to need an extension, please talk with me.
Class Lab Teams
- You will be placed in a Lab Team of 2 or 3 students.
- Teams will work together to complete labs.
- Teams will divvy the work among teammates as they see fit; however,
the division must be equal.
- Each team member must submit labs on Canvas.
Class Lab Days
- The Tuesdays before labs are due are Class Lab Days.
- You collaborate with your teammates, ask me for help, and work on the lab.
- You are expected to be in class on Class Lab Days.
- Missing a Class Lab Day results in a deduction from your grade for that lab.
The deduction is the number of missed Lab Days times 10.
For example, your second missed lab day will result in 20 points deducted.
- If you have completed your lab and submitted it on Canvas prior to Lab Day, you must check with me before not attending class because you may have a Lab Check-off Meeting.
Class Lecture Questions
- The purpose of lecture questions is to make you study and think
about the lecture topic prior to the lecture.
- For each lecture class, you must read the material and submit a quesiton on Canvas.
- Submit your lecture questions on Canvas before our class begins at 8:30.
- We can address questions during the lecture.
- You must submit at least 13 questions to get full credit.
- The lecture questions are part of your class participation grade.
Class Textbooks
CPSC 405 relies on the following books:
Class Honor Code
- All assignments are under the UMW Honor Code and the CPSC department honor code policy. Plagiarizing code in a program is an honor code violation just like plagiarizing words in a paper. Be prepared to explain any submission. Contact me if you have questions about the Honor Code and this course.
- All Canvas submissions are assumed to include the UMW honor code pledge even if you do not place it on your submission.
- Labs must be done individually or as a team of two or three.
- Teammates work together on labs and thus may help each other however they desire.
- When solving labs, code obtained from any source other than me is an honor code violation. Code is provided for most of the labs. You modify the code and/or create new code.
- Searching the Internet and using online AI (such as ChatGPT) for certain types of help is acceptable. For example, you can search the Internet or ask AI for samples of how to call fork, samples of creating and joining Pthreads, and documentation of concepts in our materials and lectures. However, (1) you cannot search the Internet or use AI for solutions to our labs that you include in your lab submissions and (2) you cannot seek code from students who previously took the course - doing so is an honor code violation.
- If you discover a code sample (a sample - not the solution) on the Internet that is useful in your lab; you must study the code sample, understand it, and then render your own version. You must attribute the source of your rendition.
- When working on our labs, you can study class material, lab descriptions, and sample codes with others - including those not on your team. You can ask anyone questions about the lab descriptions and sample code, but you cannot ask others that are not on your team to share answers to lab questions, to share design, to share code, and/or to share test cases. Ask others questions to help you learn, but you and your teammates create your own lab answers, design, code, and test cases.
- You are welcome to discuss the labs (and homeworks) with other
teams/students, but the discussion must focus on understanding the lab.
- You can ask and answer questions on Discord, about labs (for understanding), homework, readings,
and lectures.
- Do not post your lab or homework solutions on publicly accessible web
sites (such as GitHub). I would like for this rule to apply after you have completed
the class so future students are not tempted to copy solutions.
Questions or comments regarding CPSC 405? Send e-mail to Gusty at
ecooper@umw.edu.
Top //
CPSC 405 home //
Last updated 8-Aug-2024 13:30 EST