CIS 212: Computer Science III

Lecture Time: Tues/Thurs 10:00-11:20
Lecture Location: 123 Global Scholars Hall

Instructor: Hank Childs
Instructor Office Hours: Monday 1030-1130, Thursday 1230-130
Office Hours Location: 301 Deschutes Hall

Teaching Assistants: Zayd Hammoudeh, Priya Kudva, Viet Lai
TA Office Hour Locations: B004A Price Science Commons
Priya OH: Tuesday 1130-1230, Friday 1230-130
Viet OH: Tuesday 5-6, Wednesday 5-6, Thursday 5-6, Friday 4-5
Zayd OH: Monday 5-6, Wednesday 2-3


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.

Course Materials

We will use the textbook by Prof. Sventek: C and Data Structures -- A Well Structured Approach. 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:

Virtual Machine

We will be using a virtual machine. The link for the machine is here. All grading will happen on this virtual machine, so it is important that you test your projects on the machine. The appendices from the textbook on setting up our virtual machine can be found here.


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.


Note: the projects will be adapted to the pace of the class. As a result, these percentages may be changed slightly. No project will change by more than 5% in total. Further, the Final will stay fixed at 30%.

Project 1: Learning Unix

Project 2: Learning C

Project 3: Data Structures

Academic Misconduct

Form from the first day of class.


I have set up a forum on Piazza. The TAs and I will monitor (and respond) to the forum and encourage you all to do the same. I may award extra credit to students who are particularly helpful on the forum. The amount of credit will vary based on involvement, with a maximum of 5%.

Late Policy

You have 2 "late passes." Late passes allow you to turn in your project (specifically a sub-project, i.e., 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 the Final (Monday December 3rd, 2018 at 8am), I will no longer accept homeworks. (NOTE: I have extended this date to Weds December 5th. See Piazza for more information.)

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 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.


Contact Information

Email: hank at
Phone: (541) 346-3414 (terrible way to get in touch with me!)
Fax: (541) 346-5373

301 Deschutes Hall
1202 University of Oregon
Eugene, OR 97403-1212 USA