All required materials for this course are on-line.

Lab Environment:The development tools for this course are pre-installed on the lab machines, but we generally suggest that you install them on your own computer as well. We also provide remote access to the lab machines, see this list of machines and these instructions for using those machines.

Weekly schedule: We will meet for lectures twice a week Monday and Wednesday in the classroom and for a 2-hour lab session on Friday in one of the department labs. The guide assignments are due by the beginning of Monday’s class time, the lab assignments by 11:59pm Saturday and the homework assignments by 11:59pm of the following Saturday.

Team Projects: A major focus of this class is on working as part of a project team. You will divide into teams of 4 to 6 members that will meet with me during the Friday lab periods and also outside of class at a time convenient for your team members. Team project assignments are due by the beginning of the next Friday’s lab period.

Grading:  We will compute your final grade as follows:

Exams are based on all course materials since the previous exam, including readings, lectures, labs, homeworks and project work.

We encourage you to work in teams on the guides, the class and lab exercises, and, obviously, the team project; you must work individually on the homeworks and exams. Your grade on the team project will be based on the grade given to your team as a whole and on an assessment of your contribution to the team’s work. To help with this, We will ask each team member to give a confidential assessment of the contributions of each of their other team members.

Disabilities: Calvin University has a continuing commitment to providing reasonable accommodations for students with documented disabilities. Like so many things this fall, the need for accommodations and the process for arranging them may be altered by the COVID-19 changes we are experiencing and the safety protocols currently in place. Students with disabilities who may need some accommodation in order to fully participate in this class are urged to contact Disability Services in the Center for Student Success, as soon as possible, to explore what arrangements need to be made to assure access.

Incompletes: I will give an incomplete grade (I) only in unusual circumstances, and only if those circumstances have been confirmed by the Student Life office.

Late Work: We will clearly indicate a due date for all assignments. Anything submitted up to one week after that date is late, unless you have made prior arrangements with me. For each late paper, you will be charged 10% for each business-day that you are late. Thus, if a homework is due on Friday, you may turn it in on Monday at 10% off, Tuesday at 20% off and so on. We will not accept work that is more than one week late unless you talk to us about the circumstances and negotiate a late-submission plan. We will generally grant up to 33% for these negotiated plans. We will also grant you 4 grace days with no penalty, no questions asked. Please note that grace days do not apply to the team project and that we do not accept or negotiate for late work after the last day of class. This policy applies to both individual and to team work. If there are exceptional circumstances, please talk to us so we can work something out.

Academic Integrity at Calvin: The student-faculty relationship is based on trust and mutual respect, which can be seriously undermined by the suspicion or reality of academic dishonesty. Academic Dishonesty includes, but is not limited to, plagiarism (students plagiarize when they do not credit the sources of their writing - the words, information, ideas, or opinions of others), improper group work, reuse of a paper from another course and/or cheating on a test. Students are encouraged to speak to their faculty member with specific questions related to academic dishonesty. For further clarification or information, please visit

Academic Integrity in Computing: Code re-use can be a valuable practice in computing, but mindlessly copying code is not an effective way to learn programming and reusing code or algorithms without attribution is plagiarism. If you’ve copied code with attribution, I’ll grade you on the code you wrote not on the code you copied. If we detect copying without attribution, i.e., plagiarism, we’ll give you a failing grade for the assignment and perhaps for the course.

Responsible Use of Technology: You are expected to abide by the guidelines expressed in the policies given in Calvin’s Technology Policy Documents. Offensive material is not filtered in the lab; however, all web accesses are logged. These logs are checked monthly, and violators are reported to Student Life.

Diversity and Inclusion: It is our intent that students from all backgrounds and perspectives are well served in this course. God delights in diversity; so will we in this course. If you or someone else is hurt by anything said or done in class, let us know so we can work toward a remedy.

Etiquette: We expect you to treat students and instructors for this course with respect by adopting courteous communication practices throughout the semester in all venues, including online forums. No personal attacks, trolling, or other kinds of bad language will be tolerated.