CIS 607: The Unix, C, and C++ Grad Students Should Know
Syllabus
Learning Outcomes
Students should experience practical software design and programming activities in a C/C++ and Unix environment, with emphasis on the details of C/C++ and good programming style and practices.
Projects
There will be 4 projects, and each project will contain multiple sub-parts.
In total, you will perform about 18 assignments this quarter.
- Project 1: Learning Unix
- Project 2: C/C++ primer
- Project 3: Large System + Object Oriented Programming
- Project 4: Debugging and Profiling
IMPORTANT: all of the prompts come from a previous term. Ignore the due dates in those prompts and go by the website.
Grading
Students can earn up to 100 points:
- Weekly attendance in lecture: 45 points (5 points per lecture, maximum of 45, even if attending all 10 weeks)
- Students effectively can miss one lecture for free. This is intended for attending conferences, illness, family emergencies, etc. If students need to miss more than one lecture for such reasons, they should contact the instructor.
- Completing "3H," the final project (up to 55 points)
- less than 30% of 3H tests passing: 0 points
- between 30% and 69% of 3H tests passing: 20 points
- between 70% and 99% of 3H tests passing: 35 points
- 100% of 3H tests passing: 45 points
- Project 4B passes memory error free: 5 points
- Project 4B passes memory leak free: 5 points
Grading will not be curved:
- 95, 100 points: A
- 90 points: A-
- 85 points: B
- 80 points: B-
- 75 points: C
- 70 points: C-
- 65 points: D
- 60 points: D-
- less than 60 points: F
Course Materials
We will sometimes incorporate the textbook by Prof. Sventek: C and Data Structures -- A Well Structured Approach. Specifically, we will use chapters 2 and 3, which cover Unix and C.
The textbook is being provided for free (in electronic form) for students of this course, and has been uploaded to Canvas. Please note the legal
statements on the first page of the textbook. In particular, you may not post or reproduce the electronic version.
Quoting from the book:
- This book contains copyrighted material. You may use it for this class under
the following constraints:
- Permission is granted for one time classroom use for registered learners
only. The duration of use is only for the duration of the course. The
material may not be published and distributed outside of the course.
- Thus, you may make a copy for your use on your own machine. You may
NOT share this book with anyone outside of the class, nor may you post it
ANYWHERE on the web, Facebook, or any other social media platform.
- Failure to abide by these rules will lead to significant legal difficulties for the
University, the Department, your instructor, and yourself.
Academic Misconduct
- The programming projects are individual efforts
- You may discuss the projects with your classmates.
- Do not let someone look at your code on your screen.
- Absolutely, positively do not email code.
- Do not search the internet for previous implementations.
- If I detect collusion, all individuals involved will receive
an F in the course immediately
- I choose to not enumerate cases that involve collusion. Having a conversation without showing code is as far as you should go. Whiteboard conversations are fine. If you feel you are in a gray area, then you should email me.
- Please note that if you are the one providing too much help, then you will also get an F
Form from the first day of class.
University COVID Policies
Academic Disruption
In the event of a campus emergency that disrupts academic activities, course requirements, deadlines, and grading percentages are subject to change. Information about changes in this course will be communicated as soon as possible by email, and on Canvas. If we are not able to meet face-to-face, students should immediately log onto Canvas and read any announcements and/or access alternative assignments. Students are also expected to continue coursework as outlined in this syllabus or other instructions on Canvas.
In the event that the instructor of this course has to quarantine, this course may be taught online during that time.
COVID Containment Plan for Classes
As the University of Oregon returns to in-person instruction, the key to keeping our community healthy and safe involves prevention, containment, and support. Here is information critical to how the UO is responding to COVID-19.
- Prevention: To prevent or reduce the spread of COVID-19 in classrooms and on campus, all students and employees must:
- Containment: If a student in class tests positive for COVID-19, all relevant classes will be notified via an email by the Corona Corps Care Team with instructions for students and staff based on their vaccination status. Specifically:
- Vaccinated and Asymptomatic students: Quarantine not required, but daily self-monitoring before coming on campus is advised; sign up for testing through MAP 3-5 days after exposure if advised you are a contact.”
- Unvaccinated or partially vaccinated students: 14-day quarantine advised – do not come to class – and sign up for testing 3-5 days after notification through MAP, if asymptomatic, or through University Health Services (541-346-2770) or your primary care provider, if symptomatic.
- Symptomatic students: stay home (do not come to class/campus), complete the online case and contact form, and contact University Health Services (541-346-2770) or your primary care provide to arrange for immediate COVID-19 testing.
Students identified as close contacts of a positive case will be contacted by the Corona Corps Care Team (541-346-2292).
- Support: The following resources are available to you as a student.
Good Classroom Citizenship
- Wear your mask and make sure it fits you well
- Stay home if you’re sick
- Get to know your neighbors in class, and let them know if you test positive
- Get tested regularly
- Watch for signs and symptoms with the daily symptom self-check
- Wash your hands frequently or use hand sanitizer
Complete the UO COVID-19 case and contact reporting form if you test positive or are a close contact of someone who tests positive.