CMSE 202 Syllabus (Fall 2020)

Table of Contents

General Information

Course Description

A useful definition of computational science is "the use of computers to analyze and solve scientific problems". Over the course of this semester, we will explore various aspects of computational science building off of lessons learned in your introductory programming class (CMSE 201). The continuation of the introduction to computational modeling and data analysis focuses on standard methods and tools used for modeling and data analysis. Topics may include statistical analysis, symbolic math, linear algebra, simulation techniques, and data mining.

In addition, we will explore application-driven modeling of various systems, with applications to the physical, life, and social sciences, and also to engineering and mathematics. While we will learn some computer programming over this semester, the goal is utilitarian -- this is a course in applied computing, rather than a course intended for beginning computer science majors!

By the end of this course, you will be able to:

  1. Design and write programs to solve common problems in a variety of scientific disciplines.
  2. Identify and analyze appropriate pre-existing techniques, software packages and computing libraries to use in programs to solve scientific problems.
  3. Choose appropriate algorithms and data types to break down scientific problems into manageable components.
  4. Use modern software development methods and tools to construct reusable programs.
  5. Create computer automated workflows to manipulate, analyze and visualize datasets and use this data to evaluate scientific models.
  6. Demonstrate the ability to work in diverse groups to develop scientific software.
  7. Explain the results from a scientific computing problem and present it both verbally and in writing.

Finding Course information

All course information will be posted on the cmse202 web site . If you have questions, please check there first.

  • All source information: pre-class and in-class materials, Homework material, help guides etc. will be found on the course web page. Our hope is that this makes the web page the one place you need to use to find out information about the course and all of the course's materials.
  • We will use d2l.msu.edu for the following:
    • We will use D2L as a hand-in site. Any notebook that must be submitted by a particular time will go to D2L. This includes pre-class, in-class and Homework notebooks.
    • All grades will be recorded on D2L. At any time you should be able to see your grade for any assignment was due. Thus if a mistake is made, you have an opportunity to let us know

We will also host online helproom hours with TAs and instructors. See the TA page for details.

Required Reading Materials

There are no required books nor any coursepacks. We will provide Jupyter notebooks and external materials as necessary

Nonetheless, if you like extra reading material (not required) here are some sources. Note they have some overlap but each can provide some good reference material for future use:

  • "Python for Data Analysis", We McKinney, O'Reily Books
  • "Practical Statistics for Data Scientists", Peter Bruce and Andrew Bruce, O'Reilly Books
  • "Python Machine Learning", Sebastian Raschka (MSU grad) and Vauhid Mirjalili, Packit Books

Slack

We will be using Slack (http://slack.com) as our means of communicating outside of scheduled class times about course content as the semester progresses and you are expected to monitor Slack regularly. We believe that this will provide an excellent avenue to have discussions not only with course instructors, TAs, and LAs, but also between you and your fellow classmates. In order to join the Slack team that we have created for the course you should complete the following steps:

Go to https://cmse-courses.slack.com/signup Once there, sign up using your @msu.edu email address. Important: When you create your account, use your MSU NetID as your user name and set up your display name to be the name you prefer to go by, including your last name. This will make it easier for your instructors to recognize you within the Slack channels.

Once you've joined the CMSE Courses Slack team, you'll need to add yourself to two channels. The first channel you should add yourself to is "cmse202-f20-help". The second one you should add yourself to is "cmse202-f20-###" where "###" corresponds to the section of the course that you are enrolled in. To add yourself to these channels, click on the “+” next to the "Channels" header and “browse” for the appropriate channel -- double check that you are adding yourself to the correct channel.

The "help" channel will be the place to go for any questions about assignments in the course or issues you're having with your computer or Python. We encourage you to help out other classmates when you can! The section-specific channel will be used by your instructor for important messages relevant only to your section of the course.

In order to ensure that Slack is an appropriately used tool that does not become overly time-consuming for the course instructors, TAs, or LAs, we have a list of rules for how we expect you to use Slack. They are:

  1. Before you ask a question, be sure to check the other session channels to see if the question has already been answered.
  2. The Slack team is primarily for you, the students, to help each other.
  3. The TAs and LAs will monitor the channels, but will defer to the students to work through things. They will only enter a conversation if students are going down the wrong path and/or there are too few other students involved. However, you should not expect that the TAs or LAs will always be available. The TAs and LAs will spend a limited amount of time “logged in” to Slack and we ask that you be respectful of their time.
  4. Slack is meant to be used to help you when you are stuck with a minor issue. If you are having major issues or trouble understanding the concept, go to office hours. Office hours are meant for more in-depth discussions of course content.
  5. Course instructors will rarely check Slack, only to examine progress. While they may offer help, do not rely on it. Instructors will not respond to the same student twice within a 30 minute time interval.
  6. Only in rare cases should you contact an instructor through a private channel. But, if you are struggling, feel free to use this option.
  7. Do not post your solutions to out-of-class assignments directly into Slack unless prompted by an instructor.
  8. Be courteous to everyone on Slack. Students who are being rude or who are excessively posting might be banned from posting on the course Slack channel.

Attendance

Your section has two scheduled lab times each week. You are expected to attend these lab sessions via zoom synchronously . That is, you are expected to be on zoom at the scheduled time and work with the instructor and your group during this time.

You cannot receive credit for doing the in-class work of a lab section without attendance. That is, the TAs will go round to each group during the course of the lab and check off that you did the in-class work. If you were not there to get checked off, then you will not get credit for the in-class session.

If for some reason you cannot attend during your scheduled lab section, you must contact your instructor and let them know the reason for your absence, preferably ahead of time.

Grading

Activity Grade Percentage

Pre-Class 10%
In-Class 10%
Midterm 15%
Final 15%
Homeworks (5 * 6%) 30%
Group Project 20%
Grade Point Grade Percentage

4.0 ≥ 90%
3.5 ≥ 85%
3.0 ≥ 80%
2.5 ≥ 75%
2.0 ≥ 70%
1.5 ≥ 65%
1.0 ≥ 60%
0.0 ≤ 60%

"Good Faith Effort"

As mentioned in Attendance above, you are expected to be synchronously on zoom during the class time to receive credit for the in-class. TAs will check you out before the zoom session ends.

Similarly, the TAs will look at the pre-class material that you hand in to see what you did

In both cases, the TAs are looking for what I call "good faith effort". It may be the case that you did not complete all the work requested, but you tried . The pre-class and in-class are practice. Practice does not necessarily mean perfect, but it does require effort. That is all we ask, that you put in good faith effort to complete the work.

If the TA or instructor decide that little to no work was done, then no credit will be given

Class Elements

Pre-class The weeks pre-class assignments will be made available as Jupyter notebooks to be filled out at the beginning of the week. They are due, turned in to D2L, before the class. TAs will check each week that they were done on time and "reasonably" completed.

In-class We will conduct the in-class portion as a synchronous zoom meeting at the scheduled section times. We will meet at the scheduled section time on zoom. The instructor will introduce the in-class material for the day and then the class will break up into groups to work on the in-class notebooks. The instructor material will be recorded and made available to the class. Please refrain from making the material available outside of our class.

Homework 5 homework projects will be assigned during the course of the semester. These are individual projects, to be done without collaboration.

Midterm and Final We are planning to have both a synchronous midterm and final over zoom. We will discuss this a bit more when the time comes but we will use zoom to observe you while you are taking the test.

Group Project Over the course of the semester we will assemble groups to work on a group project due at the end of the semester. More details on the project will be provided

Accommodations/Illness

We certainly hope that we can all stay healthy during this semester, but if you do become ill, please remember to focus on taking care of yourself. As for the course, here is some information:

  • A student who is unable to complete an assignment by the specified due date because of illness or a personal emergency should contact their instructor. If the student's explanation is acceptable, the assignment due date will be extended (or their instructor will make other appropriate arrangements).
  • A student is allowed to miss up to two scheduled in-class sessions without penalty so illness or personal emergency can be accommodated without needing to notify us. If a long-term illness or personal emergency consumes more than two, the student needs to contact their lecture instructor.
  • If you are out for an extended period of time, you can contact the university about your options. Please see: https://deanofstudents.msu.edu/medical-leave . There is also information about the refund polity at https://reg.msu.edu/AcademicPrograms/Print.aspx?Section=443

Other Accommodations

  • To be eligible for credit, each solution to an assignment must fulfill the published requirements, must be submitted by the published due date, and must be your own work.
  • Accommodations will be made for religious observances if requests are made well in advance. Since religious observances are usually known at the beginning of class and assignment due dates are in the schedule, we expect students to request accommodation at the beginning of the semester. See MSU's policy on Religious Observance for more details.

Instructor illness:

In the event that one of the instructors gets ill, the course will continue. There are three instructors, three TAs and 6 LAs. We can fill in for anyone that cannot make a class.

Inclusive classroom behavior

Respectful and responsible behavior is expected at all times, which includes not interrupting other students, refraining from non-course-related use of electronic devices or additional software during class sessions, and not using offensive or demeaning language in our discussions. Flagrant or repeated violations of this expectation may result in ejection from the classroom, grade-related penalties, and/or involvement of the university Ombudsperson. In particular, behaviors that could be considered discriminatory or harassing, or unwanted sexual attention, will not be tolerated and will be immediately reported to the appropriate MSU office (which may include the MSU Police Department).

In addition, MSU welcomes a full spectrum of experiences, viewpoints, and intellectual approaches because they enrich the conversation, even as they challenge us to think differently and grow. However, we believe that expressions and actions that demean individuals or groups comprise the environment for intellectual growth and undermine the social fabric on which the community is based. These demeaning behaviors are not welcome in this classroom.

Honors Option

According to the CMSE department and the Honors College:

In general, the Honors Option designation will be given only to students who earn a 3.5 or 4.0 in the course under the same criteria applied to all other students in the course and who have done a significant project (research paper, a major extension of course material, etc.) that is in addition to the regular requirements in the specific course. Completion of extra homework problems does not meet the high standards for Honors Option designation expected by this department.
See: Honors Option Authorization

In order to earn an Honors Option in this course, you need to:

  1. Fill out an Honors Option Agreement Form (see: Form)
  2. Complete the Honors Project with full points by the due date for the last regular project in the course. (The Honors Project will be released midway through the semester.)
  3. Earn a 3.5 or 4.0 in the course.

Note: Only students enrolled in the Honors College are able to earn the Honors option for a course.

The Honors Project is not worth any points that count towards a grade. It is not extra credit. In general, we won't provide assistance in completing it as the Honors Project is meant to be solved independently of instruction.

Talk to your instructor to see what they require to fulfill the requirements of an Honors Project.

Academic Honesty and Collaboration

The Spartan Code of Honor Academic Pledge

As a Spartan, I will strive to uphold values of the highest ethical standard. I will practice honesty in my work, foster honesty in my peers, and take pride in knowing that honor in ownership is worth more than grades. I will carry these values beyond my time as a student at Michigan State University, continuing the endeavor to build personal integrity in all that I do.

Collaboration On Homework Assignments

Each assignment submission is electronically and manually compared to all other solutions (in this course and previous offerings) to identify similar solutions.

Under no circumstances should you share any part of an assignment solution with another student. Simply showing your solution to another student almost guarantees detection by the plagiarism software: past experience shows that a student who asks to "look at" your solution will copy parts of it or pass it along to someone else who copies it.

Plagiarism (unsourced use of other's intellectual property) is not allowed. However, citing and using other's works is generally fine (please ask if uncertain) as long as the material wasn't made specifically for solving assignments for this class. Additionally, the use of material from previous semesters and code from other students in the class are explicitly instances of academic dishonesty. Intellectual collaboration with other students in the class is allowed, but each student should write (and not share) their own code. If a student submits code that they don't understand, such is also an act of academic dishonesty.

There is one exception to the above policy, the in-class labs. The in-class lab assignments are intended to be solved collaboratively, and you are allowed to share your solutions with other students. However, you may only share with your group to allow everyone the opportunity to solve the assignment. Please refrain from making public posts about lab solutions, while the lab is currently active, so that other students have the opportunity to complete it.

Miscellaneous

Grief Absence Policy

If some unfortunate circumstance occurs that would lead you to have unexpected absences, MSU has a Grief Absence Policy. You need to contact the Associate Dean, and we will make every effort to aid you in continuing the class after we receive confirmation from the administration.

Incomplete Grades

According to the university, the grade of "incomplete" is reserved for "exceptional cases, where an unanticipated event beyond one's control interferes with a student's completion of course requirements."

Regrades

Requests for regrading can go in either direction; we are often generous when we first grade something, so please be sure that we did make a mistake before you submit your request. On the other hand, our goal is for you to understand the course material, so we will always be willing to explain to you any portion that you are stuck on. All requests for regrades must come within one week of the return of the graded item. Thereafter, no requests will be considered, so be sure to review your returned assignments promptly.

Resource Center for Persons with Disabilities

Michigan State University is committed to providing equal opportunity for participation in all programs, services and activities. Requests for accommodations by persons with disabilities may be made by contacting the Resource Center for Persons with Disabilities at 517-884-RCPD. Once your eligibility for an accommodation has been determined, you will be issued a verified individual services accommodation ("VISA") form. Please present this form to me at the start of the term, or as early as possible. Requests received after this date will be honored whenever possible.

Acceptable use of Computer Systems

All students are expected to be responsible users of the computer system provided for this course. Account usage guidelines are provide by Michigan State University Acceptable Use Policy

Other Notes

The instructor reserves the right to modify course policies, the course calendar, and assignment specifications.

Remember the Goal

The goal of this class is for you to learn. If you find that anything is coming in your way of that goal, please talk with us about it. We plan to keep the class flexible to the learning styles that seem to work best for the students, so feedback is always appreciated. In particular, due to the current state of affairs because of the ongoing global pandemic, we understand that you might need additional support. Please don't hesitate in reaching out to us for anything that might affect your learning.