Welcome to CS 106, Introduction to Scientific Computing and Modeling. This course introduces students to computer programming, emphasizing how computing can be used as a tool for scientific inquiry.
Why programming?
How?
We will be using the Python programming language, which is one of the most popular programming languages because it is both beginner-friendly and very powerful.
I have designed this course to be interactive and engaging. The course structure uses insights from the science of how people learn.
Students successfully completing this course will demonstrate that they can:
Moodle is the home page for all class materials. It will include links as necessary to other materials including:
We will be using the Thonny development environment, which includes Python 3.
XXL edition of Thonny, which you can get for Windows, Mac, or Linux.
We will proceed one unit per week. To succeed, you’ll need to complete the following assignments each week.
Details for each specific week will be on Moodle.
Unless otherwise stated, assignments must be submitted by 11:59PM on the due date. The Moodle calendar will list these due dates/times.
You will generally find the course staff responsive during the week but less so on the weekend, particularly Sunday, as we try to observe a Sabbath rest in our own schedules.
A word to the wise: Starting early is essential to success in programming. Newcomers sometimes think that they can start an assignment at the last minute and do reasonably well. Programming isn’t like writing a paper, where you can have partially developed arguments and missing information but still have something to submit. In programming, it either works or it doesn’t, and it is often very easy to tell. Most programming problems at this level require several rounds of trying and taking a break.
| Weight | Component | Details |
|---|---|---|
| 10% | Participation (daily) | Preparation assignments and retrieval quizzes will help you learn the fundamentals. |
| 10% | Lab exercises (weekly) | These give you practice with programming in a highly structured environment where a lot of help is available. |
| 30% | Homework and Perspectives (weekly) | These give you practice in solving open-ended problems with less structure and help. |
| 10% | Take-home Quizzes (weekly) | These are practice for exams, designed to help you gauge your learning and strengthen your knowledge. If you are doing well on quizzes, you will probably find exams easy. Your score for each quiz will be the best of two attempts; for your first attempt you should attempt to solve all problems without getting help or looking anything up. |
| 15% | Midterm Exams (2) | These assess how much you have learned so far (cumulative). Dates are Friday Oct 15 and Friday Nov 12. |
| 15% | Final Exam | This assesses your overall course learning. Our university-scheduled time slot is Monday Dec 13, 1:30-4:30pm. |
| 10% | Final Project | This is a fun way to demonstrate what you’ve learned! |
Occasionally there are special circumstances that require that course policies be adjusted for a particular student. In such cases, it is the responsibility of the student to inform me of the situation as soon as possible, so that the appropriate arrangements can be made. This includes, but is not limited to, students with documented 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 (disabilityservices@calvin.edu) as soon as possible to explore what arrangements need to be made to assure access. The three of us (student, instructor, and Disability Services) will work together to come up with an appropriate solution.
We will give a grade of Incomplete (I) only in unusual circumstances that have been confirmed by the Student Life office.
A wide range of things can interfere with your learning: trouble concentrating, stress/anxiety, relationship troubles, family situations, food or housing insecurity, substance use, and many more. You are encouraged to care well for yourself by keeping a consistent sleep schedule, eating well, avoiding drugs and alcohol, exercising, and taking time to relax and connect with friends and family.
Also, learning how to ask for help is an important part of the college experience. Many people on campus are eager to support you. The Center for Counseling and Wellness sees one out of five students each year and can connect you with a variety of mental health resources on and off campus. You can also reach out to me, another faculty/staff, a friend, or a family member you trust for help getting connected to support. You are not alone, and help is available!
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, we’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 be forced to give you a failing grade for the assignment and perhaps for the course. Additionally, we will report you to the office of Judicial Affairs, which may result in the incident being part of your student record.
Calvin’s General Statement on Academic Integrity: 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 https://calvin.edu/directory/policies/academic-integrity-policy
This course was previously offered by Dr. Victor Norman, and many of the materials were originally developed by him.
This course also includes material from prior versions of CS 108, co-taught by Prof Arnold and Prof Vander Linden.