Course Description
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.
Prerequisites: CIS 314
Instructor: Jee Whan Choi
Office: 328 Deschutes
TA: Tamanna Saini
TA Office: 237 Deschutes
LA: Troy Clendenen
LA Office: https://uoregon.zoom.us/j/4054254246
Lecture: MW 10:00 - 11:20 (in-person) @ 128 CHI
Lab: F 10:00 - 10:50 (in-person) @ 128 CHI
Professor Office Hours: MW 11:30 - 12:30 (in-person) or by appointment
TA Office Hours: M 12:30 - 13:30, T 13:00 - 15:00, Th 12:00 - 13:00 (in-person)
LA Office Hours: Th 16:00 - 18:00, F 7:30 - 9:30 (Zoom) or by appointment
Contact: jeec,tamannas,tclenden [at] uoregon.edu
Textbooks
- C and Data Structures - a well-structured approach, Joseph S. Sventek.
- On Canvas (do not distribute)
- Computer Systems, by Randal E. Bryant and David R. O’Hallaron
- Thinking in C++: Introduction to Standard C++, 2nd Edition, Volume 1, by Bruce Eckel.
- Thinking in C++: Practical Programming, 2nd Edition, Volume 2 , Bruce Eckel.
- Useful as a detailed reference on more modern C++ features:
- C++ in One Hour a Day, Teach Yourself, 8th Edition, Siddhartha Rao, 2017.
Accessible Education
The University of Oregon is working to create inclusive learning environments. Please notify me if there are aspects of the instruction or design of this course that result in disability-related barriers to your participation. You are also encouraged to contact the Accessible Education Center in Oregon Hall, Suite 360 at 541-346-1155 or uoaec@uoregon.edu.
It is particularly important that you inform the instructor in the first week of the quarter if you require accommodation. Delayed notification of such a requirement may make it impossible to provide the accommodation.
Grading Policy
All assignments will be graded on functionality and aesthetics. Each problem on an assignment will be graded as a whole. Code that does not compile with the “-std=c11” flag for C and “-std=c++14” for C++ (as supported by gcc versions 4.9 or newer) will be assigned 0 points, no exceptions. Functioning code will be examined for proper use of comments, readability (appropriate whitespace and indenting), and understandability (use of intuitive variable names and language constructs). In short, code with proper functionality is expected, but understandable code is equally important.
There will be opportunities for extra credit in assignments and exams. In addition, lab attendance and work will contribute 10% of your total grade. You can miss one lab without penalty, but ensure that you notify the instructors in advance.
Letter grades will be assigned using the following grading scheme:
Score | Letter Grade |
---|---|
97 - 100 | A+ |
93 - 96 | A |
90 - 92 | A- |
87 - 89 | B+ |
83 - 86 | B |
80 - 82 | B- |
77 - 79 | C+ |
73 - 76 | C |
70 - 72 | C- |
67 - 69 | D+ |
63 - 66 | D: |
60 - 62 | D- |
< 60 | F |
The total score will be computed as follows:
Criteria | Percentage |
---|---|
Homeworks | 40% |
Lab | 10% |
Quiz | 10% |
Midterm | 20% |
Final | 20% |
Missed Exam Policy
Students must contact the instructor PRIOR to missing an exam to schedule a makeup exam. Otherwise, makeup exams will only be offered in cases of documented emergencies.
Late Assignment Policy
Late submissions will not be accepted unless prior arrangements have been made with the instructor at least 24 hours before the due date and time. Under no circumstances will late submissions be accepted after the solution has been discussed in class.
Plagiarism
Discussion of course material and collaboration with other students is encouraged but each student must write/type and submit his/her own solution. Your code and proofs (if applicable) should never contain sections which are identical to the submission of another student, past or present. Submitted work must be entirely that of the student(s) whose name(s) appear(s) on the submission and not solicited in any way from others. Violation of these policies can result in automatic failure of the course.
Any use of code from a source other than the course textbook or the examples from lectures/labs needs to be explicitly cited in the comments of your submitted code. Submissions will be analyzed using Moss when applicable.
See the University of Oregon’s policy on academic misconduct for more information.
Staying Safe in Classes
As the University of Oregon continues in-person instruction, instructors and students play a key role in keeping our community healthy and safe.
Prevention: To prevent or reduce the spread of COVID-19 in classrooms and on campus, all students and employees must:
- Comply with vaccination policy
- Wash hands frequently
- Complete daily self-checks
- Say home/do not come to campus if feeling symptomatic
- Individuals with no symptoms or mild symptoms can get tested at McArthur Court through UO’s Monitoring and Assessment Program. Masks are required at COVID-19 testing sites including in line outside.
- Visit the Exposure Scenario page page for information on reporting cases.
Support: The following resources are available to you as a student.
- University Health Services or call (541) 346-2770
- University Counseling Center or call (541) 346-3277 or (541) 346-3227 (after hrs.)
- MAP Covid-19 Testing
- Corona Corps or call (541) 346-2292
- Academic Advising or call (541) 346-3211
- Dean of Students or call (541)-346-3216