You will need a laptop and will need to have it with you every day in class. The laptop may be Windows, Linux or a Mac. You must be able to install
We will do these installations during the lab in the first week.
I highly recommend that you find a way to backup your PC weekly. If there are 30 people in the class,
it is highly likely that at least one person's laptop's hard drive will crash during the semester.
If you have not backed up your documents, you could lose everything (backing up is a good habit to maintain).
Attendance: attendance is optional. However, you will do poorly if you skip class regularly (this has been proven time and time again). If you will miss class due to illness or some other legitimate reason, you must inform me before class that you will miss class that day. Also, class attendance is factored in to the Class Investment grade.
Some things to note:
Late assignments: Assignments are found here, and their due dates will be in moodle. Assignments are due at midnight on the due date. Assignments that are submitted late receive at most 75% full credit. No assignments which are more than one week late will be accepted.
A word to the wise: Note that people who are new to computer programming sometimes think they can do an assignment at the last minute and get it working. But, computer programming is not like writing a paper, where you can have undeveloped or faulty arguments, missing sections, etc., and still have something to submit. In computer programming, if something isn't working, you can't fake it and hope for the best. It either works or it doesn't, and it is often very easy to tell.
Office Hours / Help outside of class: I generally don't officially post office hours, because students generally come asking for help at any time of the day or night anyway. Instead, my office hours are any time that I am in my office. My schedule is posted here.
If you need help with an assignment, please come ask for help.
Accommodation statement: Calvin College will make reasonable accommodations for persons with documented disabilities. Students should notify a disability coordinator in the Center for Student Success (located in Spoelhof College Center 360) in order to arrange accommodations. Then, come and talk to me within the first two weeks of class so we can put your accommodations in place.
Working together / cheating: 1) Don't cheat! 2) You may work in pairs when doing the lab assignments. 3) You may, and often should, collaborate in discussion, design, and debugging for projects. However, you must write your own code for the projects. Some semesters some students try to cheat and they are usually caught. Take note.
The general format of the course is this:
The last part of the semester will be dedicated to designing, implementing, testing, debugging, and documenting a large project in your area of interest. You will need to make a presentation in class using PowerPoint. The project and presentation are a large part of your grade for this class.
Why I teach this way:
My goal as a teacher is to help students learn -- it is not to make a student's life miserable, or to make money, or to "get through the material". So, the more a student learns, the better I am doing. But, I don't want students to just learn lots of stuff. I want them to learn deeply. I'd prefer that we cover less material, but students learn it more deeply, than to cover more material and have shallow learning, which students will forget after each test.
Another way to state my goal is to look at Bloom's Taxonomy -- a classification of levels of learning. Reading and listening are good foundations, but do not foster deep learning. Instead, asking questions, evaluating material, and creating knowledge foster deeper learning.
Labs, which happen on Thursdays, will be due by ??????. But, the labs should be doable within the 2 hour class period. I will encourage or even require you to work on labs in pairs, and submit one result, with both your names on it.
Homework is to be done individually. You may consult with others, but you alone are to work on your own code. Homework is due 1 week after it is assigned: typically assigned on Wednesday and due the next Tuesday, at midnight.