Syllabus for Fall 2023 CS 212

Introduction to Course and Instructors

Instructor Information

Course Description

Basic concepts and practices of computer science. Topics include algorithmic problem solving, levels of abstraction, object-oriented design and programming, software organization, analysis of algorithm and data structures. This is a sequence course, following onto CS 210 and CS 211.

This is a projects-driven class. The projects will help prepare you for the rest of the major, and also for professional employment. I ask you put a lot of time into this course, and I believe the payoff will be significant for each of you.

The projects in this class will be hard work. It is difficult to quote exactly how much time, since there is variation in background and programming skill. I expect those who have less developed programming skills will find this class to be a considerable effort, but also that they will have significant improvement by the end of the course.

There will be 3 flavors of projects, and each project will contain multiple sub-parts. In total, we will have about 2 projects per week.

Course Objectives

The high-level objectives of the course are to develop proficiency in working in Linux, programming in the C language, and constructing and using basic data structures. The complete set of learning objectives can be found here.
CS 212 is a required course for CS/MACS majors and minors.

Course Modality

This is an in-person course, and I expect you to attend every lecture and lab in person. That said, you may attend lecture remotely via Zoom if you are sick or have a concern about exposing people to illness.

In lecture, role will not be taken. Instead, there will be a Canvas quiz every lecture (give or take) and these quizzes count towards your exam grade. Missing these quizzes at a high rate will significantly affect your grade.

In terms past, you could only take the quiz if (1) you were in person or (2) you were a remote attendee and you notified me before class began. This term, I will experiment with different policies in an effort to reduce student stress and yet still incentivize attending class. In lab, roll call will be taken. 10 points of your exam grade is based on attending labs.

Finally, there are exceptions to this policy for religious reasons, university-sponsored events, and accessible education. For more information, see the UO-wide policy.

Technical Requirements

We will use Canvas as our hub for this course, including assignments, lectures (both slides and Zoom recordings), discussion, and announcements.

Every student will need to be able to run the VirtualBox program, which requires owning a computer. Also, there will be a quiz each lecture on Canvas. In previous terms, all students have brought their laptops to class to take the quiz. That said, as an alternative, I will put the quiz on the projector and you can fill out a piece of paper during class and submit quiz answers that way.

Course Policies

Communicating with the Instructor Team

How the instructor team will communicate with you: What about when you want to communicate with the instructors? Since there are over one hundred students in this course, the TAs will necessarily play a critical role in responding to many issues. These bullets shows who to communicate with for different situations. In all cases, you should do this contact via email.

We have a 24-hour policy for response time. If you have sent an email and it has not been responded to within 24 hours, then feel free to resend and just reference this policy. That said, the 24-hour policy does not cover weekends. For example, we endeavor to respond to an email that arrived at 3pm on a Friday by no later than 2:59pm the next Monday.

Community Expectations

We should all treat each other with kindness, respect, understanding, and empathy. This goes in all directions: the instructor team treating students well, students treat instructors well, and students treating each other well. I (Hank) am cheering hard for you all to succeed in this course, and hope we can all row together in one direction. Please keep in mind that I make mistakes and show me empathy. That said, you have my commitment to do my best to fix mistakes and help you in this journey.

Course Materials

We will use the textbook written by Joe Sventek, which is available for download on Canvas. Please note that this is only for personal use and you may not post it to the internet for any reason. See the form on Canvas for more explanation.

Absences

As discussed in the Course Modality section, there will be a daily quiz, and one possible policy is that you must be present to take this quiz. As a result, missing many classes (or labs) will affect your grade. Explicitly, if you miss a quiz, it is a zero. You need to be there while a quiz is administered (a zero if you arrive late / left early). If you have an excused reason for missing a class, then you should communicate that in the "Attendance Notes" section. Quizzes from excused absences will be given the average student score. (For example, if a student misses a one point quiz for an excused absence and scored 12/16 on the quizzes they did take, then the student will receive 0.75 points for the quiz at the end of the term.)

If you miss the Final exam period, you may take the Final afterwards for half-credit. Exceptions for full credit will be granted in appropriate situations. These situations include medical emergencies, etc, and do not include oversleeping, forgetting the day of the final, etc. If you are ill for the midterm, then your Final will count extra.

Course Deadlines

This class will have approximately 18 projects, and it is critical that you keep track of these projects and submit them in a timely way. Late projects are worth half credit. That said, you have 3 "late passes." Late passes allow you to turn in your project (specifically a sub-project, e.g., project 1A) two days after the due date for full credit. You may also use two late passes on one assignment and get a four day extension. For example, you submit a project that was due on a Wednesday on Friday (i.e., two days later) and get full credit if you use one late pass. If you run out of late passes, then you may continue to earn half credit on any project up until we take the Final. Once we get to 48 hours before the Final (Weds December 6th at 8am), I will no longer accept homeworks.

Note that projects will initially be marked as late and scored half credit. At the end of the term, you will tell me which projects you want to apply your late passes to, and the scores for those projects will be increased. There is no need to indicate your desire to use a late pass as you submit; I find it often changes as the term goes on.

If you submit a project and I grade it, then you may not submit revised versions and ask it to be re-graded. Therefore you should only submit your project when you are confident.

Grading

Here are approximate breakdowns for the projects and exams. The breakdowns for projects may change +/- 5% as the term goes on. The breakdowns for the tests are firm and will not change. Your grade will be calculated as follows: The two grades will be combined as follows (exam grades are rows, project grades are columns):


Grading rubric:

Generative AI

It is your choice if you want to utilize Generative AI (e.g., ChatGPT) when you pursue the projects. That said, Generative AI will not be allowed during the exams, which are closed book, closed notes. In other words, if you are utilizing Generative AI, it is your responsibility to make sure that you understand the material fully and can produce similarly quality results without it.

Academic Misconduct

What is allowed?:

If Prof. Childs believes a student has been involved with cheating, he will refer the case immediately to the Dean of Students. If the Dean of Students concurs that cheating has occurred, then that student will receive an F in the course immediately. Please note that providing help is cheating and a student providing help will also get an F.

Form from the first day of class.

University Policies

Accessible Education

The University of Oregon is working to create more inclusive learning environments, including for students who identify as having a disability. At UO, 10% of students use the Accessible Education Center (AEC) and nationally an estimated 20% of undergraduates identify as having a disability. If there are aspects of the instruction or design of this course that result in disability-related barriers to your participation, please contact me—your success matters.

You are also encouraged to contact the Accessible Education Center in 164 Oregon Hall at 541-346-1155 or uoaec@uoregon.edu. The AEC offers a wide range of support services including note-taking, testing services, sign language interpretation and adaptive technology.

Accommodations for Religious Observations

The University of Oregon respects the right of all students to observe their religious holidays, and will make reasonable accommodations, upon request, for these observances. If you need to be absent from a class period this term because of a religious obligation or observance, please fill out the Student Religious Accommodation Request fillable PDF formLinks to an external site. and send it to me within the first weeks of the course so we can make arrangements in advance.

Your Wellbeing

Life at college can be very complicated. Students often feel overwhelmed or stressed, experience anxiety or depression, struggle with relationships, or just need help navigating challenges in their life. If you're facing such challenges, you don't need to handle them on your own--there's help and support on campus. 

With respect to this course, I encourage you to reach out to me if you ever need a friendly ear. I truly do care. I also have college-age children, so I understand how this experience can be.

Respect for Diversity

You can expect to be treated with respect in this course. Both students and your instructors enter with many identities, backgrounds, and beliefs. Students of all racial identities, ethnicities, genders, gender identities, gender expressions, national origins, religious affiliations, sexual orientations, citizenship statuses, ability and other visible and non-visible differences belong in and contribute to this class and this discipline. All students are expected to contribute to a respectful, welcoming, and inclusive environment for every other member of the class.

Class rosters are provided to instructors with students’ legal names. Please let me know if the name or pronouns I have for you are not accurate. It is important to me to address you properly.

Mandatory Reporter Status

I am a designated report. For information about my reporting obligations as an employee, please see Employee Reporting ObligationsLinks to an external site. on the Office of Investigations and Civil Rights Compliance (OICRC) website. Students experiencing sex or gender-based discrimination, harassment or violence should call the 24-7 hotline 541-346-SAFE [7244] or visit safe.uoregon.eduLinks to an external site. for help. Students experiencing all forms of prohibited discrimination or harassment may contact the Dean of Students Office at 5411-346-3216 or the non-confidential Title IX Coordinator/OICRC at 541-346-3123.

I am also a mandatory reporter of child abuse.

Academic Disruption due to Campus Emergency

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.

Inclement Weather

It is generally expected that class will meet unless the University is officially closed for inclement weather. If it becomes necessary to cancel class while the University remains open, this will be announced on Canvas and by email. Updates on inclement weather and closure are also communicated as described on the Inclement Weather webpage.